SQL数据库的一些简单问题。下面1~8题谁会?麻烦高手帮忙,小弟感激不尽!谢谢。
近年来,随着科技的迅猛发展以及网络技术的广泛普及,高校图书馆急需一种高效的、完善的图书管理系统对信息进行自动化管理。图书管理系统是典型的信息管理系统,图书管理工作中需要对...
近年来,随着科技的迅猛发展以及网络技术的广泛普及,高校图书馆急需一种高效的、完善的图书管理系统对信息进行自动化管理。图书管理系统是典型的信息管理系统,图书管理工作中需要对大量的信息进行处理,包括图书信息管理、借阅信息管理、读者信息管理、信息查询等,面对大量的图书信息,频繁的借阅信息,以及多方面的查询需求,就需要一个高效的完善的图书管理系统来有效的管理这些数据。图书管理的自动化控制,将会使图书管理工作大大减轻,完善的数据库管理,将会使图书管理系统极大限度地应用于现代化图书管理,成为图书管理人员的得力助手。
为简化设计,仅把需求层次划分为四个部分:图书维护,学生读者信息管理,图书借阅管理,借阅信息查询。要求系统能够实现以下功能:
n 进行新书入库、现有图书信息修改以及删除;
n 能够实现对读者基本信息的查询和编辑管理;
n 能够进行超期罚款功能;
n 能够进行借阅信息的查询功能;
请根据以上需求,结合自己所学知识,完成以下项目任务:
1、设计合理的数据表或关系模式(答案只需写出示例中加粗字体部分)
【示例:根据需求“能够实现对读者基本信息的查询和编辑管理”,读者实体包含的属性有(读者编号,姓名,性别,学号,学院,专业,年级)等,那么设计读者关系模式如下:
Reader(ReaderID, ReaderXM, ReaderXB, ReaderXH, ReaderXY, ReaderZY, ReaderNJ)
其中,带下划线的属性为主键,设计表时ReaderID字段类型数据为int自增长,ReaderNJ为整型,其他为varchar型。】
2、为了确保数据的完整性,请针对第1题所设计的表举例说明你是如何保证实体完整性、参照完整性和域完整性,分别举一个例子简要说明。如果我平时需要经常查询读者的姓名,那么你将采用什么措施,请简单说明。
3、请写出一条添加一新图书的SQL语句。
4、写出一条删除某种图书名称的图书的SQL语句。
5、写出一条将读者ID为1的读者学院修改为计算机学院的SQL语句。
6、写出一条查询2012级所有学生读者信息的SQL语句。
7、写一创建视图的SQL语句,视图能显示读者学号,当前所借图书名称,借书日期,应还日期。
8、写一创建存储过程的SQL语句, 展开
为简化设计,仅把需求层次划分为四个部分:图书维护,学生读者信息管理,图书借阅管理,借阅信息查询。要求系统能够实现以下功能:
n 进行新书入库、现有图书信息修改以及删除;
n 能够实现对读者基本信息的查询和编辑管理;
n 能够进行超期罚款功能;
n 能够进行借阅信息的查询功能;
请根据以上需求,结合自己所学知识,完成以下项目任务:
1、设计合理的数据表或关系模式(答案只需写出示例中加粗字体部分)
【示例:根据需求“能够实现对读者基本信息的查询和编辑管理”,读者实体包含的属性有(读者编号,姓名,性别,学号,学院,专业,年级)等,那么设计读者关系模式如下:
Reader(ReaderID, ReaderXM, ReaderXB, ReaderXH, ReaderXY, ReaderZY, ReaderNJ)
其中,带下划线的属性为主键,设计表时ReaderID字段类型数据为int自增长,ReaderNJ为整型,其他为varchar型。】
2、为了确保数据的完整性,请针对第1题所设计的表举例说明你是如何保证实体完整性、参照完整性和域完整性,分别举一个例子简要说明。如果我平时需要经常查询读者的姓名,那么你将采用什么措施,请简单说明。
3、请写出一条添加一新图书的SQL语句。
4、写出一条删除某种图书名称的图书的SQL语句。
5、写出一条将读者ID为1的读者学院修改为计算机学院的SQL语句。
6、写出一条查询2012级所有学生读者信息的SQL语句。
7、写一创建视图的SQL语句,视图能显示读者学号,当前所借图书名称,借书日期,应还日期。
8、写一创建存储过程的SQL语句, 展开
3个回答
展开全部
1 略
2 略
3 insert into BookInfo (BookId,BookName,Publish,Author) values ('001','这本书是什么书','无知者无畏出版社',‘无名氏')
4 Delete from BookInfo where BookName='查无此书'
5 Update ReaderInfo set Institute=‘计算机学院' where ReadId=1
6 select * from ReadInfo where left(grade,4)='2012'
7 create view vw_myview1
as
select a.ReadId,c.BookName,b.LentDate,b.ReturnDate from ReaderInfo a
left join ReaderBook b
on a.ReaderId=b.ReadId
left join BookInfo c
on b.BookId=c.BookId
where a.deleamark=0 and b.returnSign=0
8 create procedure DropD
as
Drop Database Library
2 略
3 insert into BookInfo (BookId,BookName,Publish,Author) values ('001','这本书是什么书','无知者无畏出版社',‘无名氏')
4 Delete from BookInfo where BookName='查无此书'
5 Update ReaderInfo set Institute=‘计算机学院' where ReadId=1
6 select * from ReadInfo where left(grade,4)='2012'
7 create view vw_myview1
as
select a.ReadId,c.BookName,b.LentDate,b.ReturnDate from ReaderInfo a
left join ReaderBook b
on a.ReaderId=b.ReadId
left join BookInfo c
on b.BookId=c.BookId
where a.deleamark=0 and b.returnSign=0
8 create procedure DropD
as
Drop Database Library
更多追问追答
追问
1,2能帮我写写看吗,
追答
1
书本表BookInfo (书本编号,书名,出版社,作者)
create table BookInfo (BookId int primary key, BookName nvarchar(50),Publish nvarchar(50),Author nvarchar(20))
读者表ReaderInfo (编号,姓名,性别,年级,学院)
create table ReaderInfo (ReaderId int primary key, RName nvarchar(20),sex char(1) default 'M',grade varchar(10),Institute nvarchar(20))
借书记录表ReaderBook (记录编号,读者号,书号,借书日期,应还日期,归还标识)
create table ReaderBook(id int indentity(1,1) primary key,ReardrId int not null,BookId int not null,lentDate datetime,ReturnDate datetime,ReturnSign bit default 0)
有事走开...先写这么多 等下回来完善
2
实体完整性:每个表都有各自主键 如ReaderBook的主键是记录编号id 采用自增来控制唯一性
参照完整性:BookInfo表与ReaderInfo表通过BookId字段关联 bookid是ReaderInfo的外键
域完整性:ReaderInfo表的性别字段sex设为默认男'M',可进一步设置值域为男或者女 'M' or 'F'
如果需要经常查询读者姓名 可为ReaderInfo表的姓名字段RName中添加索引
已完善 望采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询