文章目录
一、绪论
数据库系统概述
1、数据与其语义密不可分。
单单一条记录不能当作数据,并不知道每一部分是什么意思。有一个语义对每一部分进行解释,才能叫做数据。
2、数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。
长期:数据库在外存上,而不是内存上
有组织:数据结构,数据模型
可共享:有多个用户
3、对数据进行分类、组织、编码、存储、检索和维护,是数据处理的**中心**问题。
4、数据管理技术的发展过程:
人工管理阶段: 数据没有独立性,共享性,缺乏逻辑组织。(数据的独立是针对于应用程序而言,数据的结构化是针对于数据之间,数据的共享性是针对用户而言。)
文件系统阶段:独立性和共享性实现,但仍有冗余。(共享度低就会导致冗余多)
数据库系统阶段:数据结构化,共享度高,冗余度低易扩充,独立性高,实现对数据的统一管理。
5、数据库系统的特点:
数据独立性:高度的物理独立,一定的逻辑独立
数据结构化:数据模型
数据共享性:共享性高,冗余度低,易扩充
数据库的统一管理和控制:通过DBMS
6、数据结构化是数据库系统与文件系统的本质区别。
7、数据的独立性就是数据能否独立于应用程序存在,比如应用程序是否需要自己定义数据、存储数据,更改数据之后应用程序是否需要重构;数据的结构化就是数据不再针对某一应用,而是面向整个组织的,描述数据的时候不仅仅是数据本身,还要描述数据之间的关系,“外码”;数据的共享度就是数据结构化、独立性高,那么就可以被多个用户、应用来共享,与此同时也可以实现冗余的减少,避免数据之间的不相容性和不一致性。
数据模型
1、数据模型是数据库系统的核心与基础。
2、数据模型分为概念模型与物理模型。
概念模型
- 实体,属性,码,实体型,实体集,联系
- E-R图
物理模型(常被称为数据模型)
-
三要素
- 数据结构。按照数据结构命名数据模型。
- 数据操作。查询更新。
- 数据完整性约束。
-
关系模型
- 数据结构:关系(就是表),元组,属性,码,域,分量(属性值),关系模式(对关系的描述,学生(学号,姓名,年龄))
- 关系的每一个分量是一个不可再分的数据项。
- 数据操作的对象与结果都是关系(表)。
数据库系统的结构
1、数据模型里有型与值的概念。模式是对型之间关系的描述,具体赋值后成为模式的实例。学生选课是一个模式,但每年的具体课程与学生并不相同,因此每年的数据都是一个实例。模式是稳定的,实例是变动的。
2、三级模式结构
- 模式,逻辑模式。create的所有table。
- 外模式,子模式,用户模式。给用户看的那一部分view。一个应用程序只有一个外模式,一个外模式可以对应多个应用程序,一个模式也可以对应多个外模式。设计外模式考虑到应用的扩充性。即便是应用程序此时不要的东西,可以先设计好。比如应用程序只需要AB两个属性,如果C属性是程序以后可能使用的,那么在写select的时候,把C也传递回去。
- 内模式,存储模式。升序降序存储,按属性值聚簇;B+索引还是hash索引,等等。
3、二级映像
- 外模式/模式映像。select,insert,delete等语句。改动模式的时候,比如改变数据库变量名,增加新的属性的时候,改动语句就行,不需要再去改变应用程序。保证程序与数据的逻辑独立性。
- 模式/内模式映像。增加索引,改变内模式,但并不会对模式进行改变。保证了程序与数据的物理独立性。
数据库系统的组成
1、硬件存放数据库
2、软件
- DBMS
- OS
- 具有数据库接口的高级语言及编译系统
- 应用开发工具
- 数据库应用系统
3、DBA,系统分析员,数据库设计人员,应用程序员,用户
易错
1、DBA不负责模式设计,数据库设计人员负责
2、物理独立性体现在不会因为系统数据存储结构变化而影响到应用程序
3、文件系统阶段,有专门的软件对数据进行管理——文件系统。
4、DBMS功能
- 数据定义功能
- 数据组织存储管理:B+查找,hash查找,聚簇,索引的创建
- 数据操纵功能:增删改查
- 数据库的事务管理和运行管理:保证数据库安全性,完整性,并发控制,数据恢复
- 数据库的建立和维护功能
5、数据库中的数据按一定的数据模型组织描述和存储。
6、描述事物的符号记录叫做数据
7、数据字典不仅存储数据对象的描述信息,还存储DBMS的控制信息。
8、文件系统只是实现了应用程序与数据的分离,实质上造成了文件与数据的联系,文件之间依然独立,文件与数据一一对应。
9、层次模型的数据结构是树,网状模型的数据结构是图。
10、表达业务流程分析结果的图表是数据流图.
11、数据库中对数据的操作可以以数据项为单位,也可以以记录为单位。
二、关系数据库
关系数据结构及形式化定义
1、关系有三种类型:基本类型,查询表,视图表。
2、关系的每一个分量是一个不可再分的数据项。
3、关系模式是型,关系(表)是值。
R ( U , D , D O M , F ) R(U,D,DOM,F) R(U,D,DOM,F)
R为关系名,U为属性名的集合,D为域的集合,DOM属性向域的映射(说明每个属性对应哪个域),F是属性之间的依赖。
4、模型的命名就是以数据结构命名。所以,关系模型的数据结构就是关系,网状模型的数据结构就是网。
5、视图是一个虚表,它是从一个或几个基本表中导出的表。在数据库中,只存放视图的定义,不存放视图的 对应的数据。
关系的完整性
实体完整性和参照完整性是关系必须满足的两个条件,是关系的两个不变性。
1、实体完整性:主属性不能为空值。
2、参照完整性:外码要么为空值,要么能对应上被参照关系的主码。
3、用户定义完整性:应用程序的语义限制。(数据类型,int,varchar等等)
关系代数
1、选择,投影,连接,除
2、悬浮元组:没有对应的而被舍弃的元组。如果将其他属性填上空值,悬浮属性依然保存在结果里,就叫外连接。保存左边关系的悬浮数组叫左外连接,右边的右外连接。
3、出大题
-
出现“所有”,”至少“,想到除法
-
最后要什么,先在前面写投影
-
可以按照查询树的思路写
-
除法注意先投影,只保留需要的以及除法要的,否则会影响答案。
比如S(A,B,C),D(B),我想保留A,如果直接
S ÷ D S\div D S÷D
那么计算的时候(A,C)成了一对,很可能本来A够的,因为C的不同不够了。
Π A , B ( A