圖書管理系統 建立資料庫和表

2021-08-07 03:10:41 字數 5944 閱讀 7531

/*1管理員表(l_administrator)

欄位名字段說明資料型別約束備註

a_id 管理員編號 int primary key identity(1000,1)

a_name 管理員姓名 nvarchar(20) not null

a_pwd 管理員密碼 varchar(20) not null

*/ use library

gocreate table l_administrator(

a_id int not null primary key identity(1000,1),

a_name nvarchar(20) not null,

a_pwd varchar(20) not null);

/*2職務型別表(l_duty)

欄位名字段說明資料型別約束備註

d_id 職務編號 int primary key identity(1000,1)

d_name 職務名稱 nvarchar(20) not null

d_maxcount 最大借閱數量 tinyint not null

*/use library

gocreate table l_duty(

d_id int not null primary key identity(1000,1),

d_name nvarchar(20) not null,

d_maxcount tinyint not null);

/*3讀者表(l_reader)

欄位名字段說明資料型別約束備註

r_id 讀者編號 bigint primary key

r_name 讀者姓名 nvarchar(20) not null

r_pwd 讀者密碼 varchar(20) not null

r_*** 讀者性別 bit not null

r_typeid 職務型別 int foreign key 職務型別表的主鍵

r_academy 所在院系 nvarchar(20)

r_major 專業 nvarchar(20)

r_contact **** varchar(20)

r_email 郵箱 nvarchar(20)

r_photo 讀者** nvarchar(100) 存的是讀者**的路徑

*/use library

gocreate table l_reader(

r_id bigint not null primary key,

r_name nvarchar(20) not null,

r_pwd varchar(20) not null,

r_*** bit not null,

r_typeid int not null,

r_academy nvarchar(20),

r_major nvarchar(20),

r_contact varchar(20),

r_email varchar(20),

r_photo nvarchar(100));

alter table l_reader add constraint fk_dtypeid foreign key(r_typeid) references l_duty(d_id)

on delete cascade

on update cascade;

/*建立乙個儲存過程*/

use library

gocreate procedure reader

@r_id bigint,

@r_name nvarchar(20),

@r_pwd varchar(20),

@r_*** bit,

@r_typeid int,

@r_academy nvarchar(20),

@r_major nvarchar(20),

@r_contact varchar(20),

@r_email varchar(20),

@r_photo nvarchar(100)

asbegin

insert into l_reader(r_id,r_name,r_pwd,r_***,r_typeid,r_academy,r_major,r_contact,r_email,r_photo)

values(@r_id,@r_name,@r_pwd,@r_***,@r_typeid,@r_academy,@r_major,@r_contact,@r_email,@r_photo);

end/*

4圖書型別表(l_booktype)

欄位名字段說明資料型別約束備註

bt_id 型別編號 int primary key identity(1000,1)

bt_name 型別名稱 nvarchar(20) not null

*/use library

gocreate table l_booktype(

bt_id int not null primary key identity(1000,1),

bt_name nvarchar(20) not null);

/*5出版社資訊表(l_publishing)

欄位名字段說明資料型別約束備註

isbn 國際標準圖書編碼 char(13) primary key

p_name 出版社名稱 nvarchar(30) not null

*/use library

gocreate table l_publishing(

isbn char(13) not null primary key,

p_name nvarchar(30) not null);

/*6圖書資訊表(l_book)

欄位名字段說明資料型別約束備註

b_id 圖書編號 varchar(30) primary key identity(1000,1)

b_name 圖書名稱 nvarchar(30) not null

isbn 國際標準圖書編碼 char(13) foreign key 13位數字組成

b_bkcaseid 書架編號 varchar(20)

b_price 定價 numeric(10,2)

b_author 作者 nvarchar(20)

b_typeid 型別編號 int foreign key

b_intime 入庫時間 datetime

b_synopsis 圖書簡介 nvarchar(500)

b_state 圖書狀態 bit 0--借出,1--沒有借出

b_photo 封面** nvarchar(100) 存的是路徑

*/use library

