⑷数据组织、存储和管理。⑸数据库的建立和维护。⑹数据通
信接口。需要提供与其他软件系统进行通信的功能。
DBMS 的组成:1.数据定义语言及其翻译处理程序 2.数据操纵语
言及其编译程序 3.数据库运行控制程序 4.实用程序
设计优良的 DBMS: 1.友好的用户界面 2.比较完备的功能 3.较高
的运行效率 4.清晰的系统结构和开放性
开放性:指数据库设计人员能据特殊需要,方便的在一个 dbms
中加入新的工具模块,这些模块可与该 dbms 紧密结合,一起运
行。
应用程序读取一个数据的步骤 :1.向 DBMS 发出从数据库中读
数据记录的命令;2.DBMS 对该命令进行语法语义检查,并调用
该应用程序对应的外模式,检查程序的存取权限,决定是否执
行该命令。如拒绝执行,则向用户返回错误信息;3.在决定执行
该命令后,DBMS 调用模式,依据外模式/模式映象定义,确
定应读入模式中的哪些记录;4.DBMS 调用内模式,依据模式/
内模式映象,决定从哪个文件、用什么存取方式、读入哪个物
理记录;5.DBMS 向操作系统发出执行读取所需物理记录的命令
6.操作系统执行读数据的有关操作;7.操作系统将数据从数据库
的存储区送至系统缓冲区;8.DBMS 依据外模式/模式映象的定
义,导出应用程序所要读取的记录格式;9.DBMS 将数据记录从
系统缓冲区传送到应用程序的用户工作区; 10.DBMS 向应用程
序返回命令执行情况的状态信息。
第二章 关系数据库简介
关系:D1xD2x...xDn 上的关系,表示为:R(D1,D2,...Dn)R
表示关系的名字,n 是关系的目或度。关系中的每个元素是关系
中的元组,用 t 表示。
关系是一个二维表,表的每行对应一个元组,表的列对应一个
域。域可以相同,为区分,必须对每列起一个名字,称为属性 。
n 目关系必有 n 个属性。
若关系中的某一属性的值能唯一地标识一个元组,则为候选码。
若有一个关系有多个候选码,则选定其中一个为主码。主码的
诸属性称为住属性,不包含任何候选码中的属性称为非码属性 。
在最极端的情况下,关系模式的所有属性组是这个关系模式的
候选码,称为全码。
关系的三种类型:基本关系(基本表或基表)、查询表和视图表。
基本表是实际存在的表,是实际存储数据的逻辑表示,查询表
是查询结果对应的表。视图表则是基本表或其他视图表导出的
表,是虚表,不对应实际存储的数据。
当关系作为关系数据模型的数据结构时的限定和扩充:1.无限关
系在数据库系统中无意义。2.通过为关系的每个列附加一个属性
名的方法取消关系元组的有序性。
关系模型的组成:关系数据结构、关系操作集合、关系完整性
约束。
关系数据库的型:即关系数据库模式,是对关系数据库的描述 ,
是关系模式的集合;
关系数据库的值:即关系数据库,是关系的集合。
基本关系的六条性质:1.列是同质的,即每一列中的分量同一类
型的数据,来自同一个域。2.不同的列可出自同一个域,称其中
的每列为一个属性,不同的属性要给予不同的属性名。3.列的顺
序无所谓,即列的次序可以任意交换。4.任意两个元组不能全同。
5.行的顺序无所谓。6.分量必须取原子值。
关系与关系模式:1.关系模式是型,是对关系的描述,是静态的、
稳定的 2.关系是值,是关系模式在某一个时刻的状态或内容是
动态的、随时间不断变化 3.关系是一张二维表,是元组的集合 4.
关系模式指出了这个元组集合的结构
关系模式:关系的描述.表现为:R(U,D,dom,F)
关系操作:采用集合操作方式,即操作的对象和结构都是集合 。
关系模型给出了关系操作能力,但不对 rdbms 语言给出具体的语
法要求。
关系模型中的关系操作包括:选择 select、投影 project、连接
join、除 divide 、并 union。交 intersction 、差 difference 等查询
query 操作和增加 insert、删除 delete、修改 update 操作两个部分,
查询的表达能力是其最主要的部分。
关系数据语言分为三类:1.关系代数语言 如 ISBL2.关系演算语
言:a 元组关系演算语言 如 ALPHA,QUEL。b 域关系演算语言
如 QBE.关系代数、元组关系演算和域关系演算三种语言在表达
能力上完全等价。3.具有关系代数和关系演算双重特点的语言
如 SQL。
共同特点:语言具有完备的表达能力,是非过程化的集合操作
语言,功能强,能嵌入高级语言中使用。
关系操作的特点::一次一集合的操作方式。存取路径对用户透
明。
关系模型的三类完整性规则:1.实体完整性规则:要求关系中组
成主属性上不能取空值。2.参照完整性规则:要求不引用不存在
的实体。3.用户定义完整性规则:由具体应用环境决定,系统提
供定义和检验这类完整性的机制。
设 F 是基本关系 R 的一个或一组属性,但不是关系 R 的码。如 F
与基本关系 S 的码 Ks 相对应,则称 F 是基本关系 R 的外码。
关系代数的运算符包括:集合运算符、专门的关系运算符、算
术比较符合逻辑运算符。
联接包括 θ 联接和 F 联接,是选择 R×S 中满足 iθ(r+j)或 F 条件的
元组构成的集合,特别注意等值联接(θ 为等号"=")。
自然联接(R|X|S):在 R×S 中,选择 R 和 S 公共属性值均相等的
元组,并去掉 R×S 中重复的公共属性列。如两个关系没有公共
属性,则自然联接就转化为笛卡尔积。
关系代数的运算符:集合运算符、专门的关系运算符、算术比
较符、逻辑运算符传统的集合运算。
传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积
四种运算。
差:关系 R 与关系 S 的差由属于 R 而不属于 S 的所有元组组成。
广义笛卡尔积:两个分别为 n 目和 m 目的关系 R 和 S 的广义笛
卡尔积是一个(n+m)列的元组的集合。若 R 有 k1 个元组,S 有 k2
个元组,则关系 R 和关系 S 的广义笛卡尔积有 k1×k2 个元组。笛
卡尔积可以表示为一个二维表。表中的每行对应一个元组,表
中的没列对应一个域。
专门的关系运算包括:
选择 σ,即限制,在关系中选择满足给定条件的诸元组。
投影 π,从 R 中选择出若干属性列组成新的关系。
连接:它是从两个关系的笛卡尔积中选取属性间满足一定条件
的元组。
除÷:除法的结果中元数为两个元数的差,可以直接用观察法来
得到结果,把 S 看作一个块,拿到 R 中去和相同属性集中的元
组作比较,如有相同的块,且除去此块后留下的相应元组均相
同,那么可以得到一条元组,这些元组的集合就是除法的结果。
关系代数运算中并、差、笛卡尔积、投影和选择 5 种运算为基本
的运算。
关系演算:以数理逻辑中的谓词演算为基础,按谓词变元的不
同,可分为元组关系演算和域关系演算。
元组关系演算以元组变量作为谓词变元的基本对象。E.F.Codd 提
出 的 ALPHA 语 言 主 要 有 :
GET,PUT,HOLD,UPDATE,DELETE,DROP 六条语句,
基本格式是:操作语句 工作空间名(表达式):操作条件
例:查询所有学生数据.
GET W (student)
例:查询信息系中年龄小于 20 岁的学生的学号和年龄.
GET W (student.Sno , student.Sdept) :
student.Sdept='IS'∧student.Sage<20
修改操作 UPDATE。步骤:1.先用 HOLD 语句将要修改的元组读
到工作空间中。2.然后用宿主语言修改工作空间中元组的属性;
3.最后用 UPDATE 语句将修改后的元组送回数据库。
例:99001 学生从计算机科学系转到信息系。
HOLD W (Student.Sno,Student.Sdetp):Student.Sno='99001'
MOVE 'IS' TO W.Sdetp
UPDATE W
插入操作 PUT。步骤:1.首先用宿主语言在工作空间中建立新元