数据库笔记整理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

01 数据库课程导入

一、数据库:是指存储在计算机内的可组织可共享的信息的集合。

数据库特征:

数据按一定的数据模型组织、描述和储存

可为各种用户共享

冗余度较小

数据独立性较高

易扩展

二、数据库的逻辑结构

1)层次型

2)网状型

3)关系型

4)面向对象型

三、提高数据库效率方式

1)缓存数据

2)索引

3)高性能硬件

四、数据库模型

1)概念模型:从用户角度分析,绘制E-R图

2)逻辑模型:从计算机角度分析的,绘制数据库模型图

3) 物理模型:指的是数据库的存储结构,以及索引。

五、数据库设计步骤

1)需求分析阶段(收集分析需求)

2)概要设计阶段(从用户角度分析,绘制E-R图)3)详细设计阶段(从数据库角度分析的,绘制数据库模型图)

4)实施阶段(创建数据库、数据表、建立关联、索引,并对数据表进行规范化检查)

六、学好数据库能做什么

1)DBA数据库管理员

2)数据挖掘

02 数据模型

一、数据模型分类

1)概念模型

2)逻辑模型(分为层次型、网状型、关系型、面向对象型)

3)物理模型

二、数据模型的三大要素1)数据结构

2) 数据操作

3)完整性约束(包括实体完整性、参照完整性和用户定义的完整性)

三、概念模型组成部分

1)实体:用矩形表示,表示客观存在的可以描述的事物。

2)属性:用椭圆形表示,表示实体的特征。

3)码:用于唯一标识实体的属性。

4)域:代表属性的取值范围,例如Sex取值范围是男,女。

5)实体型:用实体名及其属性名集合来抽象同类实体的(例如学生(学号,姓名,性别,出生年份,系,入学时间))

6)实体集:同一类型实体的集合

7)关系:表示实体间的关系(有1:1 ,1:n,n:1 ,m:n)用菱形表示。

四、绘制E-R图步骤

1)标识实体

2)标识实体的属性

3)标识实体关联

五、逻辑模型

层次模型:是最早的逻辑模型

a)每个节点的父节点都是唯一的

b)只能表示1对多的关系

c)每个记录类型可以选择一个属性排序,叫做码字段

b)任何记录只有按照路径查看才有意义

e)任何子女记录都不能脱离父记录而存在

f)根节点没有父节点

1)多对对关系在层次模型中的表示

a) 采用冗余节点法:也就是通过增加2个节点,把多对多关系分解成2个1对多关系。

例如: 学生与课程是m:n关系,分解成:学生到课程1:n,课程到学生1:n。

b) 采用虚拟节点法:是通过增加2个虚拟节点,把多对多关系分解成2个1对多关系。

所谓虚拟节点就是一个引用,指向所引用的节点。

2)对层次模型的操作

a) 增加、修改、删除、查询,同时必须满足完整性约束(指的是数据记录能够正确的反应实际情况)b) 层次模型的完整性约束:

1)添加的子节点必须拥有父节点

2)当删除1个节点时,会同时删除该节点所有子节点

3)更新时,必须保证一致性

3)层次模型的存储结构

a)邻接法(又叫层次序列链接法):按照树的前序遍历结果实现相邻存储。

b)子女-兄弟链接发:是通过给每个节点设置2个指针,分别指向做左边的子节点和最近的兄弟节点。

4)层次模型的优缺点

a)优点: 结构清晰、查询效率高、提供了较好的完整性支持

b)缺点:对m:n关系表示不自然、插入和删除限制多、访问子女节点必须通过父节点、命令复杂

网状模型:

1)特点

a)可以有多个节点无父节点

b)一个节点可以由多个父节点

2)网状跟层次的区别

a)可以有多个节点无父节点

b)一个节点可以由多个父节点

c)网状模型允许两个结点之间有多种联系(复合联系)

d)网状模型可以更直接地去描述现实世界

e)层次模型实际上是网状模型的一个特例

3)网状模型存储结构:常用的方法为:单向链接、双向链接、环状链接、向首链接

4)优缺点

优点:a)能够直观的描述数据b)具有较高的性能。

缺点: a)结构复杂,规模越大越复杂。b)操作复杂,不易用户使用。

关系模型

1)术语

a)关系:就是表

b)元组: 就是一行

c)属性: 就是一列

d)主码:就是主键,用于唯一标示一条记录(例如学号)

03 关系数据库

一、笛卡尔乘积:是n个关系相乘的结果。

例如:D1为学生集合(T)= {张群,徐晶,王刚} D2为性别集合(S)= {男,女}

D1与D2的笛卡尔乘积共6条记录,是拿D1中每条记录与D2中所有记录匹配。

二、关系代数

运算:集合运算、关系运算、比较运算、逻辑运算

1)集合运算

a)并(U)

例如:A U B,返回A表中全部数据,B表中全部数据,对于2表重复的内容只保留一个。

b)差(-)

例如:A - B,返回A表有并且B表没有的记录。

c)交(n)

例如:A n B,返回A表、B表共有的记录。

2)术语

1)元组的连串:表示元祖中包含的分量的集合。

例如:若r = (r1 ,…,rn),s = (s1 ,…,sm),则定义r 与s的连串为:定义rs的连串= (r1 ,…,rn ,s1 ,…,sm)

2)关系的度:就是关系包含的属性的数量。

3)象集Zx:假设x='张三',表示求x列中值等于张三的分量所对应的Z列中分量的集合(消除重复) 4)选择:σA<5(R),表示从R中选择A列小于5的行。

注意:选择是根据条件筛选,返回的表的结构与原表一致。

5)投影Π...(R):从关系R中取若干列组成新的关系。例如:ΠA(R)表示从R中选择A列,返回新的关系,只包含A列。

6)连接: R 连接S = {rs连串| r ∈R ∧s ∈S ∧r*A+θ S*B+ },表示对R*S进行筛选,筛选条件为r[A] θ S*b+;

6.1)自然链接:从笛卡尔乘积中自动匹配列名相同且分量值相等的记录,并消除重复的列。

6.2)外链接:把舍弃的记录也保存到新关系中,对于不匹配的列显示NULL。

a)左外链接:例如A left join B:返回左表中全部记录,对于未匹配的右表中的列设置为NULL。

b)右外链接:例如A right join B:返回右表中全部记录,对于未匹配的左表中的列设置为NULL。

c)完整链接:例如A full join B:返回2表中全部记录,对于未匹配的列设置为NULL。完整链接的结果为:(左外结果+右外结果-重复行)

7)除法

相关文档
最新文档