收藏 分享(赏)

《数据库原理与技术》课程复习资料.doc

上传人:精品资料 文档编号:10666135 上传时间:2019-12-16 格式:DOC 页数:14 大小:171KB
下载 相关 举报
《数据库原理与技术》课程复习资料.doc_第1页
第1页 / 共14页
《数据库原理与技术》课程复习资料.doc_第2页
第2页 / 共14页
《数据库原理与技术》课程复习资料.doc_第3页
第3页 / 共14页
《数据库原理与技术》课程复习资料.doc_第4页
第4页 / 共14页
《数据库原理与技术》课程复习资料.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、数据库原理与技术课程复习资料一、名词解释:1.数据管理2.DB3.DBMS4.DBS5.RDBMS6.DBA7.ORDBMS8.SQL 9.关系10.关系模型11.关系系统12.完整性控制13.属性14.2NF15.候选码二、单项选择题:1.任何由二个属性组成的关系可能是 A.1NF B.2NF C.3NF D.不能判定2.数据冗余引起的问题主要是花费 A.时间 B.空间 C.时间与空间 D.时间或空间 3.在数据库中,存储冗余数据是 A.不应该的 B.应该且合理的 C.合理的但不能过度冗余 D.视情况而定4.在关系运算中,进行自然联接运算的两个关系 A.必有相同的列名 B.必有相同的关键字

2、C.没有要求 D.必有类型相同的列 5.在数据库系统中,DBMS 与 DB 的关系是 A.DBMS 包括 DB B.DB 包括 DBMS C.不一定的 D.同级关系 6.在 SQL 的查询语句的 WHERE 子句中,下列哪个不能出现? A.sum B. != C.=12,各字段的类型长度可以根据需要自己确定。用 SQL 与关系代数(两者都要)表示: (a)找出信息学院的电话与学生学号、姓名建立视图表示关系(院系名称、电话、学号、姓名、年龄、性别)5.现有如下 E-R 图:实体的主要属性如下,其中下划线部分为主码:部门(编号、名称、电话、部门负责人号、)职工(职工号、姓名、年龄、性别、工资、津贴

3、、)试用 SQL 表示(即定义)上述 E-R 图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系(一定要表示联系) ,其中电话以0731-开头,年龄=18,工资+津贴 找出成品库 II(名)的仓库号、面积、货位数。试用 SQL 表示查询:找出110110011号零件的所在的仓库号,仓库名,货位数。七、关系数据库设计综合应用。1.有一关系模式 R(A、B、C、D),满足的函数赖关系为F = AC,ACB, BD (1)求关系模式的码,并写出求解过程。2.有一关系模式 R(A、B、C、D),满足的函数赖关系为F = ABC,ACB, ACD,DB (1)试判断 R 的最高范式,

4、并说明理由。3.有一关系模式 R(A、B、C、D、E),满足的函数赖关系为F = ABC, ADE,BD (1)求关系模式的码,并写出求解过程。4.有一关系模式 R(A、B、C、D、E),满足的函数赖关系为F = BA, AD, AE, ADC,BD (1)试判断 R 的最高范式,并说明理由。5.试证明:关系模式 R 为 BCNF,则 R 一定为 2NF。而关系模式 R 为 2NF,则不一定为 BCNF。6.有一关系模式 R(A、B、C、D),满足的函数赖关系为F = BC, BDA,DC (1)求关系模式的码,并写出求解过程。八、SQL 编程综合应用。1.编写程序:写程序表示产生以13907

5、31 (7 位)开头的 11 位手机号,后 4 位都为数字,其中第末位不为 4。要求将结果存入数据库表中。2.编写程序:编写程序,表示如下要求:n 个学生(可以不用输入,固定一个数即可,如 230) ,平均分成 m 个班(多余的人尽量平均放到前面的班) ,请产生学号,其中前四位为i305 ,第五位为班号如 1,2 分别表示 1,2 班,第 6、7、8 位m p 零件仓库 库存库存量表示序列号,第 9 位固定为 5。要求将结果存入数据库表中。3.编写程序,并写出程序运行产生的最后一个结果。用 PL/SQL 编写程序,表示产生以i6081开头的第 9 位固定为 3 的 6、7、8 位不超过 236