gocreate table l_book(

b_id varchar(20) not null primary key ,

b_name nvarchar(30) not null,

isbn char(13),

b_bkcaseid varchar(20),

b_price numeric(10,2) not null,

b_author nvarchar(20),

b_typeid int,

b_intime datetime,

b_synopsis nvarchar(1000),

b_state bit not null default 0,

b_photo nvarchar(100));

alter table l_book add constraint fk_btypeid foreign key(b_typeid) references l_booktype(bt_id)

on delete cascade

on update cascade;

alter table l_book add constraint fk_bisbn foreign key(isbn) references l_publishing(isbn)

on delete cascade

on update cascade;

alter table l_book drop column b_bkcaseid

/*建立儲存過程*/

use library

gocreate procedure book

@b_name nvarchar(30),

@isbn char(13),

@b_bkcaseid varchar(20),

@b_price numeric(10,2),

@b_author nvarchar(20),

@b_intime datetime,

@b_synopsis nvarchar(1000),

@b_photo nvarchar(100)

asbegin

insert into l_book(b_name,isbn,b_bkcaseid,b_price,b_author,b_intime,b_synopsis,b_photo)

values(@b_name,@isbn,@b_bkcaseid,@b_price,@b_author,@b_intime,@b_synopsis,@b_photo);

end/*

7借閱管理表(l_borrow)

欄位名字段說明資料型別約束備註

bw_id 借閱編號 int primary key identity(1,1)

bw_bookid 圖書編號 varchar(20) foreign key

bw_readerid 讀者編號 int foreign key

bw_outtime 借出日期 datetime not null

bw_endtime 到期日期 datetime not null

bw_backtime 歸還日期 datetime

bw_i***pired 是否過期 bit not null 預設為0--不過期

bw_fine 罰款數目 numeric (10,2) 過期後才計算罰款數目

*/use library

gocreate table l_borrow(

bw_id int not null primary key identity(1,1),

bw_bookid varchar(20),

bw_readerid bigint ,

bw_outtime datetime not null,

bw_endtime as dateadd(d,30,bw_outtime),

bw_backtime datetime,

bw_i***peried bit default 0,

bw_fine numeric(10,2) default 0.00);

alter table l_borrow add constraint fk_bookid foreign key(bw_bookid) references l_book(b_id)

on delete cascade

on update cascade;

alter table l_borrow add constraint fk_readerid foreign key(bw_readerid) references l_reader(r_id)

資料庫 圖書管理系統

大連交通軟體學院 資料庫原理及應用課程設計 設計題目 圖書管理系統設計 班級 學號 15 姓名 摘要資料庫原理及應用課程設計是軟體工程專業集中實踐性環節之一,是學習完 資料庫原理及應用 課程後進行的一次全面的綜合練習。其目的在於加深對資料庫基礎理論和基本知識的理解,掌握使用資料庫進行軟體設計的基本方...

圖書管理系統資料庫設計

專業 計算機軟體班級 計08 1班 姓名羅錦紅 08083331 指導教師 張辰職稱 講師 中國礦業大學電腦科學與技術學院 乙個簡單的圖書管理系統包括圖書館內所有的書籍資訊,學校在學生的資訊及讀者的借閱資訊。此系統分為面向學生和面向管理員兩個部分。其中 學生可以完成書籍借閱,續借,歸還和書籍資訊的查...

圖書管理系統資料庫設計

一 需求分析 1.資訊需求 在資料庫books中需設計如下所示的資料字段和資料表 1 圖書型別表booktype,包括 圖書型別編號,圖書型別名稱和上級圖書型別編號 2 圖書基本資訊表booklnfo,包括 圖書編號,圖書名稱,作者,出版社,圖書型別,庫存位置,庫存數量和描述資訊 3 借閱證件表ca...