2021年07年17日 随堂笔记

回顾

后续讲解

SQL语句

JDBC

MVC

数据结构

集合

每周一休息一天

明天下午讲解第2份作业。

关系数据库

信息管理系统必须要有数据支撑。

数据库发展历史

层次结构

实现复杂。

网状结构

实现复杂

关系模型

使用二维表来描述

引例

学生(学号,姓名,性别,…)

s_id s_name s_sex
1 小明
2 小芳

属性列序无关。

image-20210717192055628

建表规则

范式可以理解为约定

第1范式:1NF

在关系表中,所有的属性都是原子属性属性不可再分

只满足第一范式,还不可用

1NF的定义为:符合1NF的关系中的每个属性都不可再分。表1所示的情况,就不符合1NF的要求。

preview

第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