数据库图书管理建表与修改表
根據調研選定實體及相應屬性畫出E-R圖
2、將E-R模型轉換為對應關系模型,并指出主碼和外碼??
圖書book(書號,類別,出版社,作者,書名,定價,備注);
讀者reader(編號,姓名,單位,性別,電話);
借閱borrow(書號,讀者編號,借閱日期,還書日期)。
3. 建數據庫及表,定義各屬性的域 。并完成主碼、外碼的定義。????
根據上面的表結構,要求:① 對每個屬性選擇合適的數據類型;② 定義每個表的主碼、是否允許空值和默認值等列級數據約束;③ 對每個表的名字和表中屬性的名字盡可能用英文符號標識。
實現相關約束(預習自學內容):①建立上述三個表的聯系,即實現:借閱表與圖書表之間、借閱表與讀者表之間的外碼約束;② 實現讀者性別只能是“男”或“女”的約束等。
(1)新建數據庫
?CREATE DATABASE Book_Reader_DB_20170513
?CONTAINMENT = NONE
?ON? PRIMARY
(
??? NAME = 'Book_Reader_DB_20170513',
??? FILENAME = 'C:\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\Book_Reader_DB_20170513.mdf' ,
??? SIZE = 8192KB ,
??? MAXSIZE = 2048GB,
??? FILEGROWTH = 65536KB
)
LOG ON
(
??? NAME = 'Book_Reader_DB_20170513_log',
??? FILENAME = 'C:\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\Book_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='操作系統'
轉載于:https://www.cnblogs.com/DSYR/p/9898772.html
總結
以上是生活随笔為你收集整理的数据库图书管理建表与修改表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加纳是哪个国家
- 下一篇: 对某人失望心寒的网名129个