saolv

一对多关系 

 

  例如:一个人可以拥有多辆汽车,要求查询某个人拥有的所有车辆。

//建立人员表
CREATE TABLE people(
    id VARCHAR(12) PRIMARY KEY,
    sname VARCHAR(12),
    age INT,
    sex CHAR(1)
);
INSERT INTO people VALUES(\'H001\',\'小王\',27,\'1\');
INSERT INTO people VALUES(\'H002\',\'小明\',24,\'1\');
INSERT INTO people VALUES(\'H003\',\'张慧\',28,\'0\');
INSERT INTO people VALUES(\'H004\',\'李小燕\',35,\'0\');
INSERT INTO people VALUES(\'H005\',\'王大拿\',29,\'1\');
INSERT INTO people VALUES(\'H006\',\'周强\',36,\'1\');
 //建立车辆信息表
CREATE TABLE car(
    id VARCHAR(12) PRIMARY KEY,
    mark VARCHAR(24),
    price NUMERIC(6,2),
    hid VARCHAR(12),
    CONSTRAINT fk_people FOREIGN KEY(hid) REFERENCES human(id)
);
INSERT INTO car VALUES(\'C001\',\'BMW\',65.99,\'H001\');
INSERT INTO car VALUES(\'C002\',\'BenZ\',75.99,\'H002\');
INSERT INTO car VALUES(\'C003\',\'Skoda\',23.99,\'H001\');
INSERT INTO car VALUES(\'C004\',\'Peugeot\',20.99,\'H003\');
INSERT INTO car VALUES(\'C005\',\'Porsche\',295.99,\'H004\');
INSERT INTO car VALUES(\'C006\',\'Honda\',24.99,\'H005\');
INSERT INTO car VALUES(\'C007\',\'Toyota\',27.99,\'H006\');
INSERT INTO car VALUES(\'C008\',\'Kia\',18.99,\'H002\');
INSERT INTO car VALUES(\'C009\',\'Bentley\',309.99,\'H005\');

 

 

多对多关系 

 

  例如:学生选课,一个学生可以选修多门课程,每门课程可供多个学生选择

//建立学生表
CREATE TABLE student(
    id VARCHAR(10) PRIMARY KEY,
    sname VARCHAR(12),
    age INT,
    sex CHAR(1),
    class VARCHAR(6)
);
INSERT INTO student VALUES(\'S0001\',\'王军\',20,1,\'c101\');
INSERT INTO student VALUES(\'S0002\',\'张宇\',21,1,\'c101\');
INSERT INTO student VALUES(\'S0003\',\'刘飞\',22,1,\'c102\');
INSERT INTO student VALUES(\'S0004\',\'赵燕\',18,0,\'c103\');
INSERT INTO student VALUES(\'S0005\',\'曾婷\',19,0,\'c103\');
INSERT INTO student VALUES(\'S0006\',\'周慧\',21,0,\'c104\');
INSERT INTO student VALUES(\'S0007\',\'小红\',23,0,\'c104\');
INSERT INTO student VALUES(\'S0008\',\'杨晓\',18,0,\'c104\');
INSERT INTO student VALUES(\'S0009\',\'李杰\',20,1,\'c105\');
INSERT INTO student VALUES(\'S0010\',\'张良\',22,1,\'c105\');

    //建立课程表
CREATE TABLE course(
    id VARCHAR(10) PRIMARY KEY,
    sname VARCHAR(12),
    credit NUMERIC(2,1),
    teacher VARCHAR(12)
);
INSERT INTO course VALUES(\'C001\',\'Java\',3.5,\'李老师\');
INSERT INTO course VALUES(\'C002\',\'高等数学\',5.0,\'赵老师\');
INSERT INTO course VALUES(\'C003\',\'JavaScript\',3.5,\'王老师\');
INSERT INTO course VALUES(\'C004\',\'离散数学\',3.5,\'卜老师\');
INSERT INTO course VALUES(\'C005\',\'数据库\',3.5,\'廖老师\');
INSERT INTO course VALUES(\'C006\',\'操作系统\',3.5,\'张老师\');

    //建立选修表
CREATE TABLE sc(
    sid VARCHAR(10),
    cid VARCHAR(10)
);

ALTER TABLE sc ADD CONSTRAINT pk_sc PRIMARY KEY(sid,cid);
ALTER TABLE sc ADD CONSTRAINT fk_student FOREIGN KEY(sid) REFERENCES student(id);
ALTER TABLE sc ADD CONSTRAINT fk_course FOREIGN KEY(cid) REFERENCES course(id);

INSERT INTO sc VALUES(\'S0001\',\'C001\');
INSERT INTO sc VALUES(\'S0001\',\'C002\');
INSERT INTO sc VALUES(\'S0001\',\'C003\');
INSERT INTO sc VALUES(\'S0002\',\'C001\');
INSERT INTO sc VALUES(\'S0002\',\'C004\');
INSERT INTO sc VALUES(\'S0003\',\'C002\');
INSERT INTO sc VALUES(\'S0003\',\'C005\');
INSERT INTO sc VALUES(\'S0004\',\'C003\');
INSERT INTO sc VALUES(\'S0005\',\'C001\');
INSERT INTO sc VALUES(\'S0006\',\'C004\');
INSERT INTO sc VALUES(\'S0007\',\'C002\');
INSERT INTO sc VALUES(\'S0008\',\'C003\');
INSERT INTO sc VALUES(\'S0009\',\'C001\');
INSERT INTO sc VALUES(\'S0009\',\'C005\');

 

分类:

技术点:

相关文章:

  • 2021-11-29
  • 2021-11-29
  • 2021-11-29
  • 2021-11-19
  • 2021-06-22
猜你喜欢
  • 2021-11-29
  • 2021-11-29
  • 2021-11-29
  • 2021-11-19
  • 2021-11-29
  • 2021-11-19
相关资源
相似解决方案