关系数据库设计与数据库学习指南

作者:技术拾光

时间:2026-08-14

浏览:516

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

文章目录

那段时间为了准备 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的联系(需建立新关系)。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›