第1章数据库系统概述1.数据库的概念1)数据库是存储在计算机存储设备上的: 数据库是存在于计算机存储设备上的一个或多个(数据库)文件组成的统一体,是可感知的数据库形体。
2)数据库是按一定的组织方式存储在一起的:数据库中的数据是以结构化的形式存储的,这种结构化形式实质上就是数据库的数据模型,是不可感知的数据库形体。
3)数据库是相关的数据集合:数据库中的数据既有某特定应用领域涉及的各种基本数据,也有反映这些数据之间联系的数据,也是不可感知的数据库形体之一。
DBMS的概念数据库管理系统(DBMS)是建立、管理和维护数据库的软件系统,是一种位于应用软件和操作系统之间,实现数据库管理功能的系统软件。
2.DBMS的主要功能定义、操纵、控制、维护数据库并有通信功能3.数据库应用系统概念成以计算机为开发和应用平台,以OS、DBMS、某种程序语言和实用程序等为软件环境,以某一应用领域的数据管理需求为应用背景,采用数据库设计技术建立的一个可实际运行的,按照数据库方法存储和维护数据的,并为用户提供数据支持和管理功能的应用软件系统。
4.三个世界对数据的描述现实世界是存在于人们头脑之外的客观世界。
可狭义地将现实世界看作为各个事物、各个现象、各个单位的实际情况。
计算机世界——数据世界对数据和信息的处理信息世界是现实世界在人们头脑中的反映和解释,是现实世界的概念化。
5.数据模型的概念及组成数据模型是现实世界中的各种事物及各事物之间的联系用数据及数据间的联系来表示的一种方法。
一个数据库的数据模型实际上给出了在计算机系统上进行描述和动态模拟现实世界信息结构及其变化的方法。
是一组面向计算机的概念集合,由数据结构、数据操作、数据约束三部分组成6.层次模型、是一种用树型(层次)结构来组织数据的数据模型。
树中的每个结点代表一种记录类型。
网状模型(1)至少有一个结点多于一个双亲结点;(2)至少有一个结点无双亲结点。
关系模型系模型是一种用二维表格结构表示数据及数据之间联系的(优于上面两个)7.数据库的三级模式及两级影像与数据独立性数据库的三级模式结构指的是一种从数据库管理系统(DBMS)的角度看到的数据库模式结构和映射关系。
内模式是对数据库表物理存储结构的描述。
逻辑模式是对DB中全部数据的整体逻辑结构的描述,体现了全局、整体的数据观点。
外模式是对数据库用户能看见和使用的局部数据逻辑结构的描述,体现了应用程序员对数据库的数据观点。
三级数据库结构 :用户级DB 局部逻辑结构概念级DB 全局逻辑结构存储级DB 存储组织结构(1)数据的体系结构如何保证数据独立性?应用程序是依据数据的外模式编写外模式/模式映像做当逻辑模式改变时候,只需要把出相应的改变就行,以至于外模式保持不变,从而可以不必修改应用程序,保证了数据与程序的逻辑独立性(只要没有改变逻辑模式中与外模式定义有关的属性及与其关系模式名的隶属关系,就可使外模式保持不变)模式/内模式映像当内模式改变的时候,由数据库管理员对做相应的改变,可以使逻辑模式保持不变,从而应用程序也不必修改,保证了数据与程序的物理独立型。
第2章关系运算1.关系的定义关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。
在二维表里,元组也称为记录。
定义2.1 设有属性A1和A2分别在值域D1和D2中取值,则这两个属性的值域集合的笛卡儿积定义为:D1×D2={<d1,d2>|d1∈D1且d2∈D2}其中,序偶<d1,d2>中的两个元素d1和d2是有序的,也即其次序是不能改变的。
进一步讲,D1×D2≠D2×D1。
但是不强调其n元组中元素次序的笛卡儿积运算,称为广义笛卡儿积运算比如:设D1={1,2,3},基数为3;D2={a,b},基数为2;则有:D1×D2={<1,a>,<1,b>,<2,a>,<2,b>,<3,a>,<3,b>}且基数为3×2=6。
例2.1:设D1={李兵,王芳},D2={男,女},D3={北京,上海}。
D1×D2×D3={<李兵,男,北京>,<李兵,男,上海> ,<李兵,女,北京> ,<李兵,女,上海> ,<王芳,男,北京> ,<王芳,男,上海> ,<王芳,女,北京> ,<王芳,女,上海>}且基数为2×2×2=8。
笛卡儿积的基数即为笛卡儿积定义的元组集合中的元组的个数定义2.2 笛卡儿积D1×D2Dn的任一子集称为在域D1,D2,…,Dn上的关系。
其中,值域集合D1,D2,…,Dn是关系中元组的取值范围,称为关系的域(Domain),n称为关系的目或关系的度(Degree)。
例如:n=2时,二元关系n=m时,m元关系2.关系的性质(1)关系中的每个属性值都是不可再分的数据单位,即关系表中不能再有子表;(2)关系中任意两行不能完全相同,即关系中不允许出现相同的元组;(3)关系是一个元组的集合,所以关系中元组间的顺序可以任意;(4)每一个关系都有一个主键,用于唯一地标识它的各个元组。
3.关系代数的运算(1)知道运算的含义及表示符号(2)能够求解关系代数表达式的值(3)能够用关系代数表达式表达查询要求4.等值连接、自然连接与外连接的含义略第3章数据应用系统设计方法1.数据库设计的主要步骤及每一阶段的主要任务问题定义、可行性研究、需求分析:用户需求分析是指分析用户对数据管理的功能需求和应用需求,是进行数据库应用系统设计的基础。
数据流图是一种用于描绘系统逻辑模型的图形工具,是逻辑系统的图形表示。
数据字典表达出每个数据和处理的具体含义和详细描述信息、总体设计、详细设计、编码与单元测试、综合测试、软件维护2.数据库各级模式(概念模式、逻辑模式、外模式和物理模式)形成的阶段概念模式 E-R图步骤局部E-R图集成局部的形成一个完整的E-R图优化(消除命名冲突、消除属性特征冲突、消除结构冲突、消除冗余数据和冗余联系)逻辑模式概念结构设计阶段设计好信息结构转换为一组关系模式;2、步骤(1)将设计好的概念结构转换成关系模型;(2)利用规范化理论对转换好的关系模型进行规范化设计和处理;(3)对关系模型进行优化处理。
物理模式是指数据库在物理存储设备上的存储结构和存取方法。
在物理存储设备上为逻辑结构设计阶段设计好的数据库逻辑结构,选取和设计一个占用存储空间较少、查询效率尽可能高、维护代价较低的数据库物理结构;并对设计好的物理结构从时间和空间效率方面进行评价,以便确定是否对其逻辑结构或物理结构进行进一步的优化设计。
存储数据库信息的物理文件包括:数据文件、日志文件、控制文件三类。
外模式又称子模式或用户模式,对应于用户级。
它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。
外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。
用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据记录进行。
外模式反映了数据库的用户观。
3.E-R图的设计方法1、E-R图的基本要素(1)实体集正方形(2)联系集菱形(3) 属性集椭圆形4.E-R图向关系模型的转换方法1、主要任务就是按照一定的规则,将概念结构设计阶段设计好的,独立于任何DBMS数据模型的信息结构,转换为一组关系模式;并利用关系数据库的规范化理论对这组关系模式进行规范化设计和优化处理,从而得出满足所有数据要求的关系数据库模型,也即数据库的逻辑结构。
2、步骤(1)将设计好的概念结构转换成关系模型;(2)利用规范化理论对转换好的关系模型进行规范化设计和处理;(3)对关系模型进行优化处理。
5.索引的概念及作用索引是一种表形式的数据结构,由给定的一个或一组数据项(主键或非主键)组成。
对于主键值 Ki(i=1,2,…,n)和对应记录的地址A(Rki),{Ki,A(Rki)}称为索引项6.稠密索引、稀疏索引及聚簇索引1稠密索引(dense index)及其特征1)按主键值的排序建立索引项,每个索引项包含一个主键值和由该主键值标识的记录的地址指针。
2)每个索引项对应一个记录,记录的存放顺序是任意的。
3)索引项的个数与记录的个数相等(也就是说索引项较多,所以称为稠密索引)。
2稀疏索引(sparse index) 及其特征1)所有数据记录按主键值顺序存放在若干个块中。
2)每个块的最大主键值(即该块最后一个数据记录的主键值)和该块的起始地址组成一个索引项。
3)每个块中的索引项按主键值顺序排列组成索引表(由于是每个块只有一个索引项,索引项较少,所以称为稀疏索引)。
3、数据聚簇是数据库物理结构设计中提高查询性能的另一种有效方法。
使那些经常在一起进行联接查询的表的数据在物理介质上尽量临近存放,也即把它们聚集地存放在一起。
进行联接查询的几个表必定存在公共字段,这些公共字段或者是某个表的主键,或者是某个表的外键,所以就可利用这些公共字段,把相关表中主键与外键相同的记录临近存放,把多个表的数据存储到同一物理块上。
这样在进行联接查询操作时,进行联接运算的几个表的数据就可在同一个物理块中同时调到内存中,从而可以减少存储管理中的页面调进调出次数和搜索时间。
第5章关系数据库语言SQL1.SQL的功能及特点SQL语言有三大功能:1、数据定义功能用于定义基本表、定义视图、定义索引等。
2、数据操纵功能用于实施对数据库的数据查询和数据更新。
3、数据控制功能用于实现对数据库对象的控制。
SQL具有两个特点:1、SQL具有2种工作方式:交互式命令用户可以联机在系统提供的查询编辑器窗口上,通过直接键入SQL命令(语句)对数据库进行操作,系统然后会把处理结果显示给用户。
嵌入式SQL语句可以被嵌入到某种高级语言(比如,C语言)程序中实现对数据库的操作,并利用主语言的强大计算功能、逻辑判断功能、屏幕控制及输出功能等,实现对数据的处理和输入输出控制等。
2、SQL支持数据库的三级模式结构外模式模式内模式2.常用的SQL语句(1)create tableCREATE TABLE <表名>(<列名1> <数据类型> [<列1的完整性约束>][,<列名2> <数据类型> [<列2的完整性约束>],……,<列名n> <数据类型> [<列n的完整性约束>],[<表的完整性约束>]]);<>的必须要填 []的可选表的主键约束子句,格式为PRIMARY KEY(<主键列名1> [,<主键列名2>,…,<主键列名r>])表的外键约束格式为:foreign KEY (<列名1>)reference <表名> (<列名2>)(2)Alter table增加列在表的最后一列后面增加新的一列。