数据的完整性是指数据约精确性(Acouraoy)和可靠性(Reliabity)。它的目的是为了防止数据库中存在不将合语义规定约数据或者因错误信息的输入而造成无效的操作。数据完整性分为4类:实体完整性(Etty irtezrity)。域完整性(Domain Integrity)、引用完整性(Referential Integrity)和用户自定义克整性(usErdefined lntezty)。
实体完整性
实体就是数据库中所要表示的名观世界中存在的事物。
实体完整性将行定义为特定表的唯一实体,它规定表的每一行记录在表中是唯一的。实体完整 性在表中的约束体现为:主键(Primary Key)约束、唯一(unique)约束。
域完整性
实体完整性是指数据表中应该输入哪些数值,而域的完整性则是考虑如何限制向表中输入的数 值的范围。域完整性的约束:外键(Foreign key)约束、默认值(Default)约束、非空(Not Null)约束。
引用完整性
引用完整性是指保证主关键字(被引用表)和外部关键字(引用表)之间的参照关系。它涉及 两个或两个以上表中数据的一致性维护。外键值将引用表中包含此外键的记录和被引用表中主键与 外键相匹配的记录关联起来。在输入、更改或删除记录时,引用完整性保持表之间已定义的关系, 确保键值在所有表中一致。这样的一致性要求确保不会引用不存在的值,如果键值更改了,那么在 整个数据库中,对该键值的所有引用会进行一致的更改。引用完整性是基于外键与主健之间的关系。 MySQL 中的引用完整性是通过外键(FOREIGN KEY)约束来实现的。
自定义完整性
用户自定义完整性是指针对某一具体关系型数据库的约束条件,它反映某一具体应用所涉及的 数据必须满足的语义要求。任何关系型数据库系统都应该支持实体完整性、域完整性和引用完整性。 除此之外,不同的关系型数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用 户定义的完整性就是针对某一具体关系型数据库的约束条件,它反映某一具体应用所涉及的数据必 须满足的语义要求。
使用主键约束
主键,又称主码,是表中一列或多列的组合。主键约束(PRIMARY KEY CONSTRAINT)要求主键列 的数据唯一,并且不允许为空。主键能够唯一的标识表中的一条记录,可以结合外键来定义不同数 据表之间的关系,并且加快数据库查询的速度。主键和记录之间的关系如同身份证和人之间的关系 或者是学号和学生之间的关系,它们之间是一一对应的。在 MysQL中主键分为:单字段主键和多字 段主键。
(1)设置单字段为主键
在 MySQL中由一个字段做为主键时,分为两种情况。
(2)在定义列的同时设置主键,语法规则如下:
列名数据类型 PRIMARY KEY[默认值]
数据库设计分为6个阶段。
1.需求分析阶段
准确了解与分析用户需求,是整个设计过程的基础,也是最困难、最耗费时间的阶段。
2。概念结构设计阶段
这一阶段是整个数据库设计的美键,通过对用户需求进行综合、归纳及抽象,形成一个独立; 具体DBMS 的械念模型,同时在这个阶段绘制E-R模型图。
3逻辑结构设计阶段
将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
4数据库物理设计阶段
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
5.数据库实奠阶段
运用DBMS 提供的数据语言、工具,根据逻辑设计和物理设计的结果建立数据库,编制与调试 应用程序,组织数据入库并进行试运行。
6.数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行。在运行过程中必须不断地对其进行评价、调 整及修改。
无论数据库的复杂程度如何,在进行数据库分析设计时,都需要执行收集信息、标识实体、标 识实体的属性及标识实体的关系4个步骤。
用 Visio将E-R图转换为数据库表
在逻辑结构设计阶段,把E-R图中的实体转换为表,实体的属性转换为列,并且在表之间实N 实体的关系。可以把图书馆信息管理系统数据库转换为4张表,转换步骤如下:
第一步;将实体转换为对应的表,将属性转换为对应的列。
第二步:标识每个表的主键。对于没有主键列存在的表,可以添加标识列。
第三步;在表之间实现实体之间的映射关系。