S2 第二章 課後作業

2021-07-25 20:50:48 字數 3250 閱讀 7912

------新增library資料庫

use master

if exists(select * from sysdatabases where name='library')

drop database library

create database library

on primary

(--主資料檔案的具體描述

name='library_data',

filename='d:\\library_data.mdf',

size=5mb,

filegrowth=15%)

log on(--次資料檔案的具體描述

name='library_log',

filename='d:\\library_log.ldf',

size=1mb,

filegrowth=15%

)------------------------------------建立表 book

use library

go create table book

(bid nvarchar(50) not null,

bname nvarchar(50) not null,

author nvarchar(50) null,

pubcomp nvarchar(50) null,

pubdate datetime null,

bcount int null,

price money null,

) -----------------------------建立表reader

use library

go create table reader

(rid nvarchar(50) not null,

rname nvarchar(50) not null,

lendnum int null,

raddress nvarchar(50) null

) -------------------------建立borrow表

use library

go create table borrow

(rid nvarchar(50) not null,

bid nvarchar(50) not null,

lenddate datetime not null,

willdate datetime null,

returndate datetime null

) -------------------------建立penalty表

use library

go create table penalty

(rid nvarchar(50) not null,

bid nvarchar(50) not null,

pdate datetime not null,

ptype int null,

amount money null

) ----------------新增資料

-----------------------book約束

--主鍵 模糊查詢

alter table book

add constraint pk_bid primary key(bid)

alter table book

add constraint ck_bid check(bid like 'isbn%')

--日期

alter table book

add constraint ck_pubdate check(pubdate=1)

alter table book

add constraint ck_price check(price>0)

----------------reader約束

alter table reader

add constraint pk_rid primary key(rid)

alter table reader

add constraint ck_lendnum check(lendnum>0)

------------------borrow約束

alter table borrow

add constraint pk_lenddate primary key(lenddate)

alter table borrow

add constraint df_lenddate default(getdate()) for lenddate

alter table borrow

add constraint ck_willdate check(willdate>lenddate)

alter table borrow

add constraint df_willdate default(dateadd(mm,1,getdate())) for willdate

alter table borrow

add constraint df_returndate default(null) for returndate

alter table borrow

add constraint fk_rid foreign key(rid) references reader(rid)

alter table borrow

add constraint fk_bid foreign key(bid) references book(bid)

-------------------penalty約束

alter table penalty

add constraint pk_pdate primary key(pdate)

alter table penalty

add constraint df_pdate default(getdate()) for pdate

alter table penalty

add constraint ck_ptype check (1='延期' or 2='損壞' or 3='丟失')

alter table penalty

add constraint fk_rid foreign key(rid) references reader(rid)

alter table penalty

add constraint fk_bid foreign key(bid) references book(bid)

第二章 課後作業 2 82,2 90

a 格式 seeeeeee emmmmmmm mmmmmmmm mmmmmmmm pi的二進位制數表示為 0 10000000 10010010000111111101011,s 為0,是個正數。e 為 10000000 轉為10進製為128,128 127 1,即實際指數部分為1.m 為 1001...

資料庫程式設計 第二章,課後作業

1,使用子查詢獲得當前沒有被讀者借閱的圖書資訊 select bname as 圖書名稱 bid as 圖書編號 author as 作者名稱 pubcomp as 出版社 price as 單價 from book where bid not in select nif from borrow 2...

S2 優化資料庫設計 第二章上級

use master goif exists select from sysdatabases where name myschool1 判斷 drop database myschool1 刪除語句 create database myschool1 執行 on name myschool10.m...