3.1.1 表的相关设计
创始人
2024-05-27 13:38:36
0

文章目录

  • 1.表中实体与实体对应的关系
  • 2.实际案例分析
  • 3.表的实际创建
  • 4.总结


1.表中实体与实体对应的关系

  1. 一对多
    • 如一个班级对应多名学生,一个客户拥有多个订单等
    • 这种类型表的建表要遵循主外键关系原则,即在从表创建一个字段,此字段作为外键指向主表的主键
  2. 多对多
    • 如一名老师对应多个学生,同样的一名学生也对应多个老师
    • 这种类型的表建表要借助中间表,拆分为俩个一对多的表,使用中间表维持其之间的关系,中间表至少要有俩个字段,分别作为外键指向各自主表的主键
  3. 一对一
    • 如一个账号只有一个账户名,一个密码,在实际开发中,此种关系只需要一张表即可实现;
    • 这种类型的表建表只要保证主键唯一即可,如果涉及多表的情况,要保证主表的外键与从表的外键(唯一)形成主外键关系,外键又是主键;

2.实际案例分析

  1. 设计一个商品的实现案例,其中包含商品的分类信息,商品的具体信息,用户信息表,用户收藏商品详情的表共4张表,需要怎么实现??

  2. 表之间关系的分析

    • 首先,商品表与分类表是一对多的关系,一个分类对应多个商品;
    • 商品表与用户表是多对多的关系,多个商品可以被一个用户收藏,多个用户也可以收藏一个商品;
    • 商品表与收藏中间表是一对多的关系,一个商品可以被收藏多次
    • 用户表与收藏中间表是一对多的关系,一个用户可以收藏多次不同的商品

3.表的实际创建

		-- 创建分类表 category-- cid 分类主键,自动增长-- cname 分类名称非空,唯一CREATE TABLE category (cid INT PRIMARY KEY AUTO_INCREMENT,cname VARCHAR(100) NOT NULL UNIQUE);-- 创建商品表 goods-- gid 商品主键,自动增长-- gname 商品名称非空,唯一-- price 商品价格-- cid 外键,所属分类CREATE TABLE goods(gid INT PRIMARY KEY AUTO_INCREMENT,gname VARCHAR(100) NOT NULL UNIQUE,price DOUBLE,cid INT,FOREIGN KEY (cid) REFERENCES category(cid));-- 创建用户表 user-- uid 用户主键,自增长-- username 唯一,非空-- password 非空-- name 姓名-- sex 性别-- phone 手机号-- 因为password与name容易与sql命令冲突,这里使用``将其括住CREATE TABLE user (uid INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(100) UNIQUE NOT NULL,`password` VARCHAR(30) NOT NULL,`name` VARCHAR(20),sex CHAR(1) DEFAULT NULL,phone VARCHAR(11));-- 创建收藏中间表 favorite-- gid 商品id,外键-- uid 用户id,外键-- gid 和 uid 设置为联合主键,同一个用户不能收藏同一个商品两次CREATE TABLE favorite (gid INT, -- 商品iduid INT, -- 用户idPRIMARY KEY(gid,uid), -- 联合主键FOREIGN KEY (gid) REFERENCES goods(gid),FOREIGN KEY(uid) REFERENCES user(uid));

4.总结

表的设计涉及到很多复杂的业务场景,只要保持好这几种表中的对应关系,将复杂的逻辑拆分开来,就一定可以实现它,但是具体实现的结果,性能的好坏,这需要实际工作经验的支持与后期的学习尝试,所以本小节只做介绍了解,不做更多详细的解读。

相关内容

热门资讯

暖心!“小哥专用卡”能歇脚、可... 转自:千龙网骑电动车送餐途中,不小心摔倒、擦伤手臂,到附近医院“遵小哥”专属窗口出示“遵小哥”暖心卡...
港股概念追踪|多数玻璃企业计划... 近日召开的中央财经委员会第六次会议进一步深化了“反内卷”工作部署,建材行业更多领域加入“反内卷”号召...
这种菜被称为“水中人参” 夏天... 莼菜有“水中人参”的美称夏季尤其推荐你食用有助于解暑热、除烦渴提高免疫力、减重对健康好处多多~1夏季...
比特币刷新历史新高 今日凌晨,比特币首次触及112000美元,刷新历史新高。比特币盘中涨幅最高达3%,今年迄今涨幅约为1...
特朗普政府裁员计划被放行 同这... 新华财经北京7月10日电 美国联邦最高法院8日撤销下级法院命令,允许特朗普政府推进削减联邦劳动力和解...
北京两机场暑运以来实现航班量旅... 转自:北京日报客户端记者昨天(7月9日)从北京首都机场和大兴机场了解到,暑运以来,两家机场实现航班量...
中国不断刷高“印象分”,靠的是... 7月8日,联合国人权理事会第59届会议通过“发展对享有所有人权的贡献”决议,这项决议由中国主提,42...
快手“留不住”周杰伦:账号或成...   文 | 《BUG》栏目 徐苑蕾  7月9日,华语乐坛天王周杰伦正式入驻抖音,账号名为“周同学”,...
2025数字经济论坛在廊坊举办 转自:河北新闻网河北日报讯(记者刘英)7月9日,2025数字经济论坛在廊坊市举办。本次论坛主题为“加...
六月居民消费价格指数同比由降转...   本报北京7月9日电  (记者刘志强)记者从国家统计局获悉:今年6月份,扩内需、促消费政策持续显效...