3)数据共享 4)数据相对独立 5)数据粒度小 2、 1) 数据定义功能 2) 数据操纵功能 3) 数据控制功能 4) 数据维护功能
3、实体完整性规则要求:关系中各元组的主键不允许取空值。
例如有如下关系模式:
学生(学号,姓名,性别,状态,入学时间,最后登陆时间,登陆次数) 主键:学号 如果学号没有值,即取了空值(所谓空值对应现实世界意味着“不知道”或“无意义”),就说明在计算机世界存在某个不可标识的学生,即存在不可区分的实体,这与现实世界的应用环境相矛盾。
参照完整性规则要求:外键要么取空值,要么取被参照关系的某主键值。 例如有如下关系模式:
学生(学号,姓名,所在院系,性别,入学时间) 主键:学号 外键:所在院系 院系(院系编号,院系名称) 主键:院系编号
两个关系有关联,即学生关系的所在院系是指院系关系的院系编号。 学生关系中的所在院系非空时必须是确实存在的院系编号,即学生关系中的所在院系必须是院系关系的某院系编号,否则该学生会隶属于一个“不存在的”院系,与现实世界相矛盾;学生关系中的学号为空时表示尚未确定该学生隶属于哪个院系。
用户自定义的完整性要求:由用户自己规定属性取值的限定条件。 例如有如下关系模式:
学生(学号,姓名,所在院系,性别,入学时间,入学成绩) 在设计时定义性别用长度是1的字符型数据表示,但这一条件太弱,无法防止用户输入的误操作,如在性别字段输入汉字“张”,这与现实世界性别只能是“男”或“女”相矛盾。因此用户可以加一个补充的限定条件:性别=“男” or 性别=“女”,当用户进行输入操作时由DBMS将用户输入的数据带入到上述条件中进行判断,禁止除“男”“女”之外的其它数据的输入。 4、1) 选择运算
选择运算是指从指定的关系中选择满足给定条件的元组组成新的关系。
2) 投影运算
是指从关系的属性集合中选取指定的若干个属性组成新的关系。
3) 连接运算 连接运算是在两个关系的所有元组组合(即广义笛卡尔积)中选择符合指定条件的元组,生成一个新的关系。 五、设计题 1、(1)E-R图
库存数量 编号 名称 颜色 零件 m 数量 供应商编号 供应商名称 供应 n 供应商 所在城市 电话 联系人
(2)关系模型
供应商(供应商编号, 供应商名称, 所在城市, 电话, 联系人) 主键:供应商编号 零件(零件编号, 零件名称, 颜色, 库存数量) 主键:零件编号 供应关系(供应商编号, 零件编号, 数量) 主键:(供应商编号, 零件编号) (3)查询
a) select供应商名称, 联系人, 电话 from 供应商 b) select * from 供应商 where 所在城市=”北京” c) select 零件名称, 颜色, 库存数量 from 零件
d) select 零件名称, 数量 from 供应商, 零件, 供应关系
where 供应商. 供应商编号=供应关关系. 供应商编号 and 供应关系. 零件编号=零
件.零件编号 and 供应商名称=”易达公司” 2、(1)E-R图
借书证号 姓名 单位 借书人 m 借书日期 借阅 还书日期 n 图书 m 出版 1 出版社 出版社名 电报编号 电话 书号 书名 数量 位置 邮编 地址
(2)关系模型
借书人(借书证号,姓名,单位) 主键:借书证号
图书(书号,书名,数量,位置,出版社名) 主键:书号
出版社(出版社名,电报编号,电话,邮编,地址) 主键:出版社名
借阅(借书证号,书号,借书日期,还书日期) 主键:(借书证号,书号,借书日期)
第四章 一、填空题
1.数据结构
2.数据的逻辑结构
3.线性结构、树形结构、图状结构、集合结构 4.顺序存储、链式存储 5.31 6.5 7.2i-1
8.先序遍历、中序遍历、后序遍历 9.0 10.指针
二、选择题
1-5:BDBAB 6-11:BCBCBD
三、判断题
1-7:错对错对错对对
四、简答题
1.什么是栈?栈的操作特点是什么?
答案:栈是限定只能在一端进行插入和删除操作的线性表。操作特点是后进先出。 2. 假定有四个元素A,B,C,D依次进栈,进栈过程中允许出栈,试写出所有可能的出栈序列。
答案:共14种:ABCD,CDBA,DCBA,BCDA,BDCA,BCAD,BADC BACD,CBAD,CBDA,CDBA,ADCB,ACDB,ACBD
3.对于栈来说栈空和栈满的两个限制条件是什么? 答案:栈空条件:s—>top = 0,此时不能进行出栈操作
栈满条件:s—>top = Maxsize -1,此时不能进行进栈操作 4.什么是队列?队列的操作特点是什么?
答案:队列是在一端进行插入操作,在另一端进行删除操作的线性表,操作特点是先进先出。 5.简述二叉树的性质
答案:(1)在二叉树中,第i层的结点总数不超过2i-1(i>=1);
(2)深度为h的二叉树最多有2h-1个结点(h>=1),最少有h个结点; (3)如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1; (4)具有n个结点的完全二叉树的深度为int(log2n)+1;
(5)有N个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下
关系:
若I为结点编号则 如果I≠1,则其父结点的编号为int(I/2); 如果2*I<=N,则其左儿子的编号为2*I;否则无左儿子;
如果2*I+1<=N,则其右儿子的结点编号为2*I+1;否则无右儿子。
6.一棵完全二叉树有10个结点,各结点按自上至下、由左至右编号为1、2、3……10。问该二叉树有几层?编号为5的结点的父结点是几号结点,5号结点有没有左孩子和右孩子?如果有,编号分别是多少?如果没有,为什么? 答案:
该二叉树有4层,[log210]+1=4
5号结点的父结点是2号结点。 5号结点有左孩子,编号是10
5号结点没有右孩子,因为5号结点的右孩子编号应该是2*5+1=11,11>10,所以没有右孩子。
7. 写出下面二叉树的三种遍历顺序。
abcdefgh 答案:先序遍历序列:a b d g c e f h i 中序遍历序列:d g b a e c h i f 后序遍历序列:g d b e i h f c a
i
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库哈工程 大学计算机基础 课后习题答案(2)在线全文阅读。
相关推荐: