- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络数据库课程讲稿(赵晨)
第一部分:网络数据库理论
第一节:数据库设计过程
数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
数据库设计过程主要包含一下几个主要的过程:需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。
第二节:关系模型
关系模型是关系数据库的基础,它利用关系来描述现实世界。而一个关系可以用来描述实体及其属性,也可用来描述实体间的联系。以用户的观点来看,一个关系就是一张二维表。
概念模型中 关系理论中 关系数据库中 某些软件中 实体集(Entity set) 关系(relation) 表(Table) 表(或数据库文件) 实体(Entity) 元组(Tuple) 行(Row) 记录(Recode) 属性(Attribute) 属性(Attribute) 列(Col) 字段(Field) 主码(Primary key) 主码(Primary key) 关键字(Primary key) 关键字(Primary key)
关系的特点:
关系的每一行定义实体集的一个实体,每一列定义实体的一个属性。
每一行必须有一个主码,主码是一个属性组(可以是一个属性),它能惟一的标识一个实体。
每一列表示一个属性,且列名不能重复。
列的每个值必须与对应属性的类型相同。
列有取值范围,称为域。
列是不可分割的最小数据项。
行、列的顺序对用户无关紧要。
关系中的术语
候选码(Candidate Key)
若关系中的某一属性组(或单个属性)的值能惟一的标识一个元组,则称该属性组(或属性)为候选码。一般选择一个候选码作为关系的主码。
主属性(Prime Attribute)和非主属性
关系中包含在任何一个候选码中的属性称为主属性。不包含在任何一个候选码中的属性称为非主属性。
设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,称基本关系S为被参照关系。
关系模型中的三类完整性约束
实体完整性规则:若属性A是关系R的主属性,则A不能取空值。
参照完整性规则: 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应,则对于R中的每个元组在F上的值必须满足:或者取空值(F的每个属性均为空值),或者等于S中某个元组的主码值。
例如:在授课系统的关系模型中:
课程(课号,课名,学分) 课号关系课程的主码
教师(工号,姓名,职称,课号) 课号是关系教师的外码
参考书(书号,书名,课号)
关系教师是参照关系,关系课程是被参照关系。
在授课系统的关系模型中,关系教师中的外码“课号”只能是下面两类值:
(1) 空值。表示还未给该教师安排课。
(2) 非空值,但此值必须为被参照关系课程中某一门课程的“课号”
用户定义的完整性规则:用户定义的完整性就是针对某一具体要求来定义的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
例如,某个属性必须取惟一值;某些属性之间应满足一定的函数关系;某个属性在一定的取值范围之间等。关系模型应提供定义和检验这类完整性的机制,以便系统用统一的方法处理它们,而不需要由应用程序来承担这一功能。
完整性规则检查:为了维护数据库中数据的完整性,在对关系数据库执行插入、删除和修改操作时,就要检查是否满足以上三类完整性规则。
当执行插入操作时:首先检查实体完整性规则,插入行的主码属性上的值,是否已经存在。若不存在,可以执行插入操作;否则不可以执行插入操作。再检查参照完整性规则,如果是向被参照关系插入,不需要考虑参照完整性规则;如果是向参照关系插入,插入行在外码属性上的值是否已经在相应被参照关系的主码属性值中存在。若存在,可以执行插入操作;否则不可以执行插入操作,或将插入行在外码属性上的值改为空值后再执行插入操作(假定该外码允许取空值)。最后检查用户定义完整性规则,检查被插入的关系中是否定义了用户定义完整性规则,如果定义了,检查插入行在相应属性上的值是否符合用户定义完整性规则。若符合,可以执行插入操作;否则不可以执行插入操作。
当执行删除操作时:一般只需要检查参照完整
文档评论(0)