欢迎来到天天文库
浏览记录
ID:23089924
大小:1.44 MB
页数:51页
时间:2018-11-04
《《网络数据库课程》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、网络数据库课程讲稿(赵晨)第一部分:网络数据库理论第一节:数据库设计过程数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库设计过程主要包含一下几个主要的过程:需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,
2、安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。第二节:关系模型关系模型是关系数据库的基础,它利用关系来描述现实世界。而一个关系可以用来描述实体及其属性,也可用来描述实体间的联系。以用户的观点来看,一个关系就是一张二维表。概念模型中关系理论中关系数据库中某些软件中实体集(Entityset)关系(relation)表(Table)表(或数据库文件)实体(Entity)元组(Tuple)行(Row)记录(Recode)属性(Att
3、ribute)属性(Attribute)列(Col)字段(Field)主码(Primarykey)主码(Primarykey)关键字(Primarykey)关键字(Primarykey)关系的特点:§关系的每一行定义实体集的一个实体,每一列定义实体的一个属性。§每一行必须有一个主码,主码是一个属性组(可以是一个属性),它能惟一的标识一个实体。§每一列表示一个属性,且列名不能重复。§列的每个值必须与对应属性的类型相同。§列有取值范围,称为域。§列是不可分割的最小数据项。§行、列的顺序对用户无关紧要。关系中的术语51§候选码(CandidateK
4、ey)若关系中的某一属性组(或单个属性)的值能惟一的标识一个元组,则称该属性组(或属性)为候选码。一般选择一个候选码作为关系的主码。§主属性(PrimeAttribute)和非主属性关系中包含在任何一个候选码中的属性称为主属性。不包含在任何一个候选码中的属性称为非主属性。§设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,称基本关系S为被参照关系。关系模型中的三类完整性约束§实体完整性规则:若属性A是关系R的主属性,则A不能取空值。§参照完
5、整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应,则对于R中的每个元组在F上的值必须满足:或者取空值(F的每个属性均为空值),或者等于S中某个元组的主码值。例如:在授课系统的关系模型中:课程(课号,课名,学分)课号关系课程的主码教师(工号,姓名,职称,课号)课号是关系教师的外码参考书(书号,书名,课号)关系教师是参照关系,关系课程是被参照关系。在授课系统的关系模型中,关系教师中的外码“课号”只能是下面两类值:(1)空值。表示还未给该教师安排课。(2)非空值,但此值必须为被参照关系课程中某一门课程的“课号”§用户
6、定义的完整性规则:用户定义的完整性就是针对某一具体要求来定义的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如,某个属性必须取惟一值;某些属性之间应满足一定的函数关系;某个属性在一定的取值范围之间等。关系模型应提供定义和检验这类完整性的机制,以便系统用统一的方法处理它们,而不需要由应用程序来承担这一功能。完整性规则检查:为了维护数据库中数据的完整性,在对关系数据库执行插入、删除和修改操作时,就要检查是否满足以上三类完整性规则。§当执行插入操作时:首先检查实体完整性规则,插入行的主码属性上的值,是否已经存在。若不存在,可以执行插
7、入操作;否则不可以执行插入操作。再检查参照完整性规则,如果是向被参照关系插入,不需要考虑参照完整性规则;如果是向参照关系插入,插入行在外码属性上的值是否已经在相应被参照关系的主码属性值中存在。若存在,可以执行插入操作;否则不可以执行插入操作,或将插入行在外码属性上的值改为空值后再执行插入操作(假定该外码允许取空值)。最后检查用户定义完整性规则,检查被插入的关系中是否定义了用户定义完整性规则,如果定义了,检查插入行在相应属性上的值是否符合用户定义完整性规则。若符合,可以执行插入操作;否则不可以执行插入操作。§当执行删除操作时:51一般只需要检查
8、参照完整性规则。如果是删除被参照关系中的行,则应检查被删除行在主码属性上的值是否正在被相应的参照关系的外码引用,若没被引用,可以执行删除操作,若正在被引用,有三种可
此文档下载收益归作者所有