欢迎来到天天文库
浏览记录
ID:38563648
大小:2.58 MB
页数:114页
时间:2019-06-15
《管理信息系统(上机)2(数据库设计)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、管理信息系统(实验)彭祖成TEL:13388322029QQ:359230708E-mail:pzc_720@163.com管理信息系统第一部分 数据库设计(理论基础)第1章关系数据库1.1关系模型1.2关系模式1.3关系代数1.4关系数据库规范化理论内容1.1关系模型1.1.1关系数据结构1.1.2关系操作1.1.3完整性约束1.1.1关系数据结构一个关系模型的逻辑结构是一张二维表,它由行和列组成。关系:对应通常所说的二维表;元组:表中的一行即为一个元组;属性:表中的一列即为一个属性;主关键字
2、:表中的某个属性组,它可唯一确定一个元组;域:属性的取值范围;分量:元组中的一个属性值;关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n)在关系模型中,实体以及实体间的联系都是用关系来表示的。学生登记表1.1.2关系操作关系操作采用集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一个集合的方式。非关系数据模型的数据操作则为一次一个记录的方式。常用的关系操作包括:选择、投影、连接、除、并、交、差等查询操作和增、删、改操作两部分。查询的表达能力是其中最重要的部
3、分。1.1.3完整性约束关系模式设有一名为R的关系,它有属性A1,A2,…,An,其对应的域分别为D1,D2,…,Dn,则关系模式可表示为:R=(A1,A2,…,An)上式是对关系R的型的描述,称关系R的模式。其中:n是R的属性的个数称为关系的目;Ai(1≤i≤n)是属性名,在同一关系中不能同名。完整性约束:在RDB中,完整性约束用于确保数据的准确性和一致性。1.域完整性约束2.实体完整性约束3.参照完整性约束4.用户定义完整性约束其中:实体完整性约束和参照完整性约束是关系模型必须满足的完整
4、性约束条件。1.域完整性约束限定属性的取值范围,并由语义决定一个属性值是否允许为空值“NULL”。空值“NULL”用来说明在数据库中某些属性值可能是未知的,即“不知道”或在某些场合下是不适应即“无意义”的一种标记。空值不是空格值,它是跳过或不输的属性值。例:教师关系(教师号,教师名,年龄,职称,系部号)中,对一个新调入的教师在未分配具体单位之前,属性系部号一列可取空值(NULL)。域完整性约束是最简单、最基本的约束。在当今的RDBMS中,一般都有域完整性约束检查功能。2.实体完整性约束实体完整性
5、约束:指任一关系中主关键字的值不能为空值“NULL”并且取值惟一。实体完整性约束能保证实体的唯一性。实体完整性约束能保证实体的可区分性。大部分DBMS支持实体完整性约束检查,但不是强制的和彻底的。如果用户的数据模式中说明了主关键字,则DBMS可以进行这项检查。但有些DBMS允许用户在数据模式中不说明主关键字,在此情况下无从进行实体完整性约束检查。甚至当插入大量元组时,为了改善性能,有些DBMS手册还推荐用户在此时暂且撤销主关键字的说明。3.参照完整性约束现实世界中的实体之间存在着某种关系,在关系模
6、型中实体及实体间的联系都是用关系来描述的,因此就自然存在着关系与关系间的引用。参照完整性约束定义外部关键字与主关键字之间的引用规则。当两个关系存在关系间的引用时,要求不能引用不存在的元组。例1:学生管理数据库中有关系:学生(学号,姓名,性别,年龄,班级号):参照关系班级(班级号,班级名,人数,专业号):被参照关系学生关系与班级关系之间存在属性引用,学生关系中的某个属性的取值需要参照班级关系的属性取值。“班级号”属性只能取:空值“NULL”或非空值。“班级号”属性是学生关系的外部关键字。例2:学
7、生管理数据库中有关系:学生(学号,姓名,性别,年龄,班级号):被参照关系课程(课程号,课程名,学分,周学时):被参照关系考试(学号,课程号,成绩):参照关系学生、课程与考试三个关系之间存在属性的引用。“学号”和“课程号”属性是考试关系的外部关键字。4.用户定义完整性约束用户定义的完整性约束是针对某一具体RDB的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例:学生考试成绩必须大于或等于零,职工的工龄应小于年龄,人的身高不能超过3米等,都是针对具体关系而提出的完整性约束条件。RDBMS
8、应提供定义和检验这类完整性的机制,以便能用统一的方法处理他们,而不是由应用程序承担这一功能。在有些DBMS中,允许用户对个别数据说明一些约束及违反约束时的处理过程,但迄今还没有一个RDBMS产品,全面实现用户定义完整性约束检查。1.2关系模式1.2.1关系概念模式1.2.2关系内模式1.2.3关系外模式1.2.1关系概念模式关系概念模式主要包括出现在DB中的每个关系的说明,它包括对关系名、属性名和属性取值范围(类型)的说明。在关系数据模型中可不说明关系与关系间的
此文档下载收益归作者所有