国家工信部网站备案实名:湖北自考网 为考生提供湖北自考信息服务,仅供学习交流使用,官方信息以湖北教育考试院为准。
湖北自考在线 湖北学位英语培训班
湖北网络教育报名
当前位置:湖北自考网 > 历年试题 > 工学类 >“数据库原理”上机题目汇总(1)

“数据库原理”上机题目汇总(1)

来源: 整编:湖北自考网 发表时间:2008-11-8 15:25:02 【湖北自考网:湖北自学考试门户网】

湖北自考新旧专业转接通知 2021年10月自考报考简章 2021年10月湖北自考计算机化考试报名
2021年10月湖北自考考试时间 2021年10月自考教材大纲 湖北自考电子档案查询系统入口
湖北省高等教育自学考试考生服务平台 自考毕业申请指导手册 2021年学位英语网络课程,提高通过率
湖北自考新手报名指导手册 湖北历年自考试题 湖北自考各专业介绍

  某系统有如下数据库,其中存放了三个表:

  Project (PID, Pname, city, principal)

  注:工程(工程号,工程名,所在城市,负责人)

  要求:工程号为主码, 所有字段都不能为空

  Create table Project9527(PID varchar(8),Pname varchar(8) not null,city varchar(8) not null,principal varchar(8) not null,primary key (PID))

  Bank (BID,Bname,city)

  注:银行(银行号,银行名,所在城市)

  要求:银行号为主码, 银行名唯一,所有字段不为空。

  create table Bank9527(BID varchar(4),Bname varchar(8) unique not null,city varchar(8) not null,primary key (BID))

  Loan (PID, BID, money1, Bdate, RDate)

  注:贷款(工程号,银行号,贷款金额, 贷款日期, 偿还日期)

  要求:工程号和银行号作为主码,工程号为参照工程表的主码的外码,银行号为参照银行表的主码的外码, 所有字段不为空,偿还日期必须迟于贷款日期或者为空。

  create table Loan9527(PID varchar(8) not null,BID varchar(4) not null,money1 int not null,Bdate datetime not null,

  Rdate datetime,primary key(PID,BID),foreign key(PID) references project9527(PID),foreign key (BID) references Bank9527(BID),check(Bdate<Rdate or Rdate is null))

  试用SQL语言完成下列功能:

  1.在数据库中建立上述三个表,请使用英文表名和属性名(满足上述表的每个要求)。

  2.往表中插入数据

  工程(101,'地铁','北京','刘阳')

  (102,'教学楼','济南','张虎')

  insert into project9527 values('101','地铁','北京','刘阳')

  insert into project9527 values('102','教学楼','济南','张虎')

  银行(201,'工商银行','北京')

  (202,'农业银行', '济南')

  (203,'建设银行', '济南')

  insert into Bank9527 values('201','工商银行','北京')

  insert into Bank9527 values('202','农业银行', '济南')

  insert into Bank9527 values('203','建设银行', '济南')

  贷款 (101,201,300000,2005-11-10,null)

  (101,202,3000000,2005-11-15, 2006-11-28)

  (102,202,200000,2006-10-15, null)

  (102,203,500000,2005-5-6, null)

  insert into Loan9527 values('101','201',300000,'2005-11-10',null)

  insert into Loan9527 values('101','202',3000000,'2005-11-15', '2006-11-28')

  insert into Loan9527 values('102','202',200000,'2006-10-15', null)

  insert into Loan9527 values('102','203',500000,'2005-5-6', null)

  3.SQL语句完成下列查询:

  a)列出所有工程和银行在同一城市的贷款记录,包括工程名、银行名、贷款金额、贷款日期。

  select project9527.PID ,Bank9527.BID, Bdate,money1 from project9527,Bank9527 ,Loan9527 where

  project9527.PID=Loan9527.PID and Bank9527.BID=Loan9527.BID and project9527.city=Bank9527.city

  b)找出贷款记录大于1次的工程名。

  select Pname,count(*) as 贷款记录 from project9527,Loan9527 where project9527.PID=Loan9527.PID

  group by Pname having COUNT(Bdate)>1

  c)列出2005年贷款总额超过300万的工程的工程号、工程名和贷款总金额。

  select Project9527.PID ,Pname,sum(money1)as 贷款总金额 from Project9527,Loan9527

  where Project9527.PID=Loan9527.PID and ('2005-1-1'<=Bdate and Bdate<'2006-1-1') group by

  Project9527.PID ,Pname having sum(money1)>3000000

  4.完成如下更新(15分):

  今天是2006年10月18日,“教学楼”工程还清了其所有贷款,请在数据库中更新相应记录。

  update Loan9527 set Rdate='2006-10-18' where PID in (select PID from project9527 where pname='教学楼')

  5.使用游标完成如下操作:

  经过调查发现,“地铁”工程所有未偿还的贷款记录的贷款时间应该在2006-11-11日,做出以上更新。

  declare c1 cursor for

  select Bdate from project9527,Loan9527 where project9527.PID=Loan9527.PID and

  Rdate is null

  open c1

  declare @x datetime

  fetch next from c1 into @x

  while @@fetch_status=0

  begin

  update Loan9527 set Bdate='2006-11-11'

  where Bdate=@x

  fetch next from c1 into @x

  end

  close c1

  deallocate c1

  6.列出同时满足如下条件的银行的银行号和银行名(20分):

  a)该银行在济南。

  b)贷出款的总金额大于与其在同一地区的其他任何银行的贷出款的总金额。

  select Bank9527.BID,Bname from Bank9527,Loan9527 where Bank9527.city='济南' and Bank9527.BID=Loan9527.BID

  group by Bank9527.BID,Bname

  having sum(money1)>= all(select sum(money1) from Loan9527

  group by Loan9527.BID )


湖北自考网微信

湖北自考考生服务平台登录

湖北自考网网络注册学习登录

湖北自考考生微信交流群

湖北自考考生微信交流群

扫一扫加入微信交流群

与考生自由互动、并且能直接与资深老师进行交流、解答。

武汉自考专题推荐