.数据库原理及应用期末复习第一章绪论1、数据(Data):数据是数据库中存储的基本对象;数据的定义:描述事物的符号记录;数据的种类:文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等;数据的含义称为数据的语义,数据与其语义是不可分的。
2、数据库(Database,简称DB):定义:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库的基本特征:1) 数据按一定的数据模型组织、描述和储存;2) 可为各种用户共享、易扩展、冗余度较小;3) 数据独立性较高。
数据库具有永久存储、有组织和可共享三个基本特点。
3、数据库管理系统(DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
主要功能:1) 数据定义功能;2) 数据组织、存储和管理;3) 数据操纵功能;4) 数据库的事务管理和运行管理;5) 数据库的建立和维护功能;6) 其他功能。
4、数据库系统(DBS):定义:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员系统构成。
5、数据库技术的产生和发展:三个阶段:人工管理阶段、文件系统、数据库系统。
6、数据库系统的特点:1) 数据结构化:不仅数据内部结构化,整体也是结构化的;2) 数据的共享性高,冗余度低,易扩充;3) 数据独立性高(物理逻辑性和逻辑独立性);物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
当数据的物理存储改变了,应用程序不用改变。
精选文档..逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。
数据的逻辑结构改变了,用户程序也可以不变。
数据独立性是由DBMS的二级映像功能来保证的4) 数据由DBMS统一管理和控制。
7、数据模型:(1)数据模型是数据库系统的核心和基础;(2)两类数据模型:第一类是概念模型,第二类是逻辑模型和物理模型;(3)数据模型的组成要素:数据结构、数据操作和完整性约束;(4)概念模型的基本概念:1) 实体(Entity):客观存在并可相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念;2) 属性(Attribute):实体所具有的某一特性称为属性。
一个实体可以由若干个属性来刻画;3) 码(Key):唯一标识实体的属性集称为码;4) 域(Domain):属性的取值范围称为该属性的域。
5) 实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体称为实体型;6) 实体集(Entity Set):同一类型实体的集合称为实体集;7) 联系(Relationship):实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系;(5)三大经典模型:层次模型、网状模型、关系模型。
8、数据库系统结构:(1)模式是数据库中全体数据的逻辑结构和特征的描述。
(2)三级模式:内模式、模式、外模式。
模式:是数据库中全体数据的逻辑结构和特征的藐视,是所有用户的公共视图;一个数据库只有一个模式;外模式:是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;一个数据库可以有多个外模式;内模式:是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式;一个数据库只有一个内模式。
(3)二级映像:外模式/模式,模式/内模式;保证了数据库系统中的数据能够有较高的逻辑独立性和物理独立性。
第二章关系数据库1、关系(1)码候选码(Candidate key):若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码;精选文档..主码(Primary key):若有多个候选码,则选定其中一个为主码;全码(All-key):最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码;主属性(Prime attribute):候选码的诸属性称为主属性;非主属性(Non-Prime attribute):而不包含在任何侯选码中的属性称为非主属性或非码属性。
(2)关系的三种类型:基本关系、查询表、视图表;(3)基本关系的性质:1) 列是同质的(Homogeneous)2) 不同的列可出自同一个域a) 其中的每一列称为一个属性b) 不同的属性要给予不同的属性名3) 列的顺序无所谓,,列的次序可以任意交换4) 任意两个元组的候选码不能相同5) 行的顺序无所谓,行的次序可以任意交换6) 分量必须取原子值(最基本的一条)(4)关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件;最基本的一条就是:关系的每一个分量必须是一个不可分的数据项。
(5)关系数据库中,关系模型是型,关系是值;关系模式是对关系的描述。
2、关系操作(1)基本关系操作:常用的关系操作包括查询操作和插入、删除、修改操作两大部分;查询:选择、投影、连接、除、并、交、差;数据更新:插入、删除、修改;查询的表达能力是其中最主要的部分;选择、投影、并、差、笛卡尔基是5种基本操作。
(2)关系操作的特点:集合操作方式,即操作的对象和结果都是集合,一次一集合的方式。
3、关系的完整性三类完整性约束:实体完整性、参照完整性、用户定义的完整性;其中前两种是关系模式中必须满足的,被称作是关系的两个不变性。
ARA不能取空值且必须唯一。
的主属性,则属性)实体完整性:若属性(1是基本关系说明:1) 实体完整性规则是针对基本关系而言的;2) 关系模型中以主码作为唯一性标识;3) 主码中的属性即主属性不能取空值。
精选文档..(2)参照完整性:外码:FRRS的主码KsF是基本关系与基本关系的一个或一组属性,但不是关系相对应,则称的码。
如果设FRR称S称为被参照关系);基本关系的外码;基本关系为参照关系(Referencing 是基本关系Relation(Referenced Relation)或目标关系(Target Relation)。
说明:RS不一定是不同的关系;和1) 关系S的主码Ks 和参照关系的外码F2) 目标关系必须定义在同一个(或一组)域上;3) 外码并不一定要与相应的主码同名。
参照完整性规则:FRSRS不一定和Ks若属性(或属性组)相对应是基本关系(基本关系的外码它与基本关系的主码RFF的每个属性值均为空值),或是不同的关系),则对于上的值必须为:或者取空值(中每个元组在S中某个元组的主码值。
者等于参照完整性规则就是定义外码与主码之间的引用规则。
(3)用户定义的完整性针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
4、关系代数关系代数运算符:集合运算符、专门的关系运算符、算术比较运算符、逻辑运算符。
【此部分可以复习书本p55-60,为重点】第三章关系数据库标准语言SQL1、SQL特点SQL集数据查询、数据定义、数据操纵、数据控制功能于一体;1) 数据定义a) 创建数据对象create e.g. Create databaseb) 修改数据对象alter e.g. alter tablec) 删除数据对象drop e.g drop view2) 数据查询a) 一般查询selectb) 集合查询count, avg, sum, max, min3) 数据操纵a) Insert delete update4) 数据控制a) Grant精选文档..b) revoke主要特点:综合统一,高度非过程化,面向集合的操作方式,以同一种语法结构提供多种使用方式,语言简洁、易学易用。
2、外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。
3、数据定义操作方操作对创删修Alter database Create databaseDrop database数据库Alter tableDrop tableCreate table表Create view Drop view视图Create index索引Drop view()定义数据库1>Create database <数据库名数据库名Drop database <>>数据库名Alter database <> <新数据库名(2)定义基本表创建表:表名Create table <>列完整性约束条件列名(<> <数据类型> [][,<> [列完整性约束条件]]…列名> <数据类型])[,表级完整性约束条件表级完整性约束包括:2]) [Primary key 名(字段,字段2]),字段(字段表foreign key 名reference 2[Check 名内容default修改表:表名Alter table <>完整性约束数据类型> [add < 新列名<>[]]>][drop < 完整性约束名> 列名[alter column <数据类型>]<删除表:表名Drop table <>)数据查询【重点!】3(精选文档..Select [all | distinct] <目标列表达式> [别名][,<目标列表达式> [别名]]…From <表名或视图名> [别名][,<表名或视图名> [别名]]…Where <条件表达式>Group by <列名> [having <条件表达式>]Order by <列名1> [ASC | Desc] [, <列名1> [ASC | Desc]](4)数据更新插入数据:格式1:Insert into <基本表名> [(列名表)] value (元组值)格式2:Insert into <基本表名> [(列名表)]value (元组值),(元组值),(元组值),…格式3:Insert into <基本表名> [(列名表)]Select 查询语句修改数据:update <表名>set <列名>=<值>[, <列名>=<值>,…][where <条件表达式>]删除数据:Delete from <表名> [where <条件表达式>](5)定义和删除索引Create [unique] [cluster] index <索引名> ON <表名> (列名[<次序>][,列名[<次序>]]…)Drop index <索引名>建议索引的条件:1) 以查询为主要服务的数据库;2) 值域大的字段上;3) 经常出现在where条件,order by,group by中的字段上;4) 经常出现在连接条件中的字段上。