根据调研选定实体及相应属性画出E-R图
2、将E-R模型转换为对应关系模型,并指出主码和外码
读者reader(编 ,姓名,单位,性别,电话);
借阅borrow(书 ,读者编 ,借阅日期,还书日期)。
3. 建数据库及表,定义各属性的域 。并完成主码、外码的定义。
根据上面的表结构,要求:① 对每个属性选择合适的数据类型;② 定义每个表的主码、是否允许空值和默认值等列级数据约束;③ 对每个表的名字和表中属性的名字尽可能用英文符 标识。
实现相关约束(预习自学内容):①建立上述三个表的联系,即实现:借阅表与图书表之间、借阅表与读者表之间的外码约束;② 实现读者性别只能是“男”或“女”的约束等。
(1)新建数据库
CREATE DATABASE Book_Reader_DB_20170513
CONTAINMENT = NONE
ON PRIMARY
(
NAME = ‘Book_Reader_DB_20170513’,
FILENAME = ‘C:Microsoft SQL ServerMSSQL14.MSSQLSERVERMSSQLDATABook_Reader_DB_20170513.mdf’ ,
SIZE = 8192KB ,
MAXSIZE = 2048GB,
FILEGROWTH = 65536KB
)
LOG ON
(
NAME = ‘Book_Reader_DB_20170513_log’,
FILENAME = ‘C:Microsoft SQL ServerMSSQL14.MSSQLSERVERMSSQLDATABook_Reader_DB_20170513_log.ldf’ ,
SIZE = 8192KB ,
MAXSIZE = 2048GB ,
FILEGROWTH = 65536KB
)
(2)新建图书表
【操作语句】
create table Book
(
Bid char(6) primary key,
Btype nvarchar(10) not null,
Bname nvarchar(50) not null,
Bauthor nvarchar(20) not null,
Pressname nvarchar(30) not null,
Bprice float not null ,
Btip nvarchar(50)
)
(3)新建读者表
【操作语句】
create table Reader
(
Rid char(8) primary key,
Rname nvarchar(10) not null,
Rsex nchar(2) not null check(Rsex=’男’ or Rsex=’女’),
Rdepartment nvarchar(20) not null,
Rnumber char(11)
)
(4)新建借阅表
【操作语句】
create table RB
(
Rid char(8) foreign key references Reader(Rid),
Bid char(6) foreign key references Book(Bid),
BorrowDate datetime not null default getdate(),
ReturnDate datetime,
primary key(Rid, Bid)
)
4、使用inesert语句向表中插入适当数据
–向Reader表插入数据:
insert Reader values(‘2017258′,’东方’,’女’,’软件学院’,’12345677654′),
(‘2017290′,’西门吹雪’,’男’,’软件学院’,’24190520724′),
(‘2017250′,’上官’,’女’,’软件学院’,’35729264967′),
(‘2017345′,’南宫问天’,’男’,’计算机学院’,’35705724064′),
(‘2017336′,’北冥雪’,’女’,’计算机学院’,’19036330639′)
–向Book表插入数据:
insert Book values(‘111000′,’计算机’,’计算机组成原理’,’盖茨’,’清华出版 ’,32.8,’出版于2012年’),
(‘111110′,’计算机’,’计算机 络’,’扎克’,’清华出版 ’,28.2,’出版于2015年’),
(‘111120′,’计算机’,’计算机发展史’,’艾比恩姆’,’清华出版 ’,30.6,’出版于2013年’),
(‘111119′,’数据库’,’SQL Server从入门到精(fang)通(qi)’,’王琳’,’中国人民大学出版 ’,32.8,’出版于2012年’),
(‘111205′,’数据库’,’MY SQL实践’,’苏铭’,’中国科技大学出版 ’,38.3,’出版于2016年’),
(‘111250′,’操作系统’,’Linux就该这么学’,’托沃兹’,’北京大学出版 ’,32.1,null)
–向RB表(借阅表)插入数据:
insert RB values(‘2017258′,’111000′,’2018-10-28′,’2018-11-13’),
(‘2017258′,’111120′,’2018-10-28’,null),
(‘2017290′,’111119′,’2018-10-25′,’2018-11-27’),
(‘2017250′,’111119′,’2018-10-24′,’2018-11-28’),
(‘2017336′,’111205′,’2018-10-28′,’2018-11-13’),
(‘2017345′,’111000′,’2018-10-28′,’2018-11-13’),
(‘2017345′,’111250′,’2018-10-10′,’2018-10-28’)
update和alter的使用:
(1)在实验一的基础上使用数据定义语言在图书表中增加两个属性:数量和购买日期。
【定义语句】
alter table Book add Bcount int not null default 0
alter table Book add Bbuytime datetime
【实验结果】
(2)使用update语句来修改图书表中的数量和购买日期数据
【操作语句】
update Book set Bcount=200, Bbuytime=’2015-2-3′ where Btype=’计算机’
update Book set Bcount=300, Bbuytime=’2015-3-5′ where Btype=’数据库’
update Book set Bcount=500, Bbuytime=’2017-7-7′ where Btype=’操作系统’
文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树数据修改修改31348 人正在系统学习中 相关资源:LibraryO:图书图书馆软件。-开源_图书馆开源项目-其它代码类资源…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!