特性才能自由的英语怎么说文怎么读

数据库:存储数据的仓库,这个仓库是我们将数据的整合形式的一种比喻。实际上就是一堆文件,这些文件存储了具有特定格式的数据。

有了数据库就需要一种管理工具,让数据符合我们的预期为我们服务,我们将这种管理工具称为数据库管理系统DBMS(DatabaseManagement)。DBMS是专门提供了用来管理操作数据库中的数据的方法,对数据库的管理操作有增删改查(CURD)。

常见的数据库管理系统有:

以上不满足第一范式,第一:没有主键。第二:联系方式可以分为邮箱地址和电话,修改以后像下面这样。

建立在第一范式的基础之上,
要求所有非主键字段必须完全依赖主键,不要产生部分依赖。

这张表描述了学生和老师的关系:(1个学生可能有多个老师,1个老师有多个学生)
这是非常典型的:多对多关系!

分析以上的表是否满足第一范式?

怎么满足第一范式呢?修改

学生编号 教师编号,两个字段联合做主键,复合主键(PK: 学生编号+教师编号)
经过修改之后,以上的表满足了第一范式。但是满足第二范式吗?
不满足,“张三”依赖1001,“王老师”依赖001,显然产生了部分依赖。
产生部分依赖有什么缺点?
数据冗余了。空间浪费了。“张三”重复了,“王老师”重复了。

为了让以上的表满足第二范式,你需要这样设计:
使用三张表来表示多对多的关系!!!!
学生编号(pk) 学生名字

多对多,三张表,关系表两个外键!

第三范式建立在第二范式的基础之上
要求所有非主键字典必须直接依赖主键,不要产生传递依赖。

以上表的设计是描述:班级和学生的关系。很显然是1对多关系!
一个教室中有多个学生。

分析以上表是否满足第一范式?
满足第一范式,有主键。

分析以上表是否满足第二范式?
满足第二范式,因为主键不是复合主键,没有产生部分依赖。主键是单一主键。

分析以上表是否满足第三范式?
第三范式要求:不要产生传递依赖!
一年一班依赖01,01依赖1001,产生了传递依赖。
不符合第三范式的要求。产生了数据的冗余。

那么应该怎么设计一对多呢?

一对多,两张表,多的表加外键!

我要回帖

更多关于 自由的英语怎么说 的文章

 

随机推荐