• 数据库中的一对多,多对多实例


    一对多关系 

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

    //建立人员表
    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');
  • 相关阅读:
    自定义组件要加@click方法
    绑定样式
    647. Palindromic Substrings
    215. Kth Largest Element in an Array
    448. Find All Numbers Disappeared in an Array
    287. Find the Duplicate Number
    283. Move Zeroes
    234. Palindrome Linked List
    202. Happy Number
    217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/saolv/p/9283823.html
Copyright © 2020-2023  润新知