目录:
一、数据库的四个基本概念
- 数据:描述事物的符号记录。(比如某学生的年龄)
- 数据库:数据库是⻓期储存在计算机内、有组织的、
可共享的⼤量数据的集合。数据库中的数据按⼀定的数据模型组织、
描述和储存,具有较⼩的冗余度、较⾼的数据独⽴性和易扩展性,并可为各种⽤户共享。 - 数据库管理系统:是位于⽤户和操作系统之间的⼀层数据管理软件
- 数据库系统:是由数据库、数据库管理系统(及其应⽤开发⼯具)、
应⽤程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。
二、数据模型
两类数据模型:概念模型、逻辑模型和物理模型
2.1概念模型
也称信息模型,它是按⽤户观点来对数据和信息建模,主要⽤于数据库设计。
基本概念:
- 实体:客观存在并可相互区别的事物。 学生
- 属性:实体所具有的某⼀特性。 学生的学号,入学成绩
- 码:唯⼀标识实体的属性。 学号
- 实体型:⽤实体名及其属性集合来抽象和刻画同类实体。 (实体+属性的集合)
- 实体集:同⼀类型实体的集合。(实体的集合)学校
- 联系:实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有⼀对⼀、⼀对多和多对多等多种联系。
概念模型的⼀种表示⽅法:实体-联系⽅法。
⽤E-R图来描述现实世界的概念模型,E-R⽅法也称为E-R模型。
ER图分为实体、属性、关系三个核⼼部分。实体是⻓⽅形体现,⽽属性则是椭圆形,关系为
菱形。
2.2逻辑模型和物理模型
物理模型:
是对数据最底层的抽象,它描述数据在系统内部的表示⽅法和存取⽅法,或在磁盘或磁带上的存储⽅式和存取⽅法,是⾯向计算机系统的。
逻辑模型:它是按计算机系统的观点对数据建模,
主要⽤于数据库管理系统的实现。包括: 层次模型、⽹状模型、关系模型
-
层次模型
有且只有⼀个结点没有双亲结点,这个结点称为根结点。根以外的其他结点有且只有⼀个双亲结点。
-
⽹状模型
允许⼀个以上的结点⽆双亲,⼀个结点可以有多于⼀个双亲。
-
关系模型(见第四标题详解)
系:⼀个关系对应通常说的⼀张表。
元组:表中的⼀⾏。
属性:表中的⼀列。
码:也称码键,表中的某个属性组。
域:是⼀组具有相同数据类型的值的集合。
分量:元组中的⼀个属性。
三、数据库系统的结构
三级模式结构+二层映像
3.1 三级模式结构
模式数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。其⼀个具体值称为模式的⼀个实例。模式是相对稳定的,实例是相对变动的。
三级模式结构:外模式+模式+内模式
- 外模式:也称⼦模式或⽤户模式,它是数据库⽤户(包括应⽤程序员和最终⽤户)能够看⻅和使⽤的局部数据的逻辑结构和特征的描述,是数据库⽤户的数据视图,是与某⼀应⽤有关的数据的逻辑表示。
- 模式:也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有⽤户的公共数据
- 内模式:也称存储模式,⼀个数据库只有⼀个内模式。它是数据物理结构和存储⽅式的描述, 是数据在数据库内部的组织⽅式。
3.2 二层映像
外模式/模式映像:当模式改变时,由数据库管理员对各个外模式/模式映像作相应改变,
可以使外模式保持不变。
应⽤程序不必修改。保证了数据与程序的逻辑独⽴性。
模式/内模式映像:当数据库的存储结构改变时,有数据库管理员对模式/内模式作相应改变,可以使模式保持不变,从⽽应⽤程序也不⽤改变。保证了数据与程序的物理独⽴性。
数据与程序之间的独⽴性使得数据的定义和描述可以从应⽤程序中分离出去。
另外,由于数据的存取由数据库管理系统管理,
从⽽简化了应⽤程序的编制,⼤⼤减少了应⽤程序的维护和修改。
四、 关系数据库
4.1关系模式(了解)
什么是关系?
关系是⼀张表,⼀张⼆维表
关系有哪些需要描述?
1、关系中有哪些属性
2、这些属性来⾃哪些域
3、属性与域之间的映射关系
可以形象地表示为
R(U,D,DOM,F)
R:关系名
U:所有属性名
D:属性来⾃哪些域
DOM:属性和域的映射
F:属性间的依赖关系
关系数据库:
关系数据库也有关系数据库模式
4.2关系操作(下一章详解)
关系操作:
插⼊、查询、删除、修改
其中查询操作分为:选择、投影、连接、除法、并、差、交、笛卡尔积
4.3 关系语言的分类
分为
-
关系代数语⾔(重点重点)
-
关系演算语⾔(不重要)
-
SQL语⾔(后⾯重点讲)
4.4 关系代数语⾔
关系代数是⼀种抽象的查询语⾔,它⽤对关系的运算来表达查询。
三⼤要素:运算对象(关系)、运算符(集合运算符和专⻔的关系运算符)和运算结果(关系)
并、交、差、笛卡尔积:
选择:
投影:
连接:
自然连接:
悬浮元组:
两个关系R和S在做⾃然连接时,关系R中某些元组有可能在S中不存在公共属性上值相等的
元组,从⽽造成R中这些元组在操作时被舍弃了,这些被舍弃的元组称为悬浮元组。
外连接(Outer Join):
如果把悬浮元组也保存在结果关系中,⽽在其他属性上填空值(Null),就叫做外连接
左外连接(LEFT OUTER JOIN或LEFT JOIN):
只保留左边关系R中的悬浮元组
右外连接(RIGHT OUTER JOIN或RIGHT JOIN):
只保留右边关系S中的悬浮元组
举个例子:
除:保留R中满足S的,而且R中列要去掉S的列