数据库原理课程设计题目

更新时间:2023-06-02 21:40:37 阅读: 评论:0

数据库原理课程设计题目
说明:1、本次课程设计后台DBMS要求使用SQL SEVER,前台应用程序开发工具不限。
2、题目中的所有需求均要求同时使用SQL SEVER的企业管理器、查询优化器等工具和前台应用程序两种方式完成。
题目1:请按如下需求设计并实现一工程管理信息系统。
某系统有如下数据库,其中存放了三个表:
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,c ity)
注:银行(银行号,银行名,所在城市)
要求:银行号为主码,银行名唯一,所有字段不为空。
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,'教学楼','济南','张虎')
inrt into project9527 values('101','地铁','北京','刘阳')
inrt into project9527 values('102','教学楼','济南','张虎')thank
银行(201,'工商银行','北京')
(202,'农业银行','济南')
(203,'建设银行','济南')
inrt into Bank9527 values('201','工商银行','北京')
inrt into Bank9527 values('202','农业银行','济南')
inrt into Bank9527 values('203','建设银行','济南')
贷款(101,201,300000,2005-11-10,null)
gatineau(101,202,3000000,2005-11-15,2006-11-28)
(102,202,200000,2006-10-15,null)
(102,203,500000,2005-5-6,null)
inrt into Loan9527 values('101','201',300000,'2005-11-10',null)
inrt into Loan9527 values('101','202',3000000,'2005-11-15','2006-11-28')
inrt into Loan9527 values('102','202',200000,'2006-10-15',null)
inrt into Loan9527 values('102','203',500000,'2005-5-6',null)
3.SQL语句完成下列查询:
a)列出所有工程和银行在同一城市的贷款记录,包括工程名、银行名、贷款金额、贷款日期。
lect 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次的工程名。
lect Pname,count(*)as 贷款记录from project9527,Loan9527 where project9527.PID=Loan9527.PID group by Pname having COUNT(Bdate)>1
c)列出2007年贷款总额超过300万的工程的工程号、工程名和贷款总金额。
lect Project9527.PID ,Pname,sum(money1)as 贷款总金额from Project9527,Loan9527
where Project9527.PID=Loan9527.PID and ('2007-1-1'<=Bdate and Bdate<'2008-1-1')group by
Project9527.PID ,Pname having sum(money1)>3000000
4.完成如下更新:wsb
今天是2008年10月18日,“教学楼”工程还清了其所有贷款,请在数据库中更新相应记录。
grass是什么意思might
update Loan9527 t Rdate='2006-10-18' where PID in (lect PID from project9527 where pname='教学楼')题目2、请为如下需求设计并实现一信息管理系统,并使用游标机制实现相应更新
某系统有如下数据库,其中存放了三个表:
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,c ity)
注:银行(银行号,银行名,所在城市)
要求:银行号为主码,银行名唯一,所有字段不为空。
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)
注:贷款(工程号,银行号,贷款金额,贷款日期,偿还日期)
要求:工程号和银行号作为主码,工程号为参照工程表的主码的外码,银行号为参照银行表的主码的外码,所有字段不为空,偿还日期必须迟于贷款日期或者为空。
试用SQL语言完成下列功能:
1.在SQLSEVER中创建上述表。
2.使用游标完成如下操作:
经过调查发现,“地铁”工程所有未偿还的贷款记录的贷款时间应该在2008-11-11日,做出以上更新。
declare c1 cursor for
lect 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 t Bdate='2008-11-11'
where Bdate=@x
fetch next from c1 into @x
end
clo c1
deallocate c1
6.列出同时满足如下条件的银行的银行号和银行名:
a)该银行在济南。
b)贷出款的总金额大于与其在同一地区的其他任何银行的贷出款的总金额。
lect Bank9527.BID,Bname from Bank9527,Loan9527 where Bank9527.city='济南' and Bank9527.BID=Loan9527.BID
group by Bank9527.BID,Bname
having sum(money1)>= all(lect sum(money1)from Loan9527
group by Loan9527.BID )
题目3、请根据如下要求设计并实现产品分销管理信息系统。
某公司产品的分销管理系统有如下四个表项:
Agent(AID,ANAME,SALARY)
注:对应含义为:代理商(代理商编号,姓名,薪水)
要求:AID 为主码,所有字段不为空
create table Agent9527(AID varchar(8),ANAME varchar(8)not null,SALARY INT NOT NULL,primary key(AID))
Customer(CID,CNAME)
注:对应含义为:顾客(顾客编号,姓名)
要求:编号为主码,所有字段不为空
create table Customer9527(CID varchar(8),CNAME varchar(8)not null,primary key(CID))Product (PID,PNAME,PRICE)
注:对应含义为:产品信息(编号,名称,价格)
要求:编号为主码,所有字段不为空
CREATE table Product9527(PID varchar(8),PNAME varchar(8)not null,PRICE real not null,primary key(PID))律师函英文
Orders(OID,BUY_DATE,CID,AID,PID ,QTY ,DOLLARS)
注:对应含义为:订单(订单号,购买日期,顾客号,产品号,代理商号,订购数量,订金)
要求:订单号为主码,顾客号、产品号、代理商号为外码,分别参照Customer中的CID,Agent 中的
AID,和Product 中的PID,订购数量大于0,所有字段不为空。
题目4、请为下述的图书馆管理信息系统设计并实现其数据库系统
假定需要保存“图书“,读者,借阅和…作者'信息以及他们之间的关系。
其中图书有总编号,书名,作者,出版单位,单价等信息,读者有借书证号,姓名,性别,地址,
作者有姓名,单位,性别,出生年月等信息,每位读者可以接阅多本书,每本书可以由多位读者借阅,借书时有借书日期。
要求:
1:设计数据库,建立合适的表来包出需要的信息,定义表的时候要给出外码的定义,书名,作者,姓名不能为空,性别只能取男或女,借书日期必须许在1980年1月1日到2050年12月31日之间。
2:往每个表中至少插入4条记录,并保证后面的查询结果不为空,。
3:找出借书日期在2002年12月之前的读者和书名。
4:给出每个出版社出版的单价在20元以下的书的总数。
5:作者…李通'现在改为笔名…李不通',请在数据库内作出相应的改变。
6:删除所有在本数据库中没有其写的书的作者的信息。
题目5、请设计并实现下述项目管理信息系统。
项目(项目号,项目名,领域,经费)
人员(职工号,姓名,出生日期,职称)
承担(职工号,项目号,业绩评分)
项目与人员是多对多联系,一个项目设一名负责人,一个研究领域可有多个研究项目,
假定设有数据仓库(DW)信息系统(IS)人工智能(AI)网络(NW)等领域。业绩评分按百分制计分
1 ,按题目要求建立表结构,各表务个字段的名字,数据类型,长度等数据根据定义和查询的需要自行设定。根据查询需要建立索引。
2,利用你所熟悉的方法向各表录入适量的满足题目要求的数据,各数据定义和查询的需要自行决定。根据查询需要建立索引。
3,编写一个对承担表的查询程序,要能按职工号,和项目事情的组合查找信息
如果查到,则是显示满足条件的记录如果查不到则显示无满足条件的项目,要求不退出本程序能继续执行查询操作。
4.1列出列目清单,要包含所有项目的项目号,项目名领域和经费信息且在最后一行显示,数据仓库领域且经费在23元以上的项目有X个
4.2 按照人员的职称分类,列出每类职称的人员数,且在最后一行显示人员总数。
4.3 列出58岁以上的教授的职工号,姓名,出生日期和所承担的项目并按职工号升序排列。
nell4.4 列出业绩评分超过80分的人员的职工号,姓名,年龄和所承担的项目。
题目6、请为如下需求的货运公司设计并实现车辆、司机信息管理系统。
某公司有很多类型的货车(小型货车,双轴货车,16轮货车等),货车要有货车号,货车类型(小型货车,双轴货车,16轮货车),载重量,有很多司机,每个司机可开多种类型的货车,司机要有司机号,姓名,地址,薪
水,司机运输货物时有货物名称,目的地,出发时间,返回时,要更新记录,有返回时间,驾驶时间,公司有很多技师维修货车,技师要有技师号,姓名,地址,薪水,货车维修要有维修时间,取车时间,费用。
要求:
1.姓名不能为空,载重量大于3吨,司机的薪水不能少于2000,技师的薪水不能少于1500,每个表至少插入4条记录,能满足以下的查询
2.求开过司机Joe开过的货车的司机的ID,姓名special effects
3.求货车维修费用的平均值
4.对驾驶时间超过50小时的司机增加薪水5%,没超过的加3%
5.删除维总修费用超过100,000的记录
题目7:请设计并实现下述的学籍管理信息系统。
现要为学校建立一个数据库,设学校环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生。.现要建立关于系、学生、班级的数据库,关系模式为:
学生STUDENT (学号,姓名,年龄,班号)
duck是什么意思班CLASS (班号,专业名,系名,入学年份)
系DEPARTMENT (系号,系名)
工程档案管理试用SQL语言完成以下功能:
1 建表,在定义中要求声明:
(1)每个表的主外码。
(2)每个班级的人数不能超过30人。
(3)学生的年龄介于15到40岁之间。
(4)学生姓名不能为空。
(5)只有班里没有学生的时候,才能删除该班级。
2 插入如下数据
如插入
CLASS(
101,软件,计算机,1995; 102,微电子,计算机,1996;
111,无机化学,化学,1995; 112,高分子化学,化学,1996;
121,统计数学,数学,1995; 131,现代语言,中文,1996;
141,国际贸易,经济,1997; 142,国际金融,经济,1996;
)
STUDENT (
8101,张三,18,101; 8102,钱四,16,121;
8103,王玲,17,131; 8105,李飞,19,102;
8109,赵四,18,141; 8110,李可,20,142
8201,张飞,18,111; 8302,周瑜,16,112;
8203,王亮,17,111; 8305,董庆,19,102;
8409,赵龙,18,101; 8510,李丽,20,142 )
DEPARTMENT( 001,数学; 002,计算机;
003,化学; 004,中文;
005,经济;)
3 完成以下查询功能
(1)找出所有姓李的学生,并按其年龄由小到大排序。

本文发布于:2023-06-02 21:40:37,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/131834.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:银行   工程   项目   贷款   查询   要求
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图