关系型数据库的设计规则有哪些
本篇内容介绍了“关系型数据库的设计规则有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
E-R(Entity-relationship,实体-联系)模型中有三个主要概念是:实体集、属性、联系集。
一个实体集(class)对应于数据库中的一个表,一个实体(instance)则对应数据库表中的一行,也称一条记录。一个属性对应于数据库表中的一列(column),也称一个字段。
ORM思想(Object Relational Mapping)体现:
数据库表 ↔ Java或Python的一个类
表中的一条数据 ↔ 类中的一个对象(或实体)
表中的一个类 ↔ 类中的一个字段、属性(field)
表关系设计
表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。表关系的四种:
1、一对一关联(one-to-one)
在实际的开发中应用不多,因为一对一可以创建成一张表。
举例:设计学生表
:学号、姓名、手机号码、班级、系别、身份证号码、家庭住址、籍贯、紧急联系人、…
拆为两个表:两个表的记录是一一对应关系。
基础信息表
(常用信息):学号、姓名、手机号码、班级、系别档案信息表
(不常用信息):学号、身份证号码、家庭住址、籍贯、紧急联系人、…两种建表原则: 外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一。外键是主键:主表的主键和从表的主键,形成主外键关系。
2、一对多关系(one-to-many)
常见实例场景:客户表和订单表
,分类表和商品表
,部门表和员工表
。
举例: 员工表:编号、姓名、…、所属部门部门表:编号、名称、简介 一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键
3、多对多(many-to-many)
要表示多对多关系,必须创建第三个表,该表通常称为联接表
,它将多对多关系划分为两个一对多关系。将这两个表的主键都插入到第三个表中。
举例1:学生-课程
学生信息表
:一行代表一个学生的信息(学号、姓名、手机号码、班级、系别…)
课程信息表
:一行代表一个课程的信息(课程编号、授课老师、简介…)
选课信息表
:一个学生可以选多门课,一门课可以被多个学生选择
学号 课程编号 1 1001 2 1001 1 1002
举例2:产品-订单
“订单”表和“产品”表有一种多对多的关系,这种关系是通过与“订单明细”表建立两个一对多关系来定义的。一个订单可以有多个产品,每个产品可以出现在多个订单中。
产品表
:“产品”表中的每条记录表示一个产品。订单表
:“订单”表中的每条记录表示一个订单。订单明细表
:每个产品可以与“订单”表中的多条记录对应,即出现在多个订单中。一个订单可以与“产品”表中的多条记录对应,即包含多个产品。
举例3:用户-角色
多对多关系建表原则:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。
4、自我引用(Self reference)
“关系型数据库的设计规则有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注蜗牛博客网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论