2021年07年17日 随堂笔记
回顾
后续讲解
SQL语句
JDBC
MVC
数据结构
集合
每周一休息一天
明天下午讲解第2份作业。
关系数据库
信息管理系统必须要有数据支撑。
数据库发展历史
层次结构
实现复杂。
网状结构
实现复杂
关系模型
使用二维表来描述
引例
学生(学号,姓名,性别,…)
s_id | s_name | s_sex |
---|---|---|
1 | 小明 | 男 |
2 | 小芳 | 女 |
属性列序无关。
建表规则
范式可以理解为约定
第1范式:1NF
在关系表中,所有的属性都是原子属性,属性不可再分,
只满足第一范式,还不可用
1NF的定义为:符合1NF的关系中的每个属性都不可再分。表1所示的情况,就不符合1NF的要求。
第2范式:2NF
在第1范式的基础之上,所有的非主属性,都是依赖于主属性的。
原则:一物一表
二范式就是要有主键,要求其他字段都依赖于主键。
主键
实体完整性约束
实体完整性,由主键决定,录入数据的时候,一定要录入主键
第3范式:3NF
在2NF基础上,任何非主属性不依赖于其它非主属性
在第2范式的基础上,不存在传递依赖
外键
用来实现表和表之间的联系
外键的属性名和原来的属性名可以不一致,但是类型一定要一致。但是实际应用中一定要见名知意,应该把两者写一样。
做到第3范式基本就可以使用了。
参照完整性约束
自定义完整性约束
范式总结:
如何理解关系型数据库的常见设计范式? - 山尽的回答 - 知乎 https://www.zhihu.com/question/24696366/answer/36839826
- 1NF: 字段是最小的的单元不可再分
- 2NF:满足1NF,表中的字段必须完全依赖于全部主键而非部分主键 (一般我们都会做到)
- 3NF:满足2NF,非主键外的所有字段必须互不依赖
- 4NF:满足3NF,消除表中的多值依赖
如何理解关系型数据库的常见设计范式? - HMKenny的回答 - 知乎 https://www.zhihu.com/question/24696366/answer/72436609
第一范式:属性不可拆分。
第二范式:每个表中的非主属性完全依赖于码。
第三范式:消除非主属性之间的依赖关系,只保留非主属性与码的依赖关系。
BC范式:每个表中只有一个候选键
相关术语
RDBMS
DB
database,就是数据库
DBA
数据库管理员
E-R图
矩形 表示实体
椭圆 表示属性,字段
菱形 表示实体联系,实体关系
线条
关系
只有三种:
- 一对一
- 一对多
- 多对多
E-R图和表的关系
每个实体要建立一张表,一物一表
一对一,不建表,把信息存放
一对多,不建表,一的主键放到多的表里面作为外键
多对多,要建表,把两端主键放到关系表中作为外键,共同组成关系表的主键
常用数据管理系统
SQL Server
informax
Oracle
MySQL