四、数据库的设计

主要内容:

  • 能够说出多表之间的关系及其建表原则
  • 能够理解三大范式

1 多表之间的关系

1.1 一对多(多对一)

  1. 举例:一个部门有多个员工,一个员工只能对应一个部门。
  2. 操作:多方(员工副表) 创建一个字段作为外键,指向 一方(部门主表) 的主键。 在这里插入图片描述
  3. 案例:一个类别对应多条线路。
    -- 创建旅游线路分类表 tab_category
    -- cid 旅游线路分类主键,自动增长
    -- cname 旅游线路分类名称非空,唯一,字符串 100
    CREATE TABLE tab_category (
    	cid INT PRIMARY KEY AUTO_INCREMENT,
    	cname VARCHAR(100) NOT NULL UNIQUE
    );
    -- 添加旅游线路分类数据
    INSERT INTO tab_category(cname) VALUES ('周边游'), ('出境游'), ('国内游'), ('港澳游');
    
    -- 创建旅游线路表 tab_route
    -- rid 旅游线路主键,自动增长
    -- rname 旅游线路名称非空,唯一,字符串 100
    -- price 价格
    -- rdate 上架时间,日期类型
    -- cid 外键,所属分类
    CREATE TABLE tab_route(
    	rid INT PRIMARY KEY AUTO_INCREMENT,
    	rname VARCHAR(100) NOT NULL UNIQUE,
    	price DOUBLE,
    	rdate DATE,
    	cid INT,
    	FOREIGN KEY (cid) REFERENCES tab_category(cid)
    );
    -- 添加旅游线路数据
    INSERT INTO
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值