數據庫和表的創建
本文使用SQLserver數據庫爲示範
1 目的
1、掌握利用 SSMS 及 SQL 命令兩種方式管理數據庫;
2、掌握利用 SSMS 及 SQL 命令兩種方式管理表;
3、理解數據文件、事務日誌文件、文件組的概念;
4、理解實體完整性、參照完整性和用戶自定義完整性;
5、掌握 PRIMARY KEY 約束,FOREIGN KEY 約束,UNIQUE 約束CHECK 約束和 DEFAULT約束的使用。
2 要點
1、創建數據庫、修改數據庫、刪除數據庫、數據庫的分離與附加;
2、創建表、修改表、刪除表、五種數據約束;
3 主要內容
得到的簡易圖書管理數據庫(假定數據庫名爲:BooksDB)包含 4 個關係(即:數據表)。
關係名、屬性及說明分別如下述各表所示。
(1)讀者類別表 ReaderType
(2)讀者信息表 Reader
(3)圖書信息表 Book
(4)借閱信息表 Borrow
要求完成如下任務:
1、利用 SQL 命令創建 BooksDB 數據庫及表;
2、分離與附加 BooksDB;
3、數據導入/導出:將 BooksDB 數據庫導出到 Access 數據庫。
4 詳細步驟和SQL命令
4.1 使用 SQL 命令管理數據庫和表
1、創建並使用數據庫 BooksDB
create database BookDB --創建數據庫
go
use BooksDB --使用數據庫
go
2、創建讀者類別表 ReaderType
create table ReaderType(
rdType Int primary key, --讀者類別號
rdTypeName varchar(20), --讀者類別名稱
canLendQty int, --可借書天數
canLendDay int --可借書天數
)
運行後得到表格如下:
3、創建讀者表 Reader
create table Reader(
rdID char(9) primary key, --讀者編號
rdType int references ReaderType(rdType),--讀者類別
rdName varchar(20), --讀者姓名
rdDept varchar(40), --讀者單位
rdQQ varchar(13), --讀者QQ
rdBorrowQty int default 0 check(rdBorrowQty between 0 and 10) --已借書天數
)
運行後得到表格如下:
4、創建圖書表 Book
create table Book(
bkID char(9) primary key, --書號
bkName varchar(50), --書名
bkAuthor varchar(50), --作者
bkPress varchar(50), --出版社
bkPrice decimal(5,2), --單價
bkStatus int default 1 --是否在館,1:在館,0:不在館
)
運行後得到表格如下:
5、創建借閱信息表 Borrow
create table Borrow(
rdID char(9) references Reader(rdID), --讀者編號
bkID char(9) references Book(bkID), --書號
DateBorrow datetime, --借書日期
DateLendPlan datetime, --應還日期
DateLendAct datetime, --實際還書日期
primary key(rdID,bkID)
)
運行後得到表格如下:
4.2 向數據表中錄入測試數據
向表中錄入數據時,必須嚴格按照創建表時給的數據類型錄入。
1、向ReaderType表中插入數據
insert into ReaderType values('1','教師','10','60')
insert into ReaderType values('2','本科生','5','30')
insert into ReaderType values('3','碩士研究生','6','40')
insert into ReaderType values('4','博士研究生','8','50')
運行後得到表格如下:
2、向Reader表中插入數據
insert into Reader values('rd2017001','1','劉宇','計算機科學學院','2546831','1')
insert into Reader values('rd2017002','2','邱琳','管理學院','1542368','1')
insert into Reader values('rd2017003','3','羅美娟','外語學院','54265825','1')
insert into Reader values('rd2017004','4','王強','電信學院','2543698','1')
運行後得到表格如下:
3、向Book表中插入數據
insert into Book values('bk2017001','數據庫原理及應用','王麗豔','機械工業出版社','33.00','1')
insert into Book values('bk2017002','高等數學','同濟大學數學系','高等教育出版社','32.00','1')
insert into Book values('bk2017003','當代教育心理學','陳琦','北京師範大學出版社','37.20','1')
insert into Book values('bk2017004','古代漢語','王力','中華書局','20.40','1')
運行後得到表格如下:
4、向Borrow表中插入數據
insert into Borrow values('rd2017001','bk2017002','2017.6.1','2017.8.1','2017.6.10')
insert into Borrow values('rd2017002','bk2017001','2017.5.2','2017.6.2','2017.5.20')
insert into Borrow values('rd2017003','bk2017003','2017.3.15','2017.4.24','2017.4.10')
insert into Borrow values('rd2017004','bk2017001','2017.2.8','2017.3.28','2017.2.28')
運行後得到表格如下:
4.3 分離與附加數據庫
1、分離數據庫
(1)在對象資源管理器中,選中數據庫 BooksDB,選擇右鍵菜單“任務”->“分離”。如下圖所示。
(2)在彈出的“分離數據庫”對象框中,單擊“確定”按鈕。
2、附加數據庫
數據庫分離成功後,利用數據文件 BookDB.mdf 及事務日誌文BookDB_log.ldf 附加數據庫BooksDB。
(1)在對象資源管理器中,選中“數據庫”,選擇右鍵菜單“附加(A)…”。如下圖所示。
(2)在彈出的“附加數據庫”對象框中,單擊“添加(A)…”按鈕,添加數據庫的 MDF 文件。單擊“確定”按鈕。