欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据库原理概论习题集与参考答案文档格式.docx

    • 资源ID:5213573       资源大小:130.25KB        全文页数:24页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库原理概论习题集与参考答案文档格式.docx

    1、插入表中的行是触发器表中新行的副本可使用删除表和插入表中的行来参照相关表中的行,或测试被删除或插入行中的值。6、数据库系统由哪几部分构成?数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。7、什么是候选码?什么是主码?主码只能有一个属性吗?能唯一标识实体的属性或属性组称为超码,其任意真子集都不能成为超码的最小超码称为候选码; 从所有候选码中选定一个用来区别同一实体集中的不同实体,称作主码; 主码只能有一个属性。8、在E-R模型中联系是用来反映什么样的信息,它有几种类型?用来反映为实体(型)内部的联系和实体(型)之间的联系,

    2、实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。联系可分为三种:(1) 一对一联系(1:1)(2) 一对多联系(1:n)(3) 多对多联系(m:n)。9、什么是锁协议?什么是两段锁协议?数据库管理系统的并发控制在运用封锁方法时,对数据对象加锁时需要约定一些规则,例如何时申请封锁、持锁时间、何时释放封锁等;这些规则就是锁协议。 所谓两段锁协议是指所有事务必须两个阶段对数据项加锁和解锁。(1) 在对任何数据进行读、写操作之前,首先分申请并获得对该数据项加锁和解锁;(2) 在释放一个封锁之后,事务不现申请和获得任何其他封锁。10、数据库恢复的依据是什么?

    3、基本原理就是利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库。11、关系数据库中的实体完整性和参照完整性对数据分别有什么样的约束? 实体完整性规则是:若属性A是基本关系R的主属性,则属性A不能取空值。 参照完整性规则是:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。12、数据库管理系统为什么要对事务进行并发控制?如果不进行并发控制会出现哪些问题?为了充分利用系统资源发挥数据库共享资源的特点,应该允许多个事务并行地执

    4、行,当多用户并发地存取数据库时就会产生多个事务同时存取同一数据的情况,若对并发操作不加控制就可能会存取和存储不正确的数据,破坏事务的一致性和数据库的一致性;所以数据库管理系统必须提供并发控制机制。 如果不进行并发控制会出现数据丢失修改、不可重复读和读“脏”数据等问题。13、在进行总体E-R图的优化时具体做什么?消除多余的属性和多余的联系。14、什么是外码?建立外码的作用是什么?外码指关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外码。 如S关系中的D#建立外码的作用:在相应的表之间建立一种关联。15、数据库的结构数据模型有哪几种?按此划分SQL SERV

    5、ER属于哪种类型?有层次模型、网状模型、关系模型、面向对象模型、对象关系模型等几种;SQL SERVER 属于关系模型。16、数据库管理系统为什么要对事务进行并发调度?并发调度时为什么要进行并发控制?数据库是一个共享资源,可以供多个用户使用;如果事务一个一个地串行执行,则许多系统资源将处于空闲状态,因此为了充分利用系统资源发挥数据库共享资源的特点,应该允许多个事务并行地执行,进行并发调度;当多用户并发地存取数据库时就会产生多个事务同时存取同一数据的情况,若对并发操作不加控制就可能会存取和存储不正确的数据,破坏事务的一致性和数据库的一致性;17、写出数据库设计的步骤。(1)需求分析;(2)概念结

    6、构设计;(3)逻辑结构设计;(4)物理结构设计;(5)数据库实施;(6)数据库运行和维护。18、在建立E-R模型时如何区分实体和属性?在给定的应用环境中,可以遵循以下准则来划分实体和属性: (1)属性与它所描述的实体之间只能是单值联系,即联系只能是一对多的;(2)属性不能再有需要进一步描述的性质;(3) 作为属性的数据项,除了它所描述的实体之外,不能再与其它实体具有联系。19、什么是触发器?是一种特殊类型的存储程序,在试图修改触发器所保护的表中的数据时,它就会自动执行。触发器可以包括大多数Transact_sql语句。触发器的查询计划存储在过程缓冲中。20、事务对象的属性SQLCODE的返回值

    7、有哪些,分别表示什么?SQLCode指示最近一次SQL语句是操作成功还是失败,其可能取值为:0 操作成功-1 操作失败100 操作成功,但无返回数据21、什么是ODBC?将它和专用接口进行比较。答: ODBC(Open Data Base Connectivity)接口是微软公司提出的开放式数据库互连标准接口,它以关系数据库标准查询语言SQL来存取连接到的数据源,ODBC支持单个应用系统访问多个不同的数据库管理系统(DBMS),并且,对应用系统的开发人员来说,它能够用统一的方法处理不同的数据源,减轻了学习新系统的压力。现在,除了Oracle,Sybase,MS SQL Server, IBM

    8、DB/3等大型数据库管理系统支持ODBC接口外,诸如dBase, FoxPro, Sybase SQLAnywhere,Excel之类的数据源也都支持ODBC接口。专用接口针对具体的数据库管理系统而设计,对诸如Oracle,Sybase, informix之类的大型数据库管理系统,PowerBuilder 8.0企业版都提供了专用接口,通过专用接口我们可以将PowerBuilder 8.0连接到相应的数据库上因为专用接口在设计上针对特定数据库的特点,能够充分发挥特定数据库的优势因此使用专用接口可以大大提高应用程序访问数据库的速度,所以应该尽可能使用专用接口而不是ODBC接口。数据库不同、数据库

    9、的版本不同,使用的专用接口也不同。22、什么是存储过程,可以在POWER BUILDER程序中调用存储过程吗?举例说明。存储过程是存储在服务器上的一个SQL语句的命令集合,存储过程是重复执行封装语句的一种有效方法。存储过程支持用户声明的变量、条件执行以及其他一些强大的编程功能。可以在POWER BUILDER程序中调用存储过程;例如:创建datawindow的时候data source选Stored Procedure会出现一个title为Select Stored Procedure:. 的窗口, 选择所需要的SP, 按OK按钮. 以后的操作和其他dw的建立一样。 也可以指定SP的返回结果集

    10、的各column的名称。23、什么是视图?它有何作用?视图是命名的、从基本表中导出的虚表。它在物理上并不存在。存在的只是它的定义;视图中的数据是从基本表中导出的。每次对视图查询都要重新计算;视图之上可以再定义视图。视图的作用是让一定权限的操作者不用操作基本表就能满足其相应的操作要求,从而实现了对数据的安全管理。24、如何在POWER BUILDER程序中实现copy文件的功能?FUNCTION boolean CopyFile(ref string cfrom, ref string cto, boolean flag) LIBRARY Kernel.dll25、如何在POWER BUILDE

    11、R程序中实现将数据窗口对象中的数据导出为EXCEL文件?dwcontrol.SaveAs ( filename, saveastype, colheading )二、交互式SQL1有一个教学管理数据库,包含以下基本表:(表略)用交互式SQL完成:(1) 建立学生表,主码为学号,性别为男或女。Create table 学生(学号# char(8) not null, 姓名 char(8) not null, 性别 char(2), 年龄 smallint, 年级 char(8), 系编号 integer, primary key (学号#), check (性别=男或女),)(2) 建立教师表,

    12、主码为教师编号,外码为系编号。Create table 教师(教师编号# char(8) not null, 职称 char(4), primary key (教师编号#), foreign key (系编号) references 院系 (系编号#),(3) 建立选课表,主码为学号和课程编号,外码为学号,课程编号。Create table 选课(学号# char(8), 课程编号# char(4), 成绩 smallint, primary key (学号#, 课程编号#), foreign key (学号#) references 学生(学号#), foreign key (课程编号#)

    13、references 课程(课程编号#), check (成绩 is null ) or (成绩 between 0 and 100 ),(4) 将学生张三从编号为001的系转到编号为002的系。Updata 学生Set 系编号# = 002Where 姓名=“张三”and 系编号#=001(5) 统计学生总人数。Select count (学号#)From 学生(6) 显示计算机系的学生的信息。Select *From 教师,任课,课程Wher 课程名=”数据库原理” and 课程.课程编号# = 任课.课程编号# and 任课.教师编号# = 教师.教师编号#(7) 查找法律系的系办电话。

    14、Select 系办电话From 院系Where 系名= “法律系”(8) 删除2000级的学生记录。Delete from 学生Where 年级= “2000级”(9) 将计算机系教师张明的职称升为教授。Updata 教师Set 职称= “教授”Where 姓名= ”张明” and 教师编号# = ( select 教师编号#Where 系名= “计算机系”)(10) 统计计算机系教师张明的任课门数。Select count (课程编号#)From 院系,教师,任课Where 院系.系名= “计算机系” and 院系.系编号# = 教师.系编号# and 教师.教师编号# = 任课.教师编号#

    15、(11) 统计每个系的教师的人数。Select 系编号#, count (教师编号#)From 教师Group by 系编号#(12) 查找教授数据库原理的教师的姓名。Select 教师.姓名Where 课程名= “数据库原理” and 课程.课程编号# = 任课.课程编号# and 任课.教师编号# = 教师.教师编号#(13) 删除1020号教师的任课记录。Delete from 任课Where 教师编号# = “1020”(14) 将课程数据库原理的学分设为4.Updata 课程Set 学分 = 4Where 课程名= 数据库原理(15) 学生王明每选一个学分交费100元,统计它的选课总

    16、费用。Select sum (学分)* 100From 学生,课程,选课Where 学生.学号# = 选课.学号# and 选课.课程编号 = 课程.课程编号#(16) 统计20岁的学生总人数。Select count (age)Where 学生.年龄 = 20(17) 选修数据库原理的学生名单secect 学生.姓名from 学生,课程,选课where 课程.课程名 = “ 数据库原理” and 课程.课程编号# = 选课.课程编号# and 选课.学号# = 学生.学号#(18) 删除20030号学生的选课记录delete from 选课where 学号# = “200030”(19) 建

    17、立一个存储过程,通过输入学号,显示学生的姓名,选课课程名,成绩,并统计出选课门数。Create procedure report id char(8) asSelect 学生.姓名,课程.课程名,选课.成绩,count (课程.课程编号#)Where 学生.学号# = id and 选课.学号# = 学生.学号# and 选课.课程编号# = 课程.课程编号#(20) 建立一个存储过程,通过输入教师编号,显示教师的姓名,任课课程名,教师院系。Create procedure report id char(8) as Select 教师.姓名,课程.课程名,院系.系名From 院系,课程,教师,

    18、任课Where 教师.教师编号# = id and 任课.教师编号# = 教师.教师编号# and 课程.课程编号# = 任课.课程编号 and 教师.系编号 = 院系.系编号(21) 建立一个存储过程,输入系编号显示学生的学号,姓名。Create procedure report id char (8) asSelect 学号#,姓名Where 系编号# = id 2、有一数据库,包含以下基本表:(1) 建立销售明细表,销售编号为主码,外码为商品编号,会员号。Create table 销售明细(销售编号# char(4), 商品编号# char(4), 会员号# char(4), 数量 in

    19、teger, 时间 time, primary key (销售编号#), foreign key (商品编号#) references 商品(商品编号#), foreign key (会员号#) references 会员(会员号#),(2) 添加一条商品记录(00697,雕牌肥皂,浙江,2.00,日化)insert into 商品 values(00697,”雕牌肥皂”,”浙江”,2.00,”日化”)(3) 产生00695号产品的销售细帐。From 销售明细Where 商品编号# = 00695(4) 根据商品编号00695查找该商品的销售总量。Select sum (数量)(5) 根据会员

    20、号104095删除其会员记录。Delete from 会员Where 会员号# = 104095(6)建立一个黄金会员视图。(消费总金额高于5000的会员为黄金会员)create view 黄金会员as (select *from 会员where 消费总金额 5000 )(7)建立一个触发器,实现当输入一条销售记录时,将消费金额自动累加到会员的消费总金额。Create trigger trinameOn 销售明细For insert as Updata 会员Set 消费总金额 = 消费总金额 + sum (销售明细.数量*商品.单价)Where 销售明细.会员号# = 会员.会员号# and

    21、商品.商品编号# = 销售明细.商品编号#三、 POWER BUILDER编程1、(1)对w_data的open事件编程,使w_data一打开dw_1中就显示数据。Dw_1. settransobjict (splca)Dw_1. retrieve( ) (2)添加int II= dw_1. insertrow (0)Dw_1. scrolltorow (i)Dw_1. setfocus ( ) 删除dw_1 . deleterow (0) 保存int jj= dw_1 . updata ( )if I= -1 then messagebox (“information” , “数据无法保存”

    22、)end if关闭close (parent )(3)对w_data 的closequery事件编程,使dw_1中的数据发生改变而又未保存就退出窗口时给用户一个消息框提示。Integer mIf dw_1.modifiedcount ( ) + deletedcount ( )0 thenM = messagebox (“信息”“数据已改变,是否保存”,question!YesNoCance!If m=1 then If dw_1.updata ( )= -1 thenMessagebox (“information”,”无法保存数据”) Else Messagebox (“informati

    23、on”,”已保存数据”) End if Return 0Elseif m=2 thenElseif m=3 then Return 12、ddlb_1中为各系名称,当选择了一个系后tv_1显示该系学生姓名,对ddlb_1的selectionchanged事件编程。Int I String outnameDeclare namecur cursor forSelect distinct departmentWhere department = :ddlb_1.textOpen namecur ;If sqlca.sqlcode = -1 then Messagebox ( “sql error

    24、“, sqlca ,sqlerrtext )Else Fetch namecur into :outname ;Do where sqlca .sqlcode = 0 Frtch namecur into : I=tv_1 .insertitemlast ( ) ,outname,2)L00p while sqlca .sqlcode = 0Tv_1 :deleteitem (i)End if Close namecur ;3、 ddlb_1为下拉列表框,st_1,st_2为静态文本框。该窗口打开时,ddlb_1从数据库中的院系表中读出了所有系名,当选择了某系时st_1,st_2分别显示该系系

    25、领导和系办电话。(1) 在w_1的open事件下编程。 Ddlb_1.additem (outname)L00p (2) 在ddlb_1的selectionchanged事件下编程。Select 系领导,系办电话Where 系名= :st_1.text = 系领导st_2.text = 系办电话4、w_query上有控件ddlb_1和dw_1,在ddlb_1中选择系名后dw_1中显示该系的学生。(1) 如果通过带参数的数据窗口对象来完成,请问dw_1中的数据窗口对象的数据源为quick select 还是sql select。sql select。(2) 为ddlb_1的selectionch

    26、anged事件编程。Dw_1.settransobject (sqlca)Dw_1.retricve (ddlb_1.text)5、当选择了某单选框并输入选择条件,按回车后,dw_1中显示满足条件的记录。请对以下控件编程。(1) rb_1sle_1.enabled= true(2) sle_1dw-1.setfilter (“姓名= ”+ sle_1.text +” ”)dw_1.filter ( )cb_1.visible = true(3)cb_1rb_1.checked = falserb_2.checked = falserb_3.checked = falserb_4.checked = falsesle_1.text = “”sle_2.text = “”sle_3.text = “”sle_4.text = “”sle_1.enable = falsesle_2.enable = falsesle_3.enable = falsesle_4.enable = false6、lv_1为列


    注意事项

    本文(数据库原理概论习题集与参考答案文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开