网站大量收购闲置独家精品文档,联系QQ:2885784924

2004年上半年数据库系统工程师上下午试卷及答案.docxVIP

2004年上半年数据库系统工程师上下午试卷及答案.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2004年上半年数据库系统工程师上下午试卷及答案

上午试卷

一、选择题(每题5分,共20分)

1.下列关于关系模型的说法中,错误的是()。

A.关系模型是当前使用最广泛的数据模型之一

B.在关系模型中,数据以二维表的形式组织

C.关系模型最早由Codd在1969年提出

D.关系模型中,每个表的行称为元组,每个元组的列称为属性

2.视图是对表或其他视图的逻辑上的、而非物理上的子表,可以用作引用表的方法。下列关于视图的说法中,错误的是()。

A.基本表可以包含NULL值

B.视图无法包含NULL值

C.在使用视图时可以进行查询、插入、修改和删除操作

D.视图基于SELECT语句

3.关系代数是描述关系间操作的一种形式化语言,其中包括一些操作符。下列关于关系代数的说法中,错误的是()。

A.交(∩)操作符的作用是返回两个关系中都包含的元组

B.选择(σ)操作符用于从一个关系中选择满足指定条件的元组

C.并(∪)操作符操作是将两个关系作为整体进行合并

D.连接(?)操作符通过将两个关系中的元组组合创建新的关系

4.一个关系模式称为规范化的,当且仅当()。

A.在每个非主属性的非主属性和主属性组成的字集只有一个元素

B.在每个非主属性不具有任何函数依赖

C.在每个非主属性并非主属性子集

D.在每个非主属性都与主属性之间存在函数依赖关系

二、问答题(每题10分,共20分)

1.请简述事务的ACID特性。

答:ACID(原子性、一致性、隔离性、持久性)是指在关系数据库中,事务所应该具有的四个特性。

-原子性(Atomicity):指整个事务是一个不可分割的工作单位,事务所有的操作都要么全部完成,要么全部不完成,不可能停滞在中间某个环节,这就像化学中的原子一样,是不可分割的。

-一致性(Consistency):指事务不会破坏数据库的完整性和业务的逻辑处理,事务前后数据的总和不变,包括主键、外键、默认值、检查条件等,确保数据库从一个一致性状态转移至另一个一致性状态。

-隔离性(Isolation):指多个应用程序并发访问数据库时,一个应用的事务处理未提交的修改对其他应用的事务处理不产生影响,事务之间是相互隔离的,每个并发的用户都感觉不到系统中有其他并发的用户。

-持久性(Durability):指一个事务一旦被提交,它对数据库中数据的更改就是永久性的,即使出现宕机等故障情况,修改的数据也不应该丢失。

2.如何通过数据库锁定机制保证事务的隔离性?

答:通过数据库锁定机制可以有效的保证事务的隔离性,通过以下几种机制进行处理:

-共享锁:允许多个事务同时读取一个资源,但不允许其他事务对该资源进行修改,适用于对数据读取操作。

-排他锁:允许一个事务独占一份资源,直到该事务结束,适用于数据修改操作。

-行级锁:主要是在操作过程中为被访问的数据行添加锁,把对数据的操作粒度缩小到行级别。

-事务的隔离级别:在数据库中还有一些隔离级别,如读未提交、读已提交、可重复读、串行化,在MySQL中默认隔离级别为“可重复读”。

三、设计题(60分)

假设你在一家商业银行担任数据库工程师的职位,现有一张存储客户账户信息的表,该表的基本字段如下:

-account_id:账户ID,主键

-customer_id:客户ID

-balance:账户余额

-open_date:开户日期

-close_date:关闭日期,如果是空,表示该账户还未关闭

1.在表中增加两个新的字段:

-overdraw_limit:透支额度

-loan_limit:贷款额度

2.请根据上述要求,编写SQL语句,添加上述两个字段到表中。

答:SQL语句如下:

ALTERTABLEaccountADDoverdraw_limitDECIMAL(12,2),ADDloan_limitDECIMAL(12,2);

3.如果您计划实现一个新的功能,即允许客户向其账户申请贷款,则需要在系统中新建一个表来存储贷款申请信息。请您根据上述需求,设计一个新的贷款申请表,使其适应该功能要求。表应该包含以下信息:

-loan_id:贷款ID,主键

-account_id:与贷款关联的账户ID,外键

-amount:贷款金额

-apply_date:贷款申请日期

-approve_date:贷款批准日期,如果未批准,则为空

答:创建贷款申请表的SQL语句如下:

CREATETABLEloan(

loan_idINTPRIMARYKEYAUTO_INCREMENT,

account_idINTNOTNULL,

amountDECIMAL(12,2)NOTNULL,

文档评论(0)

专业写各类报告,论文,文案,讲稿等,专注新能源方面

1亿VIP精品文档

相关文档