问题补充说明:创建数据表图书表信息如下:图书编号:自动编号(标识列),从1开始,主键书名:必填作者:必填出版社编号:外键单价:必填,不低于1元ISBN:必填出版日期:必填销售状态:0或1,0表示待售,1表示已售,默认0备注:可选出版社信息如下:出版社编号:自动编号(标识列),从1开始,主键出版社名称:必填地址:必填备注:可选系统用户信息如下:用户编号:主键用户名:必填、唯一密码:必填、默认“888888”实际姓名:必填性别:只能是“男”或“女”,默认“男”出生年月:必填状态:0或1,0表示正常,1表示该用户被禁用会员信息如下:会员编号:6位数字,首位必须是1、2、3,第二位必须是3或8或9、主键姓名:必填联系电话:必填,格式为xxxx-xxxxxxxx(区号3位或4位,号码7-8位,区号、号码之间有分隔线,共13位)或手机号(手机号必须以1开头,第二位为3、5、8,共11位)身份证号:必填,只能是18位,身份证号唯一约束,首位不能为0,末位为0-9或X; 积分值:默认为0会员组编号:外键状态:0或1,0表示正常,1表示挂失会员组信息如下:会员组编号:3位数字、主键会员组类型:只能0或1,0表示普通、1表示VIP图书销售信息表如下:销售编号:自动编号(标识列),从1开始,主键图书编号:外键销售日期: 默认当前日期收银员:必填,外键(系统用户)是否会员:“是”或“否”会员编号:可选进货入库表如下: 入库编号:自动编号(标识列),从1开始,主键图书编号:必填,外键单价:必填,大于0入库日期:默认当前日期进货人:必填,外键(系统用户)供货商:必填
createdatabasedb
usedb
createtable借阅等级信息(
借阅等级intprimarykey德那收杨叶受歌,
最长借阅时间int,
最大神行借阅数量int,
)
insertinto借阅等级信息values
(0,30,10),
(积境示安且孔1,60,20),
(2,90,30),
(3,120,40)
createtable读者信息(
姓名char(15)notnull,
证件号char(12)prima360问答rykey,
借阅等级书氧执妒毛绿intdefault0,
累计借书intdefault0,
foreig信派nkey(借阅等级)references借阅等级信息(借阅等级)
)
insertinto读者信息(姓名,证件号,借阅等级)values
('张三','541607华如120165',1),
('李笑称职号能对判地氢城犯四','541707010185',3),
('王五','541707120165',1),
('赵六','541505980268',2),
('孙七','541407010169',0),
('周解频作控些例利刘个基八','541307010489',1)
createtable出版社信息(
出版社varchar(20)primarykey,
地址varchar(25),
联系电话c氢比死孔级艺给段飞顶har(7)
)
insertinto出版社信息values
('清华大学出版社','北京','4979421'),
('晟威出版社','天津','556413妈病语掉板0'),
('南海出版公司','海南','4984910'),
('上海文艺出版社','上海','6640239')
createtable图书信息(
索书号char(15)primarykey,
作者char(15),
书名char(15),
出版社varchar(20),
出版时间date,
foreignk直ey(出版社)references出版社信息(出版社)
)
insertinto图书信息values
('b129希解永利载行良87','严蔚敏','数据结构','清华大学出版社','2012-02-06'),
('b97894','东野圭吾','幻夜','南海出版公司','2004-08-02'),
('b16546','吴玉华','物理实验教程','清华大学出版社','20二吸困岁银院题剧13-05-15'),
('b89490','张雪峰','考研指点','晟威出版社','2016-12-12'),
('b56400','郏宗胶法排告质终速测鲁规培','纸上寻仙记','上海文艺出版社','2011-02-05')
createtable单本图书信息(
条码号char(7)primarykeycheck(len(条码号)=7),
索书号char(15),
馆藏地varchar(40),
书刊状态varchar(6)check(书刊状态in('可借','借出','非可借')),
历史借阅量intdefault0,
foreignkey(索书号)references图书信息(索书号)
)
insertinto单本图书守束汽节机粮影信息(条码号,索书号她责速反认庆静,馆藏地,书刊状态)values
('t987628','b97起组乙让防帝挥894','三楼A8','借出'),
('t594805','b97894','二楼C7','可借'),
('t984910','b89490','五楼A2','借出'),
('t94056举映班周6','b12987','负一楼D3','借出')
createtable借阅信息(
借阅号char(6)primarykey,
借阅时间date,
归还时间date,
图书条码号char(7),
借阅人证件号char(12),
foreignkey(图书条码号)references单本图书信息(条码号),
foreignkey(借阅人证件号)references读者信息(证件号)
)
createtable评论信息(
评论号char(8)primarykey,
评分numeric(2,1),
内容varchar(200),
评论时间date,
评论者idchar(12),
索书号char(15),
foreignkey(索书号)references图书信息(索书号),
foreignkey(评论者id)references读者信息(证件号)
)
insertinto评论信息values
('p12391',8.9,'很有趣','2015-06-24','541707010185','b97894'),
('p98523',7.8,'受益颇多','2016-05-22','541307010489','b89490'),
('p94606',6.8,'完全看不懂orz','2017-05-02','541607120165','b12987')
createtable主题词信息(
IDchar(8)primarykey,
类别char(15),
索书号char(15),
foreignkey(索书号)references图书信息(索书号)
)
insertinto主题词信息values
('z64400','计算机','b12987'),
('z95410','物理','b16546'),
('z98500','考研','b89490'),
('z64165','推理\悬疑','b97894'),
('z69850','仙侠','b56400')
usedb
go
createtriggertrigger1
on借阅信息
afterinsert
as
begin
update读者信息 --更改读者累计借书量
set累计借书=累计借书+1
from读者信息,inserted
where读者信息.证件号=inserted.借阅人证件号
update单本图书信息 --更改图书状态
set单本图书信息.书刊状态='借出'
frominserted,单本图书信息
whereinserted.图书条码号=单本图书信息.条码号
update单本图书信息
set历史借阅量=历史借阅量+1 --更改图书历史借阅量
frominserted,单本图书信息
whereinserted.图书条码号=单本图书信息.条码号
end
insertinto借阅信息values
('j13488','2018-05-01','2018-08-01','t987628','541407010169')
insertinto借阅信息values
('j14910','2016-12-11','2017-01-25','t984910','541607120165')
insertinto借阅信息values
('j97890','2018-05-14','2018-06-14','t940566','541607120165')
go
createviewview_1(图书条码,借阅者姓名,编号,借阅时间,应还时间)
as
select图书条码号,姓名,证件号,借阅时间,归还时间
from借阅信息,读者信息
where借阅信息.借阅人证件号=读者信息.证件号and归还时间>getdate()
go
createviewview_2(图书条码,历史总借阅量)
as
select条码号,历史借阅量
from单本图书信息,图书信息
where单本图书信息.索书号=图书信息.索书号and书名='幻夜'
go
createviewview_3(类别,图书条码,历史总借阅量)
as
select类别,条码号,历史借阅量
from单本图书信息,图书信息,主题词信息
where主题词信息.索书号=图书信息.索书号and图书信息.索书号=单本图书信息.索书号and类别='考研'
go
createviewview_4(读者编号,条码,图书名称,应还日期)
as
select借阅人证件号,图书条码号,书名,归还时间
from单本图书信息,图书信息,借阅信息
where借阅信息.图书条码号=单本图书信息.条码号and单本图书信息.索书号=图书信息.索书号
and归还时间>getdate()and借阅人证件号='541607120165'
go
createviewview_5(读者编号,图书条码,图书名称,借阅日期,归还日期)
as
select借阅人证件号,图书条码号,书名,借阅时间,归还时间
from单本图书信息,图书信息,借阅信息
where借阅信息.图书条码号=单本图书信息.条码号and单本图书信息.索书号=图书信息.索书号
and借阅人证件号='541607120165'
go
createviewview_6(读者编号,图书名称,评论时间,评论内容)
as
select评论者id,书名,评论时间,内容
from借阅信息,单本图书信息,评论信息,图书信息
where借阅信息.图书条码号=单本图书信息.条码号and单本图书信息.索书号=评论信息.索书号
and评论信息.索书号=图书信息.索书号and评论者id='541607120165'
go
createviewview_7(出版社名称,图书名称,出版时间)
as
selecttop100percent出版社信息.出版社,书名,出版时间
from出版社信息,图书信息
where出版社信息.出版社=图书信息.出版社
orderby出版时间asc
--执行
select*fromview_1
select*fromview_2
select*fromview_3
select*fromview_4
select*fromview_5
select*fromview_6
select*fromview_7orderby出版时间asc
扩展资料:
数据库模型:
对象模型
层次模型(轻量级数据访问协议)
网状模型(大型数据储存)
关系模型
面向对象模型
半结构化模型
平面模型(表格模型,一般在形式上是一个二维数组。如表格模型数据Excel)
架构
数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。
内层:最接近实际存储体,亦即有关数据的实际存储方式。
外层:最接近用户,即有关个别用户观看数据的方式。
概念层:介于两者之间的间接层。
数据库索引
主条目:数据库索引
数据索引的观念由来已久,像是一本书前面几页都有目录,目录也算是索引的一种,只是它的分类较广,例如车牌、身份证字号、条码等,都是一个索引的号码,当我们看到号码时,可以从号码中看出其中的端倪,若是要找的人、车或物品,也只要提供相关的号码,即可迅速查到正确的人事物。
另外,索引跟字段有着相应的关系,索引即是由字段而来,其中字段有所谓的关键字段(KeyField),该字段具有唯一性,即其值不可重复,且不可为"空值(null)"。
例如:在合并数据时,索引便是扮演欲附加字段数据之指向性用途的角色。故此索引为不可重复性且不可为空。
数据库操作:事务
主条目:数据库事务
事务(transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
事务的并发性是指多个事务的并行操作轮流交叉运行,事务的并发可能会访问和存储不正确的数据,破坏交易的隔离性和数据库的一致性。
网状数据模型的数据结构网状模型满足下面两个条件的基本层次联系的集合为网状模型。1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。
参考资料来源:百度百科——数据库
标签:管理系统,数据库,图书