为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

互联网数据库实践考试

2017-10-15 41页 doc 87KB 87阅读

用户头像

is_321635

暂无简介

举报
互联网数据库实践考试互联网数据库实践考试 《互联网数据库》实践操作题(一) 设有一个学生课程数据库,包括学生关系Student、课程关系Course、选修关系 SC, 1. Student 学号(Sno) 姓名(Sname) 性别(Ssex) 年龄(Sage) 所在系(Sdept) 95001 李勇 男 20 CS 95002 刘晨 女 19 IS 95003 王敏 女 18 MA 95004 张立 男 19 IS 2. Course 课程号(Cno) 课程名(Cname) 先行课(Cpno) 学分(Ccredit) 1 数据...
互联网数据库实践考试
互联网数据库实践考试 《互联网数据库》实践操作题(一) 设有一个学生课程数据库,包括学生关系Student、课程关系Course、选修关系 SC, 1. Student 学号(Sno) 姓名(Sname) 性别(Ssex) 年龄(Sage) 所在系(Sdept) 95001 李勇 男 20 CS 95002 刘晨 女 19 IS 95003 王敏 女 18 MA 95004 张立 男 19 IS 2. Course 课程号(Cno) 课程名(Cname) 先行课(Cpno) 学分(Ccredit) 1 数据库 5 4 2 数学 2 3 信息系统 1 4 4 操作系统 6 3 5 数据结构 7 4 6 数据处理 2 7 PASCAL语言 6 4 3. SC 学号(Sno) 课程号(Cno) 成绩(Grade) 95001 1 92 95001 2 85 95001 3 88 95002 2 90 95002 3 80 学生-课程数据库 1(用ACCESS建立数据库,将其存为student-course.mdb。 create student-course.mdb 2(为每个表设置主键,创建索引; create index sno on Sno sname ssex sage sdept create index cno on cno sname cpno Ccredit create index sc on Sno cno grade 4(为每个表添加初始记录; INSERT sno sname ssex sage sdept Into Student Value(95001. 李勇.男,20,cs) (95002,刘晨,女,19,is) (95003,王敏,女,18,ma) (95004,张立,男,19,is) INSERT cno sname cpno Ccredit Into Course Value(1, 数据库,5,4) (2, 数学,null,2) (3, 信息系统,1,4) (4, 操作系统,6,3) (5, 数据结构,7,4) (6, 数据处理,null,2) (7, PASCAL语言,6,4) INSERT Sno cno grade Into sc Value(95001,1,92) (95001,2,85) (95001,3,88) (95002,2,90) (95002,3,80) 5(建立一个视图:学生选课情况(学号,姓名,所在系,课程号,课程名,成 绩)。 Create view st As(sno sname sdept cno sname grade) select sno sname sdept cno sname grade with from Student. Course.sc 6(查询所有年龄在20岁以下的学生姓名与年龄。并写出SQL语句。 Select sname sage From student Where age<20 7(查询每个学生及其选修课程的情况。并写出SQL语句。 Select cno sno grade From sc 8(查询课程平均成绩在80分以上的学生名和平均成绩。并写出SQL语句。 Select sname avg(grade) From student.sc Where student.sno=sc.sno And avg(grade)>=80 9(查询“数据库”的先修课程,并写出SQL语句。 Select cno From sc where subject=数据库 10(删除“数据结构”课程的所有信息,并写出SQL语句。 DELETE * FROM Course WHERE subject=数据结构 1将其转化为关系模式,,用ACCESS建立数据库,将其保存为sales.mdb 答:工厂(厂名,厂长,地址) 工厂-产品-用户(厂名,编号,姓名) 产品(编号,型号,单价) 用户(姓名,地址,电话) 2为每个表设置主键,创建索引 答:CREATE UNIQUE INDEX 厂名 ON 工厂; CREATE UNIQUE INDEX 厂名,编号,姓名 ON 工厂-产品-用户; CREATE UNIQUE INDEX 编号 ON 产品; CREATE UNIQUE INDEX 姓名 ON 用户; 3为每个表添加初始记录 答:INSERT INTO 工厂 VALUES ('宏创加工厂','张三','建设路20号') INSERT INTO工厂-产品-用户 VALUES ('宏创加工厂','张三','建设路20号') INSERT INTO 产品 VALUES ('0001','ks01','150') INSERT INTO 用户 VALUES ('黄卫','泗阳','4809109') 4建立一个视图:供货情况(编号,型号,姓名,电话) 答: CREATE VIEW 供货情况(编号,型号,姓名,电话) AS SELECT 编号,型号,姓名,电话 产品A,用户B,工厂-产品-用户C FROM WHERE A.编号=C.编号 AND B.姓名=C.姓名; 张山”所需要的产品列表,并写出SQL语句 5找出用户姓名为“ SELECT * FROM 产品 WHERE 编号 IN (SELECT 编号 FROM 工厂-产品-用户 WHERE 姓名='张山' ) 6列出所有产品的信息,将结果按预算降序排列。并写出SQL语言 SELECT * FROM 产品 ORDER BY 预算 DESC 7查询编号为“a101”的产品的生产厂名和地址,本写出SQL语言 SELECT 厂名,地址 FROM 产品A,工厂-产品-用户C,工厂D WHERE A.编号=C.编号 AND D.厂名=c.厂名 AND 编号='a101'; 8找出用户姓名为“张山”所需的产品的总价值。并写出SQL语言 SELECT SUM(单价) FROM 产品 WHERE 编号IN ( SELECT 编号 FROM 工厂-产品-用户 WHERE 姓名='张山') ; 9从工厂关系中删除厂名为“轮胎厂”的记录,并从其他关系中删除相应的记录。写出SQL语言 DELETE FROM 工厂 WHERE 厂名='轮胎厂'; DELETE FROM 工厂-产品-用户 WHERE 厂名='轮胎厂' ; 互联网数据库实践考试题 1 绪论 原题: 1(请从程序和数据之间的关系分析文件系统和数据库系统之间的区别和联系。 参考答案: (,)文件系统与数据库系统之间的区别 文件系统用文件将数据长期保存在外存上,数据库系统则用数据库统一存储数据;文件系统中程序和数据有一定的联系,二数据库系统中程序和数据分离;文件系统用操作系统中的存取对数据进行管理,数据库系统则用DBMS统一管理和控制数据;文件系统实现以文件为单位的数据共享,二数据库系统实现以记录和字段为单位的数据共享。 (,)文件系统和数据库系统之间的联系 均为数据组织的管理技术;均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;数据库系统是在文件系统的基础上发展起来的。 原题: 2(数据库系统经历了那几个发展阶段, 参考答案: 数据库技术随着计算机硬件和软件技术的发展,经历了如下三个阶段: (,)人工管理阶段。 (,)文件系统阶段。 (,)数据库管理阶段。 原题: 3(关系数据模型的优缺点各有哪些, 关系数据模型具有下列优点: (,)关系模型与非关系模型不同,他是建立在严格的数学概念的基础上的。 (,)关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的检索结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。 (,)关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发设计的工作。 关系数据模型最主要的确定是: 由于存取路径对用户透明,查询效率往往不如非关系数据模型。 原题: 4(数据库管理系统由哪几部分组成, 参考答案: DBMS通常由以下,部分组成: (,)数据定义语言及其反映处理程序。 (,)数据操纵语言及其编译(或解释)程序。 (,)数据库运行控制程序。 (,)实用程序。 原题: 5.一个设计优良的DBMS应具备哪些特征, 一个设计优良的DBMS,应该具有有害的用户界面、比较完备的功能、较高的运行效率、清晰的系统结构和开放性。所谓开放性是指数据库设计人员能够根据自己的特殊需要,方便地在一个DBMS中加入一些新的工具模块,这些外来的工具模块可以与该DBMS机密结合,一起运行。 2 关系数据库简介 原题: 1(设有如图所示的关系R和S,计算: (1)R1=R-S (2)R2=R?S (3)R3=R?S R A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 S A B C a1 b2 c2 a1 b3 c2 a2 b2 c1 参考答案: R1=R-S A B C a1 b1 c1 R2=R?S A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 R3=R?S A B C a1 b2 c2 a2 b2 c1 原题: 2(参考下列两张表格,按要求写出关系运算式, 表一 医生表 医生编号 姓名 职称 科室编号 特长 01104 李博 主任医师 01 牙科 01106 刘晓 副主任医师 01 01020 王林 副主任医师 01 02100 李颦 医师 02 03002 王西平 主任医师 03 04005 吴星智 副主任医师 04 06007 李可茹 主任医师 06 表二 患者表 患者病例号 患者姓名 性别 年龄 医生编号 病情简介 200212002 李小青 男 36 01104 牙龈炎 200306007 羡平 女 28 01020 智齿 200307003 王东 男 12 03002 皮炎 200307006 刘戈 女 40 04005 骨折 • 年龄在35岁以上的患者; • 找出所有的主任医师; • 查找王林医师的所有病人; • 找到刘戈主治医师的相关信息。 参考答案: • 年龄在35岁以上的患者:σ年龄>35(患者) 或 ?姓名(σ年龄>35(患者) ) • 找出所有的主任医师:σ职称=[主任医师](医生) 或 ?姓名(σ职称=[主任医师](医生) ) • 查找王林医师的所有病人:?患者姓名(σ姓名='王林' (医生?患者)) • 找到刘戈主治医师的相关信息:?姓名,职称,„,特长(σ患者姓名='刘戈' (医生?患者)) 原题: 3(现有关系模式如下: SUPPLIES(Sname,Item,Price) CUSTTOMERS(Cname,Addr,Balance) ORDRES(Ono,Date,Cname) INCLUDES(Ono,Item,Quantity) 这里的四个关系模式是一百货商店的“商品供应记录”、“顾客记录”、“顾客发的订单记录”及“订单包括的商品项目记录”四个关系的模式,各属性的意义为:Sname是商家姓名,Cname是顾客姓名,Item是商品名称,Addr是地址,Price是商品价格,Balance是顾客余额,Ono是订单号,Date是订单发出日期,Quantity是订货数量。用中文表示关系 名称和属性名如下: 提供(商家,商品名称,价格) 顾客(顾客,地址,余额) 订单(订单号,日期,顾客) 包括(订单号,商品名称,数量) 这些关系当前值示例如下: 表一 SUPPLIES(商品供应记录) Sname Item Price 长虹公司 彩电 4500.00 大自然公司 鸟 200.00 „ „ „ 表二 ORDERS(订单记录) Ono Date Cname 0024 1997/01/20 王红 2025 1997/06/09 章静 „ „ „ 表三 INCLUDES(订单包括的商品项目记录) Ono Item Quantity 0024 彩电 30 2025 鸟 16 „ „ „ 写出实现如下操作的QBE语句表格 (按表格中数字顺序在文本框中填入相应内容,空 内容不填写 ): • 查询提供的商品价格在1元以上的任何供应商的商品及其价格和供应商名称; SUPPLIES Sname Item Price ? ? ? ? • 查询各类商品的平均价格; SUPPLIES Sname Item Price ? ? ? ? • 查询供应商的数目; SUPPLIES Sname Item Price ? ? ? ? • 查询具有最大订购数量的订单。 包含 Ono Item Quantity ? ? ? ? 参考答案: 查询提供的商品价格在1元以上的任何供应商的商品及其价格和供应商名称: SUPPLIES Sname Item Price P. >1.00 查询各类商品的平均价格: SUPPLIES Sname Item Price P.G. P.AVG.ALL. 查询供应商的数目: SUPPLIES Sname Item Price P.CNT.UN.ALL._X 其中_X是域变量 查询具有最大订购数量的订单: 包含 Ono Item Quantity ? P. _X >_X 其中_X是域变量 原题: 4(简述关系数据语言可以分为哪几种类型, 参考答案: 关系数据语言可以分为三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。 基本表是实际存在的表,它是实际存储数据的逻辑表。 查询表是查询结果对应的表。 视图表则是基本表和其它视图表导出的表,是虚表,不对应实际存储的数据。 原题: 5(关系模型的完整性规则包括哪几类, 参考答案: 关系模型的完整性规则是对关系的某种约束条件,关系模型中可以有三类完整性约束: 实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必 须满足的完整性约束条件,被称为关系的两个不变性,应该由关系系统自动支持。 3 关系数据库语言SQL 原题: 1(设有关系R和S如图所示: R S A B a1 b1 a2 b2 a3 b3 A C a1 40 a2 50 a3 55 试用SQL语句实现: (,)查询属性C>50时,R中与相关联的属性B之值。 (,)当属性C=40时,将R中与之相关联的B值改为b4。 参考答案: 解: (,)查询属性C>50时,R中与相关联的属性B之值。 SELECT B FROM R, S WHERE R.A=S.A AND C>50 (,)当属性C=40时,将R中与之相关联的B值改为b4。 UPDATE R SET B='b4' WHERE A IN (SELECT A FROM S WHERE C=40) 原题: 2(已知关系R如下图所示: R A B C 97 B1 84 97 B2 92 97 B3 98 98 B1 72 98 B2 84 98 B3 95 99 B1 88 99 B2 94 试用SQL语句实现下列操作: (,)按属性A分组,求出每组中在属性C上的最大值和最小值,且将他们置于视图RVE中。 (,)在视图RVE中查询属性A,“98”的记录。 参考答案: (,)按属性A分组,求出每组中在属性C上的最大值和最小值,且将他们置于视图RVE中。 CREATE VIEW RVE (A, CMAX, CMIN) AS SELECT A, MAX(C), MIN(C) FROM R GROUP BY A (,)在视图RVE中查询属性A,“98”的记录。 SELECT * FROM RVE WHERE A="98" 原题: 3(已知学生表S和学生选课表SC,其关系模式如下: S(SNO, SN, SD, PROV) SC(SNO, CN, GR) 其中,SNO为学号,SN为姓名,SD为系名,RPOV为省名,CN为课程名,GR为分数。 试用SQL语言实现下列操作: (,)查询“信息系”的学生来自哪些省区。 (,)按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。 参考答案: (,)查询“信息系”的学生来自哪些省区。 SELECT DISTINCT PROV FROM S WHERE SD="信息系" (,)按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。 SELECT SN, GR FROM S, SC WHERE SD="英语系" AND CN="计算机系" AND S.SNO=SC.SNO ORDER BY GR DESC 原题:4(图书登记表TS,具有属性:BNO(图书编号),BC(图书类别),BNA(书名), AU(著者),PUB(出版社)。按下列要求用SQL语言进行设计: (,)按图书标号BNO建立TS表的索引ITS。 (,)查询按出版社统计其出版图书的总数。 (,)删除索引ITS。 参考答案: (,)按图书标号BNO建立TS表的索引ITS。 CREATE INDEX ITS ON TS(BNO) (,)查询按出版社统计其出版图书的总数。 SELECT PUB, COUNT(BNO) FROM TS GROUP BY PUB (,)删除索引ITS。 DROP INDEX ITS 原题:5(简述在SQL中建立索引的意义。 参考答案: 建立索引是加快表的查询速度的有效手段。可以根据需要在基本表上建立一个或多个索引,从而提高系统的查询效率。 SQL语言支持用户根据应用环节的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度 4 关系数据库设计理论 原题: 1(分析关系模式STUDENT(学号,姓名,出生日期,系名,班号,宿舍区),指出其候选关键字,最小依赖集和存在的传递依赖。 参考答案: 候选关键字:学号(每个学生只有唯一的学号) 最小依赖集:,学号?姓名,学号?出生日期,学号?班号,系名?宿舍区,班号?系名, 存在传递依赖: 学号?姓名?宿舍区,所以学号传递依赖于宿舍区; 班号?姓名?宿舍区,所以有班号传递依赖于宿舍区; 学号?班号?系名,所以有学号传递依赖于系名。 原题:2(设有一个教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课老师(TN),教室所在的系(D)。这些数据有下列语义: • 学号和课程号分别与其代表的学生和课程一一对应; • 一个学生所修的每门课程都有一个成绩; • 每门课程只有一位任课教师,但每位教师可以有多门课程; • 教师中没有重名,每个教师只属于一个系。 (,)根据上述语义确定函数依赖集。 (,)如果用上面所有属性组成一个关系模式,那么该关系模式为何种模式, 参考答案: (,)根据上述语义确定函数依赖集。 F={(S#,C#)?G, C#?TN, TN?D} (,)如果用上面所有属性组成一个关系模式,那么该关系模式为何种模式, 关系模式为1NF,因为该关系模式的候选关键字为(S#,C#),则非主属性有G,TN和G。 又因为F中有C#?TN,所以存在非主属性TN对候选关键字(S#,C#)的部分依赖。 若新增加一门课程而暂时还没有学生选修时,则因缺少关键字S#值而不断进行插入操作。若某个教师调离学校要删除其有关信息时,会将不该删除的课程(C#)信息删除。 原题:3(设有如下图所示的关系R: 课程号 教师名 教师地址 C1 马千里 D1 C2 于军 D1 C3 杨敏 D2 C4 于军 D1 (,)它为第几范式,为什么, (,)是否存在删除操作异常,若存在,则说明是在什么情况下发生的, (,)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题的, 参考答案: (,)它为第几范式,为什么, 它是2NF。因为R的候选关键字是课程名,而课程名不依赖于教师名,教师名也不依赖于课程名,教师名?教师地址,所以存在非主属性教师地址对候选关键字课程名的传递函数依赖,因此R不是3NF。 (,)是否存在删除操作异常,若存在,则说明是在什么情况下发生的, 存在。当删除某门课程时会删除不该删除的教师的有关信息。 (,)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题的, 分解为高一级范式如下图所示: 关系R1: 课程号 教师名 C1 马千里 C2 于军 C3 杨敏 C4 于军 关系R2: 教师名 教师地址 马千里 D1 于军 D1 杨敏 D2 原题: 4(试根据下图写出5个关系(物资、供货商、库存、结算、)的属性。 参考答案: 物资() 供货商(供货商编号,供货商名称,地址,电话,银行账号,联系人) 库存() 结算(结算单编号,合同编号,收款银行账号,汇款经手人,汇款日期) 合同(合同编号,供货商编号,总金额,发货日期) 5 数据库保护 原题: 1(假设存款余额x=1000元,甲事务取走存款300元,乙事务取走存款200元,其执行时间 如下: 事务甲 时间 事务乙 读x t1 t2 读x 更新x=x-300 t3 t4 更新x=x-200 如何实现这两个事务的并非控制, 参考答案: 如果直接按时间顺序执行甲乙两个事务,则最后的x为800,而不是正确的500。为此, 采用封锁的方法,将甲事务修改为: WHILE(x已建立排它锁) , 等待 , 对x建立排它锁 读x 更新x=x-300 释放排它锁 将乙事务修改为: WHILE(x已建立排它锁) , 等待 , 对x建立排它锁 读x 更新x=x-200 释放排它锁 原题: 2(在数据库中为什么要有并发控制, 参考答案: 数据库是一个共享资源,它允许多个用户同时并行地存取数据。若系统对并行操作不加 控制,就会存取或存储不正确的数据,破坏数据库的完整性(或称为一致性)。并发控制的 目的,就是要以正确的方式调度并发操作,避免造成各种不一致性,使一个事务的执行不受 另一个事务的干扰。 原题: 3(叙述数据库中死锁产生的原因和解决死锁的方法。 参考答案: 封锁可以引起死锁。 解决死锁的常用方法有如下三种: (,)要求每个事务一次就要将它所需要的数据全部加锁。 (,)预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。 (,)允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤 销,释放此事务持有的所有的锁,使其它事务能继续运行下去。 原题: 4(怎样进行介质故障的恢复, 参考答案: 在发生介质故障时,磁盘上的物理数据被破坏,这时的恢复操作分为以下几步: (,)重装转储后援副本,使数据库恢复到转储时的一致状态; (,)从故障开始,反向阅读日志文件,找出已提交事务标记重做队列; (,)从起始点开始正向阅读日志文件,根据重做队列的记录,重做所有已完成的事务,将数据库恢复至故障前莫一时刻的一致状态。 原题: 5(简要列举数据库被破坏的可能性和数据管理系统提供的预防和补救措施。 参考答案: 数据库的被破坏主要有以下几个方面: (,)系统的软、硬件故障,造成数据被破坏。 (,)数据库的并发操作引起数据的不一致性。 (,)自然的或认为的破坏。 (,)对数据库数据的更新操作有误。 针对上述问题,数据库管理系统提供相应的功能: (,)数据库恢复:在系统失效后的数据库恢复,配合定时备份数据库,是数据库不丢失数据。 (,)并发控制:保证多用户能共享数据库,并维护数据的一致性。 (,)安全性保护:防止对数据库的非法使用,避免数据的泄漏、篡改或破坏。 (,)完整性保护:保证数据的正确性和一致性。 6 数据库设计 原题: 1(设有商业销售记账数据库。一个顾客(顾客姓名,单位,电话号码)可以买多种商品,一种商品(商品名称,型号,单价)供应多个顾客。试画出对应的E-R图。 参考答案: 原题:设有如下实体: 学生:学号、单位、姓名、性别、年龄、选修课程名 课程:编号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名 上述实体中存在如下关系: (1)一个学生可以选修多门课程,一门课程可为多个学生选修; (2)一个教师可讲授多门课程,一门课程可为多个教师讲授; (3)一个单位可有多个教师,一个教师只能属于一个单位。 试完成如下操作: 2-1分别设计学生选课和教师任课两个局部信息的结构E-R图。 参考答案: 学生选课局部E-R图: 教师任课局部E-R图: 原题:2-2.将上述设计完成的E-R图合并成一个全局E-R图: 参考答案: 合并的全局E-R图: 为避免图形复杂,下面给出各实体属性: 单位:单位名、电话 学生:学号、姓名、性别、年龄 教师:教师号、姓名、性别、职称 课程:编号、课程名 原题:2-3.将该全局E-R图转换为等价的关系模型表示的数据库逻辑结构。 参考答案: 单位(单位名、电话) 学生(学号、姓名、性别、年龄、单位名) 教师(教师号、姓名、性别、职称、单位名) 课程名(课程编号、课程名、单位名) 讲授(教师号、课程编号) 选修(学号、课程编号) 7 基于Web数据库技术概述 原题: 1(设有商业销售记账数据库。一个顾客(顾客姓名,单位,电话号码)可以买多种 商品,一种商品(商品名称,型号,单价)供应多个顾客。试画出对应的E-R图。 参考答案: 原题:设有如下实体: 学生:学号、单位、姓名、性别、年龄、选修课程名 课程:编号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名 上述实体中存在如下关系: (1)一个学生可以选修多门课程,一门课程可为多个学生选修; (2)一个教师可讲授多门课程,一门课程可为多个教师讲授; (3)一个单位可有多个教师,一个教师只能属于一个单位。 试完成如下操作: 2-1分别设计学生选课和教师任课两个局部信息的结构E-R图。 参考答案: 学生选课局部E-R图: 教师任课局部E-R图: 原题:2-2.将上述设计完成的E-R图合并成一个全局E-R图: 参考答案: 合并的全局E-R图: 为避免图形复杂,下面给出各实体属性: 单位:单位名、电话 学生:学号、姓名、性别、年龄 教师:教师号、姓名、性别、职称 课程:编号、课程名 原题:2-3.将该全局E-R图转换为等价的关系模型表示的数据库逻辑结构。 参考答案: 单位(单位名、电话) 学生(学号、姓名、性别、年龄、单位名) 教师(教师号、姓名、性别、职称、单位名) 课程名(课程编号、课程名、单位名) 讲授(教师号、课程编号) 选修(学号、课程编号) 8 JDBC,基于Java的数据库链接 原题: 1.简述JDBC提供的连接数据库的几种方法, 参考答案: ?与数据源直接通信:使用JDBC和数据库自己制定的协议时,可使用一个驱动程序直 接与数据源通信。既可以建立自己的驱动程序,也可找一个公用的。 ?通过JDBC驱动程序的通信:可连接到一个高标准的驱动程序上,该驱动程序依次与 另一个可与数据源通信的专用驱动程序通信。 ?与ODBC数据源通信:一个公开可用的专用驱动程序是JDBC/ODBC桥梁驱动程序,它 是Javasoft公司开发的,允许应用程序与ODBC数据源相连。 原题: 2(使用JDBC/ODBC桥驱动ODBC数据库的应用程序原理如图所示: 试说明客户端的Java程序需要完成的工作有哪些, 参考答案: 客户端的Java应用程序需要完成的工作有: 1)与JDBC服务器建立连接; 2) 装载JDBC/ODBC驱动器; 3)与ODBC数据源建立连接; 4)发送SQL语句; 5)得到查询结果; 6)关闭与JDBC服务器的连接。 原题: 3(参考上题,“关闭与JDBC服务器的连接”这项工作是否是客户端的Java应用程 序必须完成的工作,为什么, 参考答案: “关闭与JDBC服务器的连接”这项工作是客户端的Java应用程序必须完成的工作。因 为: 从数据库操作的安全性出发,每当用户对数据库的操作完毕,均应安全地关闭与数据 库的连接。如果连接未关闭,则其他程序可能会利用此连接,从而取得对数据库的访问权, 造成对数据库的恶意破坏。 原题: 4(JDBC API提供的类或接口主要有哪些, 参考答案: JDBC API提供的类或接口主要包括: Java.sql.DriverManager 处理驱动程序的装载和建立新的数据库连接。 Java.sql.Connection 完成对某一指定数据库的连接。 Java.sql.Statement 管理在一指定数据库连接上的SQL语句的执行。 Java.sql.ResultSet 从数据库返回的结果集。 原题: 5(编写用JDBC编写能实现数据库连接和断开的程序段。 参考答案: import java.net.URL; import java.sq1.*import java.net.URL; import Java.sq1.* class jdbc_connect { public static void main(String argv,,) { if(argv.length==0) { System.err.println(“检查到空的URL!”); System.exit(1); }?end of if try { Class.forName(“textFileDriver”); Class.forName(“jdbc.odbc.JdbcOdbcDriver”); Class.forName(“imaginary.sq1.iMsq1Driver”); String ur1=argv,0,; String user,pwd; If(argv.length>1) { user=argv,1,; } else { user=”” } If(argv.length>2) { pwd=argv,2,; } else { pwd=”” } Connection con=DriverManager.getConnectiion(ur1,user,pwd); Con.close(); System.out.println(“连接失败!”); }?end of try ?处理连接异常 catch(Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } }?end of main }?end of class 9 ADO数据库连接 原题: 1(参考案例中的“ADO数据库连接演示”,为其所指定的数据库建立一个名为“Teacher.dsn”的文件数据源。如果需要在ASP文件中连接此数据库,试给出连接此数据库的两种方法。 提示:可以考虑使用session变量。 参考答案: 创建文件DSN“Teacher.dsn”演示: 点击链接观看FLASH》》》》》 第一种方法: Set MyConn=Server.CreateObject("ADODB.Connection") MyConn.Open "FILEDSN=Teacher.dsn" 创建了连接对象的一个实例MyConn。然后调用连接对象的open方法。 第二种方法: 在文件Global.asa中定义一个包含有文件数据源名字的session变量: session("connectionstring")="Teacher.dsn" 建立了这个session变量后,就可以用如下的脚本打开一个连接: Set MyConn=Server.CreateObject(“ADODB.Connection”) MyConn.Open Session(“connectionstring”) 原题: 2(以下列出四种关于ODBC联接串的编写方法: 1)"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User ID=userName;Password=userPassWord" 2)"Provider=MADASQL;DSN=dsnName;UID=userName;PWD=userPassword;" 3)"Provider=MSDAORA;Data Sourse=serverName;User ID=userName;Password=userPassword;" 4)"Provider=SQLOLEDB,Data Source=serverName;Initial Catalog=databaseName;User ID=userName;Password=userPassword;" 试说明这四种方法分别对应什么数据源, 参考答案: 1)Access 2000 2)ODBC数据 3)Oracle数据库 4)MS SQL数据库 原题:3(编写一个global.asa文件,将应用程序启动之后的第1000名访问者映射到user1000.asp页面。 参考答案: 原题:4(简述ASP引擎提供的5个内置对象。 参考答案: ASP支持的5个内置对象是: Application:在同一个应用的多个用户间共享信息。 Session:在一个用户的多个页面之间共享数据。 Request:操作用户提交数据。 Response:反馈数据给用户并动态生成页面。 System:访问系统数据。 10 数据库后四章 原题: 1(Oracle公司是世界上最大的数据库软件公司,成立于1977年。1979年推出的Oracle第一版是世界上首批商用的关系数据库管理系统之一。到2007年,Oracle数据库软件版本已经升级到11g,请浏览Oracle官方网站,了解Oracle 数据库 11g主要具有哪些特点, 参考答案: Oracle 数据库 11g(构建在 Oracle 独有的网格计算能力上)使 Oracle 客户能够更快地响应不断变化的业务状况,通过技术创新获得竞争优势以及减少成本。 使用 Oracle 数据库 11g,您可以: • 通过真正应用测试更快地采用新技术 • 通过高级压缩和分区以更少的开销管理更多数据 • 通过用 Oracle Secure Files 将所有数据存储在 Oracle 数据库中来简化系统 • 用 Oracle Active Data Guard 将灾难恢复资源的 ROI 最大化 • 通过管理自动化使关键人员将精力投入到战略性任务中 • 等等„„ 原题: 2(Microsoft SQL Server是一个关系型数据库管理系统,在目前的中小企业中应用比较广泛。SQL Server诞生于1988年,到2007年,SQL Server的软件版本已经升级到SQL Server2005。请登陆Microsoft SQL Server官方网站,了解SQL Server2005的主要特点。 参考答案: 以下表格介绍了SQL Server 2005的几个主要特性增强,重点关注企业数据管理、开发人员生产力和商务智能。 企业数据管理 技术 性能 高可用性 SQL Server 2005的失败转移集群和数据库镜像技术确保企业向员工、客户和合作伙伴提交高度可靠和可用的应用系统。 管理工具 SQL Server 2005引进了一套集成的管理工具和管理应用编程接口(APIs),以提供易用性、可管理性、及对大型SQL Server配置的支持。 安全性增强 SQL Server 2005旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。 可伸缩性 SQL Server 2005可伸缩性的先进性包括表格分区、复制能力的增强和64位支持。 开发人员生产力 技术 性能 Common Language Runtime (CLR)集成 SQL Server 2005引入了使用Microsoft .NET 语言来开发数据库目标的性能。 深入的XML集成 SQL Server 2005提供一种新的XML数据类型,使在SQL Server数据库中存储XML片段或文件成为可能。 Transact-SQL增强 新的查询类型和在交易过程中使用错误处理的功能,为开发人员在SQL Server查询开发方面提供了更高的灵活性和控制力。 SQL 服务代理 SQL服务代理为各个级别的可伸缩性提供一种创新的、分发的、异步的应用系统体系结构。 商务智能 技术 性能 分析服务 分析服务对数据仓库、商务智能和line-of-business解决的可伸缩性、可管理性、可靠性、可用性和可规划性提供扩展。 数据转换服务(DTS) 对DTS结构合工具的全部重新设计为开发人员和数据库管理员提供了增强的灵活性和可管理性。 报表服务 报表服务是一种新的报表服务器和工具箱,用于创建、管理和配置企业报告。 数据挖掘 数据挖掘的功能得以增强,主要归功于四种新的运算法则、改进的数据模型和处理工具。 原题: 3(简述对象,关系数据库系统具有的特点。 参考答案: 对象,关系数据库系统除了具有原理关系数据库的各种特点外,还应该提供以下特点: (,)扩充数据类型:对象,关系数据库系统允许用户在关系数据库系统中扩充数据类型,即允许用户根据应用需求自己定义数据类型、函数和操作符,而且一经定义,这些新的数据类型、函数和操作符将存放在数据库管理系统核心中,可供所有用户共享,如同基本数据类 型一样。 (,)支持复杂对象:能够在SQL中支持复杂对象。复杂对象是指由多种基本数据类型或用户自定义的数据类型构成的对象。 (,)支持继承的概念:能够支持子类、超类的概念,支持继承的概念,包括属性数据的继承和函数及过程的继承;支持单继承与多重继承;支持函数重载(操作的重载)。 (,)提供通用的规则系统:能够提供强大而通用的规则系统。 原题: 4(简述分布式数据库系统的目标。 参考答案: (,)适应部门分布的组织结构,降低费用。 (,)提高系统的可靠性和可用性 (,)充分利用数据库资源,提高现有集中式数据库的利用率 (,)逐步扩展处理能力和系统规模 原题: 5(数据仓库的设计过程主要有那几个要点, 参考答案: 数据仓库的设计过程主要有以下几个要点: (1)提取数据特征 在为数据仓库设计数据库过程中,必需了解数据将如何使用,用户常做哪些类型的查询。数据库必须在可接受的性能限度内响应这些查询。在数据仓库中,大量的查询是根据在OLTP系统收集的事实做各种各样的分析。 (2)设计星状模式 星状模式是一个事实表(包含有事实数据)在中心,由若干维表(包含有引用数据)包围在四周的一个逻辑结构。事实表中含有每个维表的一个外来关键字。这种结构利用了事实数据的这个特点,即事实是由过去发生的事件产生的,且不再改变,无论怎样分析它们。由于数据仓库中的大量数据是在事件中表示的,所以事实表可能非常大,只允许读。 (3)设计雪花状模式 这是星状模式的变换形式,其中的每一维又有它自己的维。雪花状维表不包括非规范的数据。 (4)设计星片状模式 星片状模式是一个混合结构,是非规范的星状和规范的雪花状模式的混合。 决策支持的最合适的数据库模式是使用非规范的星状和规范的雪花状模式的混合模式,即星片状模式。这样一些维可以用两种模式表示,以适合不同的查询需求。 11 互联网数据库-主观题测试 原题: 1(参考下列两张表格,按要求写出关系运算式, 表一 医生表 医生编号 姓名 职称 科室编号 特长 01104 李博 主任医师 01 牙科 01106 刘晓 副主任医师 01 01020 王林 副主任医师 01 02100 李颦 医师 02 03002 王西平 主任医师 03 04005 吴星智 副主任医师 04 06007 李可茹 主任医师 06 表二 患者表 患者病例号 患者姓名 性别 年龄 医生编号 病情简介 200212002 李小青 男 36 01104 牙龈炎 200306007 羡平 女 28 01020 智齿 200307003 王东 男 12 03002 皮炎 200307006 刘戈 女 40 04005 骨折 • 年龄在35岁以上的患者; • 找出所有的主任医师; • 查找王林医师的所有病人; • 找到刘戈主治医师的相关信息。 参考答案: • 年龄在35岁以上的患者:σ年龄>35(患者) 或 ?姓名(σ年龄>35(患者) ) • 找出所有的主任医师:σ职称=[主任医师](医生) 或 ?姓名(σ职称=[主任医师](医生) ) • 查找王林医师的所有病人:?患者姓名(σ姓名='王林' (医生?患者)) • 找到刘戈主治医师的相关信息:?姓名,职称,„,特长(σ患者姓名='刘戈' (医生?患者)) 原题: 2(已知关系R如下图所示: R A B C 97 B1 84 97 B2 92 97 B3 98 98 B1 72 98 B2 84 98 B3 95 99 B1 88 99 B2 94 试用SQL语句实现下列操作: (,)按属性A分组,求出每组中在属性C上的最大值和最小值,且将他们置于视图RVE中。 (,)在视图RVE中查询属性A,“98”的记录。 参考答案: (,)按属性A分组,求出每组中在属性C上的最大值和最小值,且将他们置于视图RVE中。 CREATE VIEW RVE (A, CMAX, CMIN) AS SELECT A, MAX(C), MIN(C) FROM R GROUP BY A (,)在视图RVE中查询属性A,“98”的记录。 SELECT * FROM RVE WHERE A="98" 原题: 3(设有一个教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课老师(TN),教室所在的系(D)。这些数据有下列语义: • 学号和课程号分别与其代表的学生和课程一一对应; • 一个学生所修的每门课程都有一个成绩; • 每门课程只有一位任课教师,但每位教师可以有多门课程; • 教师中没有重名,每个教师只属于一个系。 (,)根据上述语义确定函数依赖集。 (,)如果用上面所有属性组成一个关系模式,那么该关系模式为何种模式, 参考答案: (,)根据上述语义确定函数依赖集。 F={(S#,C#)?G, C#?TN, TN?D} (,)如果用上面所有属性组成一个关系模式,那么该关系模式为何种模式, 关系模式为1NF,因为该关系模式的候选关键字为(S#,C#),则非主属性有G,TN和G。 又因为F中有C#?TN,所以存在非主属性TN对候选关键字(S#,C#)的部分依赖。 若新增加一门课程而暂时还没有学生选修时,则因缺少关键字S#值而不断进行插入操 作。若某个教师调离学校要删除其有关信息时,会将不该删除的课程(C#)信息删除。 原题: 4( 设有如下实体: 学生:学号、单位、姓名、性别、年龄、选修课程名 课程:编号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名 上述实体中存在如下关系: (1)一个学生可以选修多门课程,一门课程可为多个学生选修; (2)一个教师可讲授多门课程,一门课程可为多个教师讲授; (3)一个单位可有多个教师,一个教师只能属于一个单位。 试完成如下操作: 分别设计学生选课和教师任课两个局部信息的结构E-R图。 参考答案: 学生选课局部E-R图: 教师任课局部E-R图: 原题: 5(简述ASP引擎提供的5个内置对象。 参考答案: ASP支持的5个内置对象是: Application:在同一个应用的多个用户间共享信息。 Session:在一个用户的多个页面之间共享数据。 Request:操作用户提交数据。 Response:反馈数据给用户并动态生成页面。 System:访问系统数据 题型举例 一(SQL2000数据库管理系统的基本使用 使用SQL2000 数据库管理系统完成下列操作: 1(使用企业管理器创建数据库、查看/修改数据库信息、删除数据库。 2(创建数据表、查看/修改数据表结构、删除表、在表中添加记录。 3(定义表的主码和外码,建立表之间的参照关系 二(使用SQL语言在SQL2000数据库管理系统中完成简单操作 今有”学生-课程”数据库,包括三个表如下: Student(学生关系) Sno Sname Ssex Sage Sdept 99001 王铭 男 20 CS 99002 殷芳 女 19 IS 99003 赵萍 女 18 MA 99004 张勇 男 19 IS Course(课程关系) Cno Cname Cpno(先行课) Ccredit(学分) 1 数据库 5 3 2 数学 2 3 信息系统 1 3 4 操作系统 6 4 5 数据结构 7 4 6 数据处理 2 7 C语言 6 4 SC(选修关系) Sno Cno Grade(成绩) 99001 1 95 99001 2 86 99001 3 87 99002 2 90 99002 3 83 根据以上数据表,在SQL2000查询分析器中,用SQL写出下列操作,并以文件形式保存运行结果。 1(查询全体学生的详细记录。 2(查询选修了两门2门以上课程的学生号和学生姓名。 3(查询选修了课程名为“数据库”的学生姓名。 4(建立计算机系选修了1号课程且成绩在80分以上的学生视图 三(运用数据库设计理论对具体数据库、数据模式事例进行分析(满足第三范式) 1(现有一个描述学校的数据库, 由单一关系模式组成: Student(Sno, Sdept, Tname, Cname, Grade),其中Sno为学生学号,Sdept为学生所在系,Tname为教师姓名,Cname为课程名称,Grade为学生所在年级; 属性间函数依赖关系:F={Sno?Sdept,Sdept?Tname,(Sno,Cname)?Grade} 试分析这一关系模式可能存在的问题有哪些, 2(根据数据库的范式找出下表存在的错误,并简述理由,并给出该关系模式的规范化过程。 电话 姓名 性别 出生日期 家庭电话 办公电话 张岩 男 1987-9-12 67990098 62234567 李晨 女 1986-12-6 67658778 62234568 周敏 女 1988-1-15 64355436 62234569 陈立 男 1986-11-8 64367766 62234570 四(运用数据库设计步骤和方法,实现简单数据库系统事例的概念结构设计 1. 设计一个适合大学选课的数据库。该数据库应该包括学生、系、教师、课程。哪一个学生选了哪一门课,哪一个教师教哪一门课,学生的成绩,一个系提供哪一些课程等信息。用E-R图描述该数据库。 五(运用简单的ASP与ADO技术,实现数据库的连接和简单访问 1(运用建立ODBC连接的方法,使用Windows 2000系统的控制面板来建立一个系统DSN: (1)该系统数据源的名称是“Student”,对该数据源的说明是“学生档案”,服务器为Local; (2)该数据源使用SQLServer作为驱动程序; (3)该数据源所连接的数据库为“Student”数据库。 请将关键的1-3步通过快照形式(拷屏)提交。拷屏方法为Alt+PrtScr键。 2(请完善下列“数据库连接状态测试”程序,并调试运行。该程序要求: (1) 利用Connection对象,使用字符串命令数据库连接方式,连接数据库master并打开。 (2) 当数据库处于连接状态时(对象的属性state=1),屏幕显示"数据库已经打开";否则屏幕显示"数 据库没有打开"。 (3) 关闭数据库,并释放与该连接对象相关的系统资源。 (注:绿色为要求填空的内容) 数据库连接状态测试 <% set conn=Server.CreateObject("ADODB.Connection") conn.Connectionstring="driver={SQL Server};Server=(local);UID=sa;PWD=;Database=master" conn.open if conn.state=1 then response.write("数据库已经打开
") else response.write("数据库没有打开
") end if %> <% conn.close set conn=nothing %>
/
本文档为【互联网数据库实践考试】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索