MySQL基础概念与实际开发

2018-09-15  本文已影响0人  小白碗里来

1.1 数据库基本概念

1、关系:两个表的公共字段

2、行:也称记录,也称实体

3、列:也称字段,也称属性

就表结构而言,表分为行和列;

就表数据而言,分为记录和字段;

就面向对象而言,一个记录就是一个实体,一个字段就是一个属性

4、数据冗余:相同的数据存储在不同的地方

(1)、冗余只能减少,不能杜绝。

(2)、减少冗余的方法是分表

(3)、为减少数据查找的麻烦,允许数据有一定的冗余

5、数据完整性:正确性+准确性=数据完整性

正确性:数据类型正确

准确性:数据范围要准确

1.2 实体和实体之间的关系

1、一对一

2、一对多 (多对一)

3、多对多 

1.2.1 一对一(1:1)

1、主表中的一条记录对应从表中的一条记录

1.2.2 一对多 1:N

1、主表中的一条记录对应从表中的多条记录。

2、一对多和多对一是一样的

列子:班级和学生关系

1.2.3 多对多(N:M)

主表中的一条记录对应从表中的多条记录,从表中的一条记录对应主表中的多条记录

列子:班级和讲师的关系

如何实现多对多?

答:建立第三张表来保存关系。

1.3 数据库设计的步骤

1.3.1 数据库设计具体步骤

1、 收集信息:与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务

2、 标识对象(实体-Entity)标识数据库要管理的关键对象或实体 

3、 标识每个实体的属性(Attribute)

4、 标识对象之间的关系(Relationship)

5、 将模型转换成数据库

6、 规范化

1.3.2 绘制E-R图

E-R(Entity-Relationship)实体关系图 

E-R图的语法

示例图:

1.3.3 将E-R图转成表

1、 实体转成表,属性转成字段

2、 如果没有合适的字段做主键,给表添加一个自动增长列做主键。

1.4 数据规范化

Codd博士定义了6个范式来规范化数据库,范式由小到大来约束,范式越高冗余越小,但表的个数也越多。实验证明,三范式是性价比最高的。

1.4.1 第一范式:确保每列原子性

如果仅仅起地址的作用,不需要统计,可以不拆分;如果有按地区统计的功能需要拆分。

1.4.2 第二范式:非键字段必须依赖于键字段 

一个表只能描述一件事

1.4.3 第三范式:消除传递依赖(非键与非键关系不要和上面混淆)

在所有的非键字段中,不能有传递依赖

上一篇下一篇

猜你喜欢

热点阅读