6、 的多个学号。要求将结果存入数据库表中。4.试编写程序:用 PL/SQL 编写程序,表示产生以09011开头的第 8 位不为 4 而第 9 位固定为 3 的 6、7、8 位不超过 136 的多个学号。要求将结果存入数据库表中。5.试编写程序:产生以湘 A-0开头的两位字母、两位数字(如湘 A-0AA99,湘 A-0BB66,湘 A-0SS77) ,的不少于200 个的车牌号码,其中要求尾数不为 4,并要求存入数据库表 v_number(l_number varchar(20),Memo varchar(32)。6.试编写程序:写程序表示产生以888 (3 位)开头的 6 位 QQ 号存入一个号

7、码表中,表中字段除号码外,还有一个标注字段。后 3 位都为数字,其中末位一般不为 4,但如果最后 4 位是444 ,则允许并标注为”特别号”,号码中尾数为 6,7,8,9 都需标注为”幸运号” 。 要求将结果存入数据库表中。假如已有表 QQ_number ,内有字段 qno char(11), spec char(8);数据库原理与技术课程复习资料参考答案一、名词解释:1.数据管理:对数据进行收集、存储、检索、维护、传播等活动的总和。是数据量发展到一定程度计算机管理的重点。2.DB:在 DBMS 的集成管理下,有较高的数据独立性,有较少的冗余,相互间有文件的集成.如答案为:存储数据的仓库,给一

8、半分,答:相互间有联系的数据集成,给全分。3.DBMS:数据库管理系统,管理数据库的软件系统。是有数据库的计算机系统的中心管理软件,一般依赖于操作系统。4.DBS:DBS:数据库系统(1 分),包括 DB,DBMS 与 DBA 的计算机系统。5.RDBMS:关系数据库管理系统,即以表来表示实体及其联系的数据库管理系统,如典型的 ORACEL,SQL SERVER 等,现在流行的大型数据库系统基本上都是 RDBMS。6.DBA:数据库管理员,负责对数据库进行管理、监控、优化操作的人员。7.ORDBMS:对象关系数据库管理系统,即在关系数据库管理系统的基础上,支持面向对象的特点,支持类型的定义与对

9、象的定义,支持组合、引用、继承等类型扩充规则。8.SQL:结构化查询语言,现已成为为关系数据库的标准查语言,有 ANSI 与 ISO 标准,还有 SQL2 与SQL3 两种标准。9.关系:一组集合的笛卡尔乘积的子集,满足某一特定地条件的集合。一般表示为表结构。10.关系模型:用表来表示实体与实体间联系的模型。11.关系系统:支持表结构、且支持选择、投影、联接等关系运算而不依赖于物理路径的系统。12.完整性控制:保证数据是正确有效相容的一种机制13.属性:实体的某一特性或特征,常用来描述实体。14.3NF:关系模式中所有非主属性都是非传递依赖于码的,或:关系模式 R 中不存在任何非主属性传递依赖

10、于任意一个码,则称 R 为 3NF。15.候选码:关系的属性或属性集,能唯一标识整个关系,但没有真子集(比其小)能标识关系。或者关系的属性或属性集能完全决定关系的全部属性。二、单项选择题:1.C 2.C 3.C 4.D 5.D 6.A 7.B 8.C 9.C 10.A 11.C 12.A 13.A 14.D 15.D 16.C 17.B 18.A三、判断题:1. 2. 3. 4. 5. 6. 7. 8. 9. 10.11. 12. 13. 14. 15. 16. 17. 18. 19. 20.21. 22. 23. 24.四、填空题:1.关系代数运算中,运算对象为两个关系的运算有并、_交_、_

11、差_、_除_、_联接_等。2.常用的关系运算是_关系代数_与_关系演算_。3.SQL 的标准库函数有_SUM_、_AVG_、_MAX_等,其中不允许直接出现在查询 Where 子句中的有_SUM_、_AVG_。4.数据模型包括数据结构、_数据操作_与_完整性约束条件_。5.数据库系统包括计算机硬件、_数据库管理系统等软件,数据库,DBA 等人员_等。6.数据库的数据控制功能包括安全性、_完整性,并发_等控制功能。_等,用于数据库应用系统的开发工具主要有 VB、_ PB, Delphi_等。7.数据库设计主要包括需求分析、_概念设计,逻辑设计,物理设计(编码调试)_、运行维护等步骤。8.数据库系

12、统主要包括关系、_层次,网状(面向对象)_等类型的系统。五、简要回答以下问题:1.为什么说 ORACLE10g 是完备式关系系统?答:首先 ORACLE 是关系系统,因为 ORACLE 支持 SQL,支持表结构,支持选择、投影、联接而不依赖于任务物理路径。其次,在 ORACLE 中,支持完整性操作如实体完整性用 PRIMARY KEY 来定义、参照完整性用外键来定义,用户自定义完整性用 CHECK 或 TRIGGER 来定义。2.试比较文件系统与数据库系统的区别与联系?联系:数据库系统也是文件系统,因为数据库最终是通过操作系统读取的,以文件为最终组织形式。区别:数据库是有组织的、冗余小的,相互

13、有联系的文件的集合,而文件系统中,文件一般没有联系,冗余问题也较少考虑。六、关系代数与 SQL 综合应用。1.现有如下 E-R 图:实体的主要属性如下,其中下划线部分为主码:单位(编号、名称、电话、地址、邮编、负责人员工号、)员工(员工号、姓名、年龄、性别、职称职务、)试用 SQL 表示(即定义)上述 E-R 图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系(一定要表示联系) ,其中电话以026-开头且唯一,性别为“男” 、 “女”或“其它” ,各字段的类型长度可以根据需要自己确定。答案:create table dept(dno char(6) primary key,

14、 dname varchar(32), tel char(12) check( substr(tel, 1,4) = 026-),add varchar2(32),post char(6); create table emp(eno char(7) primary key, ename char(8), age number(2), sex char(2) check(SEX in (男,女 ,其它), title varchar2(12),dno char(6) references dept (dno) alter table dept add manager_no char(7) ref

15、erences emp(eno)在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。insert into dept values(110011,新开区规划部,026-88883210,湖南长沙星沙开元路 16 号,410061,null);insert into emp values(1101101, 张一通,26,男,科长,110011);用 SQL 与关系代数(两者都要)表示: 找出新开区规划部的电话与职工号、姓名select tel, eno, enamefrom dept, emp where dept.dno=emp.dno and dname=新开区规划部;tel,en

16、o,ename (dname =新开区规划部 (dept)|emp )试用 SQL 表示查询: 找出姓名为“张一通”的员工编号与年龄select eno, agefrom emp where ename=张一通;删除名称为空值的单位。Delete from dept where dname is null;2.现有如下 E-R 图, 实体的主要属性如下,其中下划线部分为主码:1 n员工单位 有1 n教职工学校 有学校(编号、名称、电话、)教职工(职工号、姓名、年龄、性别、职称、)试用 SQL 表示(即定义)上述 E-R 图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系(一

17、定要表示联系) ,其中电话以0731-开头且唯一,性别为“男”或“女” ,各字段的类型长度可以根据需要自己确定。create table university(uno char(6) primary key,uname varchar(32),tel char(12) check substr(tel,1,4)=0731-);create table emp(empno char(8) primary key, ename char(8), age number(2) check(age=20), sex char(2) check(sex in 男,女), title varchar2(8)

18、, uno char(6) references university(uno)在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。insert into university values(110101, 中南大学,0731-8839628);insert into emp values(303111, 欧阳正菁,22, 女,讲师,110101);用 SQL 与关系代数(两者都要)表示: (1)找出中南大学的电话与职工号、姓名select empno,ename from emp where uno in (select uno from university where unam

19、e =中南大学empno,age (uname =中南大学 (university)|emp)试用 SQL 表示查询: 找出平均年龄小于 45 的学校编号与名称、电话。Select uno, uname, tel from university where uno in (select uno from emp having avg(age)=20,各字段的类型长度可以根据需要自己确定。create table corporation(cno char(6) primary key,cname varchar(32),tel char(12) check substr(tel,1,4)=073

20、1-);create table emp(empno char(8) primary key,ename char(8),age number(2) check(age=20), sex char(2),cno char(6) references corporation(cno)用 SQL 与关系代数(两者都要)表示: 找出张柟芳的学号与年龄、性别select empno,age,sex from emp where ename= 张柟芳empsno,age,sex (ename =张柟芳 (emp) )试用 SQL 表示查询: 找出平均学生年龄大于 35 的公司编号与名称、电话。Selec

21、t cno, cname, tel from corporation where cno in (select cno from emp having 1 n职工公司 有avg(age)35 group by cno, empno)建立视图表示关系(公司名称、电话、职工号、姓名、年龄、性别)create view sd_stud(公司名称、电话、职工号、姓名、年龄、性别)as select cname,tel,empno,ename,age,sexfrom corporation,emp where o=emp.empno)4.现有如下 E-R 图:实体的主要属性如下,其中下划线部分为主码:院

22、系(编号、名称、电话、)学生(学号、姓名、年龄、性别、)试用 SQL 表示(即定义)上述 E-R 图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系(一定要表示联系) ,其中电话以88开头且唯一,年龄=12,各字段的类型长度可以根据需要自己确定。create table school_dept(sdno char(4) primary key,sdname varchar(32),tel char(7) check substr(tel,1,2)=88);create table stud(sno char(8) primary key,sname char(8),age

23、number(2) check(age=12), sex char(2),sdno char(4) references school_dept(cno)用 SQL 与关系代数(两者都要)表示: 找出信息学院的电话与学生学号、姓名select sno,sname from stud where sdno in (select sdno from school_dept where sdname = 信息学院sno,age (sdname =信息学院 (school_dept)|stud )试用 SQL 表示查询: 找出平均学生年龄大于 21 的院系编号与名称、电话。Select sdno, s

24、dname, tel from school_dept where sno in (select sno from stud having avg(age)21 group by sdno,sno)5.现有如下 E-R 图: 实体的主要属性如下,其中下划线部分为主码:部门(编号、名称、电话、部门负责人号、)职工(职工号、姓名、年龄、性别、工资、津贴、)试用 SQL 表示(即定义)上述 E-R 图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系(一定要表示联系) ,其中电话以0731-开头,年龄=18,工资+津贴=18),sex char(2), sal number(10,

25、2),comm. Number(10,2) , dno char(4) references dept (dno), check(sal+comm.)2000 group by dno);建立视图表示关系(部门名称、电话、职工号、姓名、年龄、性别)create view dept_emp(部门名称、电话、职工号、姓名、年龄、性别) as select dname,tel,eno,ename,age,sex from emp,dept where emp.dno=dept.dno6.现有如下 E-R 图:实体的主要属性如下,其中下划线部分为主码:仓库(仓库号、仓库名、面积、货位数、保管员,)零件

26、(零件号、零件名称、规格型号、计量单位、供货商号、价格、)库存(?,?,库存量)试用 SQL 表示(即定义)上述 E-R 图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系(外码) ,价格在 0 到 10 万之间,其中的类型长度可以根据需要确定。?,?处需要填上相应的属性。用 SQL 与关系代数表示查询:a 找出成品库 II(名)的仓库号、面积、货位数。试用 SQL 表示查询: 找出110110011号零件的所在的仓库号,仓库名,货位数。解:(1)?处分别填仓库号,零件号Create table warehouse(wno char(4) primary key, wnam

27、e varchar2(32), size number(8,2), l_num number(8),eno char(7) references emp(eno),emp_name char(8)Create table part(pno char(9) primary key, pname varchar2(32), p-size varchar2(32), cust_no char(7), p_price number(10,2) check(p_price between 0 and 100000)Create table store(wno char(4) references war

28、ehouse.wno, pno char(9) references part.pno, num number(12,2)用 SQL 与关系代数表示查询: a 找出成品库 II号仓库的仓库号、面积、货位数。select wno, size, l_num from warehouse where wno=成品库 II wno,size_l_num (wname =成品库 II(warehouse) )试用 SQL 表示查询: 找出110110011号零件的所在的仓库号,仓库名,货位数。Select wno, wname, sum(l_num) from warehouse where wno i

29、n (select wno from store where pno= 110110011);七、关系数据库设计综合应用。1.由已知条件可知:函数关系的右属性不包含 A,所以码中必包含 A易知 A 能推出所有其它属性,所以 A 是码可知 R 的码有A2.因为不存在非主属性,所以 R 为 3NF,但有 DB,所以 R 不为 BCNF。3.求关系模式的码, 并写出求解过程解:在 F 中的右边没有 B,则 R 的码一定含有 B,又 BF+ =B,A,D,E,C, 所以 R 的码为 B 且只有 Bm p 零件仓库 库存库存量4.因为有 BC,而 C 为非主属性,则 R 不为 2NF,即 R 的最高范式

30、为 1NF.5.证明:第一部分,采用反证法,假定 R 不为 2NF,则一定存在非主属性对码的部分依赖,即如码 X,非主属性 Y,则一定存在 X真包含于 X,有 XY,由于 X不为码,Y 为非主属性,YX ,所以R 不为 BCNF。第二部分,可以通过举例说明,R 为 2NF,而 R 不为 BCNF。 6.解:在 F 中的右边没有 B,所以 R 的码一定含有 B,又:BF+=B,C,即 B 不为 R 的码考虑 B 与其它属性的组合, AB F+=A,B,C;BCF+=A,B,C; BDF+=B,C,D,A;知 BD 为码又 ABCF+=A,B,C,所以 R 的码只有 BD 一个八、SQL 编程综合

31、应用。1.编写程序:编写程序产生以1390731 (7 位)开头的 11 位手机号,要求末位不为 4。提示:程序结构为: DECLARE 变量定义 BEGIN 程序体 END;DECLARE BH :NUMBER= 10000;PH CHAR(4);BEGINwhile BH4) thenINSERT INTO temp_table (BH)select 139073|to_char(BH) from dual;BH :=BH + 1;end loop;END;2.编写程序:编写程序,表示如下要求:n 个学生(可以不用输入,固定一个数即可,如 230) ,平均分成 m 个班(多余的人尽量平均放

32、到前面的班) ,请产生学号,其中前四位为i305 ,第五位为班号如,分别表示,班,第、8位表示序列号,第 9 位固定为 5。要求将结果存入数据库表中。参考答案:/*首先需要有输入语句输入 n 与 m ,也可以直接在程序中指定*/DECLARE BH,k, j, k1 number:= 1;BEGINk:=int(n,m); /* 学生数除班数取整,即平均每个班多少人 */j:=mod(n,m); /* 学生除班数取整后的余数,即平均到每个班后还剩下多少人 */For i=1m loopIf i=100 thenINSERT INTO temp_table (sno)select i305|to

33、_char(i)|to_char(BH)|5 from dual;else INSERT INTO temp_table (sno)select i305|to_char(i)|0|to_char(BH)|5 from dual;end if;end if;BH :=BH + 1;end loop;end loop;END;3.编写程序,并写出程序运行产生的最后一个结果。用 PL/SQL 编写程序,表示产生以i6081开头的第 9 位固定为 3 的 6、7、8 位不超过 236 的多个学号。答案DECLARE v_LC number:= 1;V_no number;BEGINwhile v_L

34、C4 thenIf v_LC 4 thenINSERT INTO v_number (l_number) select 湘 A-0AA0|to_char(car_code) from dual;INSERT INTO v_number (l_number) select 湘 A-0BB0|to_char(car_code) from dual;Else if mod(car_code,10)4 thenINSERT INTO v_number (l_number) Select 湘 A-0AA|to_char(car_code) from dual;INSERT INTO v_number (

35、l_number) Select 湘 A-0BB|to_char(car_code) from dual;end if; car_code := car_code + 1;end loop;END;6.试编写程序:写程序表示产生以888 (3 位)开头的 9 位 QQ 号存入一个号码表中,表中字段除号码外,还有一个标注字段。后 3 位都为数字,其中末位一般不为 4,但如果最后 4 位是444 ,则允许并标注为”特别号”,号码中尾数为 6,7,8,9 都需标注为”幸运号” 。假如已有表 QQ_number ,内有字段 qno char(11), spec char(8);假定先建立了表 QQ_n

36、um(QQ_id,memo)DECLARE QQ_code number_:= 8000000;QQ_idM char;memom char;BEGINwhile QQ_code4 thenIf mod(qq_code,10) in (6,7,8,9) thenqq_idm:=88|to_char(qq_code);memom:=幸运号;elseqq_idm:=88|to_char(qq_code);end if;end if;INSERT INTO QQ_num (qq_id,memo)Select qq_idm,memom from dual;qq_code := qq_code + 1;end loop;END;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报