数据库(SQL)前戏 --- 你首先要会的数据库基础知识都在这里面(收藏版)

SQL

第一部分 数据库简介

  • 概括:
    (1)数据库由若干张相互关联的表格组成。
    (2)数据库管理系统是一个管理数据库的软件。
    (3)数据库系统的组成。
  • 数据(Data)是数据库中存储的基本对象。在计算机领域内,数据这个概念已经不局限于普通意义上的数据,还包括文字、图形、图像、声音等等。凡是计算机中用来描述事物的记录,都可以通称为数据。

数据的概念包括数据内容和数据形式两个方面:

数据内容是指所描述客观事物的具体特性,也就是数据的 “ 值 ” 。
数据形式是指数据内容存储在媒体上的具体形式,也就是通常所说的数据的 “ 类型 ” 。

  • 信息 ( Information ) 就是经过加工处理后有用的数据,它具有实效性、有用性和知识性,是客观世界的反映。

  • 数据处理( Data Processing )是指使用计算机系统对各种数据进行收集、存储、加工和传播的一系列活动的总和,或者是将数据转换为信息的过程。

1.数据库管理技术的发展

1.人工管理阶段
① 数据不保存;② 用户自行管理数据;③ 数据不能共享;④ 数据不具有独立性。

2.文件系统阶段
①由文件系统管理数据;②程序与数据有一定独立性;③数据可以以多种形式的文件长期保留;④ 数据基本上以记录为单位进行存取。

3.数据库系统阶段
① 数据结构化;② 数据的共享性高,冗余度小,易扩充;③ 数据独立性高,包括物理独立性和逻辑独立性;④ 统一的数据控制功能; ⑤ 数据的存储单元为数据项(一个字段、一条记录、一组字段、一组记录等)。

2.三个模式,两级映射

三个模式
外模式(external schema)又称为用户模式,是数据库用户和数据库系统的接口,是数据库用户的数据视图( view ),是数据库用户可以看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。一个数据库通常都有多个外模式。

模式( schema )又可细分为概念模式和逻辑模式,是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征的描述,反映了数据库系统的整体观。一个数据库只有一个模式。

内模式(internal schema)又称为存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。

二级映射
外模式/模式映射 ,定义和建立某个外模式与模式之间的对应关系,将外模式与模式联系起来。有了外模式/模式映射,保证了数据与程序之间的逻辑独立性,也就是数据的逻辑独立性。

模式/内模式映射 ,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系。当内模式改变时,比如数据的存储结构发生变化,只需改变模式/内模式映射,就能保持模式不变,保证了数据与程序之间的物理独立性,也就是数据的物理独立性。

3.概念模型
  • 将现实世界中的客观对象抽象为某一种信息结构称为概念模型。

实体——客观事物在信息世界中称为实体,它是现实世界中客观存在且可相互区别的事物。
属性——实体的某一方面特征的抽象表示称为属性。一个实体可以用多个属性来描述。
——能惟一标识一个实体的属性或属性集称为码。
—— 某个属性的取值范围称为域。
实体型——用实体名及其属性名的集合来抽象和刻画同类实体,称为实体型,相当于数据结构。
实体集——性质相同的同类实体的集合称为实体集,相当于记录体。
实体联系——在现实世界中,事物与事物之间是有联系的,这些联系在信息世界中反映为实体与实体之间的联系,即实体联系。

  • 两个实体间的联系类型
    ▲ 一对一联系(1:1)
    对于实体集 A 中的每一个实体,实体集 B 中至多有一个与之联系,反之一样,称实体集 A 与实体集 B 是一对一的联系。
    ▲ 一对多联系(1:n)
    对于实体集 A 中的每一个实体,实体集 B 中有 n(n>1)个实体与之联系,反之对于实体集 B 中的每一个实体,实体集A中至多有一个与之联系,称实体集A与实体集B是一对多的联系。
    ▲ 多对多联系(m:n)
    对于实体集A中的每一个实体,实体集B中有n(n> 1)个实体与之联系,反之对于实体集B中的每一个实体,实体集A中有m(m>1)个与之联系,称实体集A与实体集B是多对多的联系。

图解
在这里插入图片描述

4.数据模型
  • 层次模型
    层次模型是数据库系统中最早出现的数据模型,其采用树形结构表示实体和实体之间的联系。

特点:①有且仅有一个结点无父结点,称其为根结点;②其他结点有且只有一个父结点。

  • 网状模型
    用网状结构表示实体和实体之间联系的数据模型称为网状模型。网状模型是层次模型的拓展,能够表示各种复杂的联系。

特点:① 允许一个以上的结点没有双亲结点;② 一个结点可以有多于一个的双亲结点。

  • 关系模型
    用二维表来表示实体和实体间联系的数据模型称为关系模型。关系不仅可以表示实体间一对多的联系,也可以方便地表示多对多的联系。
5.关系模型的基本概念

▲关系

关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。

▲元组

二维表的每一行在关系中称为元组。

▲属性

二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组在该属性上的取值。

▲关系模式

对关系的描述,一般表示为:
关系名( 属性1,属性2,…)
例如,课程表的关系模式表示为:
课程( 课程号,课程名,课程性质,学分 )

第二部分 数据库的原理及应用

1.术语

码(键)或候选码(候选键):能够唯一确定一个元组的最小属性集合。
主键(Primary Key):表中可能有多个候选键,在应用中被选用的候选键称为主键。
外键(Foreign Key):若属性集合 S 存在于关系 R1 中,但不是关系 R1 的主键;它同时也存在于关系 R2 中,而且是关系 R2 的主键,则 S 是关系 R1 相对于 R2 的外键。

2.参照完整性

在关系数据库中有下列两个关系模式:

S(S#,SNAME,AGE,SEX)
SC(S#,C#,GRADE)

这里标记文本为主键,S# 为关系 SC 的外键。据规则要求关系 SC 中的 S# 值应该在关系 S 中出现。如果关系 SC 中有一个元组(S7, C4, 80),而学号 S7 却在关系 S 中找不到,那么我们就认为在关系 SC 中引用了一个不存在的学生实体,这就违反了参照完整性规则。

☆ 另外,在关系 SC 中 S# 不仅是外键,也是主键的一部分,因此这里 S# 值不允许空。

3.用户定义的完整性规则

在建立关系模式时,对属性定义了数据类型,即使这样可能还满足不了用户的需求。此时,用户可以针对具体的数据约束,设置完整性规则,由系统来检验实施,以使用统一的方法处理它们,不再由应用程序承担这项工作。

例如学生的年龄定义为两位整数,范围还太大,我们可以写如下规则把年龄限制在15–30岁之间:
CHECK(AGE BETWEEN 15 AND 30)

4.关系代数的运算

关系代数所用到的运算符是:

  • 集合运算符:∪(并)、∩(交)、-(差)、×(广义笛卡尔积);
  • 专门的关系运算符:σ(选择)、π(投影)、⋈(连接)、÷(除);
  • 算术比较符:>、≥、<、≤、=、<>;
  • 逻辑运算符:∧( AND 与)、∨( OR 或)、┐( NOT 非)。

关系并运算(Union)
关系 R 和关系 S 的所有元组合并,再删去重复的元组,组成一个新关系,称为 R 与 S 的并,记为 R∪S。
在这里插入图片描述

关系交运算(Intersection)
关系 R 和关系 S 的交是由既属于 R 又属于S 的元组组成的集合,即在两个关系 R 与 S 中取相同的元组,组成一个新关系,记为 R∩S。

  • 两个关系的交由它们相同的元组组成。如果两个关系没有相同的元组,那么它们的交为空。
    在这里插入图片描述

关系差运算(Difference)
关系 R 和关系 S 的差是由属于关系 R 的元组组成,而不必考虑关系 S 中的元组组成,即在关系 R 中删去与 S 关系中相同的元组,组成一个新关系,记为 R-S。
在这里插入图片描述

广义笛卡尔积(Extended Cartesian Product)
参加运算的两个关系不要求属性个数一致。
设关系R的属性个数为n,关系S的属性个数为m,关系R和S的笛卡尔积记为: R×S
R×S由R和S的所有元组连接而成的具有(n+m)个属性的元组组成。
在这里插入图片描述

选择(Selection)
选择是在关系R中选择满足给定条件的诸元组,构成一个新关系。
选择是从行的角度进行的运算。
σ是选择运算符,选择条件是逻辑表达式

语法格式: σ<选择条件>(<关系名>)

在这里插入图片描述

投影(Projection)
关系 R 上的投影是从 R 中选择出若干属性列组成新的关系。
投影操作是从列的角度进行的运算。
π 是投影运算符,属性集可以由多个属性组成,中间用逗号隔开。
注意:投影结果中要去掉相同的行

语法格式:π<属性集>(<关系名>)

在这里插入图片描述

连接(Join)
按给定条件,把满足条件的两个关系所有元组,按一切可能的拼接后形成的新关系,记为R∞S。
即 R∞<连接条件>S=σ<连接条件>(R × S)

连接条件为:=,<, ≤,>,≥,≠
当连接条件不为 “ = ” 时,称非等值连接。
当连接条件为 “ = ” 时,称等值连接。
非等值连接也称为 θ 连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:
在这里插入图片描述
连接运算从 R 和 S 的笛卡尔积 R×S 中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系 θ 的元组。

等值连接

从关系 R 和 S 的笛卡尔积中选取 A, B 属性值相等的元组
在这里插入图片描述
在这里插入图片描述

自然连接
特殊的等值连接,从两个关系的广义笛卡儿积中选取在相同属性列上取值相等的元组,在结果中去掉重复的属性列,并去掉重复的行。

当 R 与 S 无相同属性时,R∞S = R×S
注:自然连接完成三件事:
① 作 R × S;(笛卡儿积)
② 在 R × S上选择同时满足 R.Ai = S.Ai 的所有元组;
③ 去掉重复属性。

在这里插入图片描述


记为:R÷S
R 与 S 的除运算得到一个新的关系 P(X), P 是 R 中满足下列条件的元组在 X 属性列上的投影:

  • 关系R( X, Y )和S( Y, Z ),其中X,Y,Z为属性组(R 中的 Y 与 S 中的 Y 可以有不同的属性名,但必须出自相同的域集)
  • 元组在 X 上分量值 x 的象集 Yx 包含 S 在 Y 上的投影
  • 除操作是同时从行和列的角度进行运算。

在这里插入图片描述

5.数据库设计阶段

需求分析阶段

需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求,得到设计系统所必须的需求信息,建立系统说明文档。包括:需求的调查;需求的收集;需求的分析等内容。
需求分析阶段的成果是系统需求说明书,此说明书主要包含数据流图、数据字典、系统功能结构图和必要的说明。系统需求说明书是数据库设计的基础文件。

概念结构设计阶段

概念结构设计是整个数据库设计的关键。它通过对用户的需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。一般都以 E-R 模型为工具来描述概念结构
最常采用的设计策略是:自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局的概念结构。

逻辑结构设计阶段

逻辑结构设计的任务就是将概念模型( E-R 模型 )转换成特定的 DBMS 系统所支持的数据库的逻辑结构。
关系数据库逻辑结构设计可按以下步骤进行:
① 将 E-R 图转换为关系模式;
② 将转换后的关系模式向特定的 RDBMS 支持的数据模型转换;
③ 对数据模型进行优化。

物理结构设计阶段

数据库的物理设计是为逻辑数据模型选取一个最适合的应用环境的物理结构。包括存储结构和存取方法。

数据库实施阶段

根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行 。

数据库运行和维护阶段

对系统进行评价、调整与修改,不断完善系统。

6. E-R 图

▲矩形
用来表示实体型,矩形框内写上实体名。
▲ 椭圆
用来表示实体的属性,椭圆内写上属性名,并用无向线把实体与属性连接起来。
▲ 菱形
用来表示实体与实体的联系,菱形框内写上联系名。
▲ 无向线
用于实体与属性、实体与联系之间的连接。

E-R 图的表示方法
– 实体:用矩形框表示,框内标明实体名。
– 属性:用椭圆框或圆角矩形框表示,框内标明属性名。
– 联系:用菱形框表示,框内标明联系名。
– 实体与其属性之间以无向边连接,菱形框及相关实体之间也用无向边连接,并在无向边旁标明联系的类型。

在这里插入图片描述

7.设计 E-R 图
  • 设计一个数据库系统的 E-R 模型,可按以下步骤进行:

(1)设计局部 E-R 模型。
① 确定实体类型;
② 确定实体间联系的类型;
③ 确定实体类型的属性;
④ 确定联系类型的属性;
⑤ 根据实体类型画出 E-R 图。

(2)设计全局 E-R 模型。

  • 将所有的局部 E-R 图集成为全局 E-R 模型。

(3)全局 E-R 模型的优化。

  • 分析全局 E-R 模型,看能否反映和满足用户的需求,尽量减少实体的个数,减少实体类型所含的属性个数,实体间的类型联系无冗余。
8. E-R 图向关系模型的转换

1)(1∶1)联系的 E-R 图到关系模式的转换

转换原则:
• 每个实体集各对应一个关系模式;
• 对于(1:1)的联系:
1)可以单独对应一个关系模式,其属性由联系属性、参与联系的各实体集的主码构成,其主码可选参与联系的实体集的任一的主码。
2)也可以由联系属性及一方的主码加入到另一方实体集对应的关系模式。

在这里插入图片描述
2)(1∶n)联系的 E-R 图到关系模式的转换

转换原则:
• 每个实体集各对应一个关系模式;
• 对于(1:n)的联系
1)可以单独对应一个关系模式:其属性由联系属性、参与联系的各实体集的主码构成,但 n 端的主码为该关系模式的主码。
2)也可以由联系属性及 1 端的主码加入到 n 端实体集对应的关系模式中,主码仍为 n 端的主码。

在这里插入图片描述
3)(m∶n)联系的 E-R 图到关系模式的转换

转换原则:
• 每个实体集各对应一个关系模式;
• 对于(m:n)的联系,单独对应一个关系模式,其属性包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。

在这里插入图片描述

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值