那段时间为了准备 SQL Server 数据库考试,前后用了两个星期把整本书完整过了一遍。这部分内容就是当时整理下来的笔记,主要围绕老师划出的重点展开。后来转到 Java 学习,又做了几个项目,再回头看这些知识点,才发现不少地方其实还没真正吃透,所以又专门复习了一遍,也顺手把自己的理解往前推进了一些
关系数据库设计与数据库学习指南
时间:2026-08-14
浏览:516
文章目录
那段时间为了准备 SQL Server 数据库考试,前后用了两个星期把整本书完整过了一遍。这部分内容就是当时整理下来的笔记,主要围绕老师划出的重点展开。后来转到 Java 学习,又做了几个项目,再回头看这些知识点,才发现不少地方其实还没真正吃透,所以又专门复习了一遍,也顺手把自己的理解往前推进了一些。有兴趣的话,也可以看看 GitHub 上的相关文章。

1.关系的基本概念和性质
关系就是一张特定的二维表。
-|关系的数学定义:域(同类型值集合),由笛卡儿积(任意域各自相乘)推出关系的定义。
-|性质:同一个关系中,同列同数据类型,不同列属性名不同且不可再分,元组不同,列和行次序无关紧要。
-|实体及实体间的联系用关系来表示(冗余属性,主码外码的关系)。
2.关系的完整性有哪三类?
数据完整性是指关系模型中数据正确性和一致性。
三类完整性约束:
-|实体完整性:关系的主码属性值不为空。
-|参照完整性:F是关系R的外码,F是关系S的主码,称R为参照关系,S为被参照关系。定义了外码与主码之间的引用规则,保证数据一致性。
-|用户自定义完整性:用户根据实际情况对数据进行的规定,也称域完整性规定。(有效性、可靠性)
3.专门的关系运算
关系代数是以关系为运算对象的一组高级运算的集合,是一种抽象的查询语言,是关系数据操作语言的一种传统表达方式。
(运算对象是关系,运算结果也是关系)
关系代数通常分成两类。先看这一类——传统的集合操作,包括交(R∩S={t | t∈R∧t∈S})、并(R∪S={t|t∈R∨t∈S})、差(R-S={t | t∈R∧t S})、笛卡儿积(R×S)。
-|专门的关系操作:
选择(σF(R)={t | t∈R^ F(t)='真'},F为属性名,右边为返回的值)
投影(πA(R)={t[A]|t∈R},A为属性名,右边为返回的值)
连接(从两个关系的笛卡儿积中选择规定条件的元组),也称θ连接。
-|等值连接:θ为“=”。
-|自然连接:去掉重复属性的等值连接。
(补充个人思考,要利用另外一张二维表(关系)就需要使用自然连接,也就是说学习数据操作时,就可以先写传统的表达方式再写SQL)
除法……。
-两类辅助运算符(传统和专门都可用):
-|比较运算符:>、 ≥、 <、 ≤、 =、 ≠
-|逻辑运算符:∨(或)、 ∧(与)、 ┐(非)
4.关系规范化的目的以及第一、二、三范式的定义
关系模式中各个属性之间的相互关联,就是数据依赖。
-|函数依赖:X、Y是关系R的属性,每个X只有一个Y,(X→Y)称Y函数依赖X。
例:(主码→其他属性;学号→姓名;学号→性别;学号→出生日期)
-|非平凡函数依赖:X→Y,且Y ! X。(学号、课程号→成绩)
-|平凡函数依赖:X→Y,且Y X。(学号、课程号→课程号)
-|完全函数依赖:Z为X的真子集,X→Y,且Z !→Y。(学号、课程号 !→成绩)
-|部分函数依赖:Z为X的真子集,X→Y,且Z →Y。(学号、课程号→姓名)
-|传递函数依赖:Z为关系R属性,X→Y,Y→Z。(学号→系主任)(所在系号→系主任)
-|多值依赖:4NF
-|连接依赖:5NF
由于在关系模式中的某些不合适的数据依赖引起(数据冗余、更新异常、插入异常、删除异常)。
关系模式规范化的目的:是解决关系模式中存在的异常问题,消除数据依赖中不合适部分。
规范化:一个低一级关系模式,通过模式分解转换成若干个高一级范式的关系模式的集合。
范式(不同的规范化程度的标准)R为一个关系模式。
-|第一范式:R的每个属性的值域都是不可分的简单数据项的集合。
-|第二范式:R的每个非主属性都完全函数依赖于(主或者候选)码。(前提:R∈1NF)
-|第三范式:R的每个非主属性不存在传递函数依赖于(主或者候选)码。(前提:R∈2NF)
-|BC范式:R中每个主属性不存在部分函数依赖和传递函数依赖。(前提:R∈3NF)
5.数据库设计的6个阶段是什么?
按照规范设计方法,数据库设计分为六个阶段:
-|需求分析:分析用户(对象)的要求。
-|概念结构设计:将需求分析得到的数据抽象为反映用户观点的概念模型(事物联系)。
-|逻辑结构设计:将概念设计阶段得到的概念模式转换为具体DBMS所支持的,并建立相应外模式。
-|数据库物理设计:将逻辑设计阶段成型的数据库逻辑模型结合制定的DBMS,设计适合的物理结构。
-|数据库实施:根据逻辑和物理设计的结果,在计算机上建立起实际的数据库结构,并转入数据,进行试运行和评价。
-|数据库运行和维护:数据库实施阶段试运行结果符合设计目标后。
6.逻辑结构设计中怎么将E-R转换为关系数据模型
将实体、属性和实体之间的联系转化为关系模式:
-|实体的转化:将实体转换为一个关系模式。
-|联系的转化:1:1的联系、1:n的联系(选择性建)、m:n的联系(需建立新关系)。
实用工具推荐
绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
选择画质和输出格式,预览压缩前后的大小。