實驗一 初識DBMS及資料庫的建立
實驗內容
1、建立資料庫
(1)建立一個學生課程資料庫,資料庫名Student_DB,包含主資料檔案,日誌檔案和輔助資料檔案Student_DB1,所有檔案路徑均存放在F:\My_database\ 下。其中,資料庫主資料檔案初始大小為5MB,最大大小為30MB,資料庫自動增長,增長方式是按5%比例增長。日誌檔案初始為3MB,最大可增長到10MB,按2MB增長。
2、資料表的設計
用SSMS方式為資料庫Student_DB新增如下3個表(即是教材P79頁的圖3.2中對應的表):
l 學生表:Student(Sno, Sname, Ssex, Sage, Sdept);
l 課程表:
l 學生選課表:SC(Sno, Cno, Grade)
學生表的邏輯設計:
欄位名 |
型別 |
長度 |
主碼/外碼 |
允許空值 |
說明 |
Sno |
char |
9 |
主碼 |
非空 |
學號 |
Sname |
char |
20 |
|
非空 |
姓名 |
Ssex |
char |
2 |
|
空 |
性別 |
Sage |
smallint |
|
|
空 |
年齡 |
Sdept |
char |
20 |
|
空 |
系別 |
課程表的邏輯設計:
欄位名 |
型別 |
長度 |
主碼/外碼 |
允許空值 |
說明 |
Cno |
char |
4 |
主碼 |
非空 |
課程號 |
Cname |
char |
40 |
|
非空 |
課程名 |
Cpno |
char |
4 |
外碼 |
空 |
先修課程號 |
Ccredit |
smallint |
|
|
空 |
學分 |
選課表的邏輯設計:
欄位名 |
型別 |
長度 |
主碼/外碼 |
允許空值 |
說明 |
Sno |
char |
9 |
外碼 |
非空 |
學號 |
Cno |
char |
4 |
外碼 |
非空 |
課程號 |
Grade |
smallint |
|
|
空 |
成績 |
說明:選課表的主碼:(Sno, Cno)
3、用SSMS方式進行資料表記錄的“增刪改”操作
參照教材P79頁的圖3.2為各個表新增相應的元組。並做如下的操作:
(1) 刪除選修1號課程的學生選修課的記錄。
(2) 修改劉晨的資訊系統課程分數為89。
(3) 增加王敏同學選修資料庫課程的資訊,得分為90分。
(4) 為Student表增加列Sbirthday,資料型別為datetime型,初始為NULL。
(5) 修改SC表的成績列,將其資料型別改為INT。
4、資料庫備份
磁碟備份:直接將Student_DB資料庫備份到F盤backup下,備份資料庫名為Student_DB.bak。
5、資料庫的刪除
將資料庫Student_DB用SSMS方式或T-SQL方式進行刪除。
6、還原資料庫
用所得到的備份資料庫對資料庫進行還原。
7、分離附加資料庫
對Student_DB進行分離並附加到當前的SQL Server伺服器中。
實驗過程、存在的問題及解決辦法:
1.開啟SQL Server服務:
2. 連線服務
選擇“資料庫引擎”及本地計算機名或IP
3. 新建資料庫,命名為“Student_DB_10”
並將“主資料檔案”與“日誌檔案”設定完畢:
4.資料表的設計
用SSMS方式為資料庫Student_DB_10新增如下3個表
並將Ssex初始值設定為“男”,Cdept初始值設定為“CS”:
設定各個表中的主鍵與外來鍵,如下所示:
5.新增各個表中的資料元組,如下所示:
6.對資料元組及圖示式樣的操作:
(1)刪除選修1號課程的學生選修課的記錄
(2)修改劉晨的資訊系統課程分數為89。
(3)增加王敏同學選修資料庫課程的資訊,得分為90分。
(4)為Student表增加列Sbirthday,資料型別為datetime型,初始為NULL。
(5)修改SC表的成績列,將其資料型別改為INT。
7.資料庫備份
(1)磁碟備份:直接將Student_DB資料庫備份到F盤backup下,備份資料庫名為Student_DB.bak。
(2)資料庫的刪除
將資料庫Student_DB用SSMS方式或T-SQL方式進行刪除。
(3)還原資料庫
用所得到的備份資料庫對資料庫進行還原。
(4)分離附加資料庫
對Student_DB進行分離並附加到當前的SQL Server伺服器中。
實驗總結:
此次實驗,初步瞭解了資料庫SQL的基本概念,並學會了建立簡單“學生-課程資料庫”。掌握資料庫的建立與刪除;掌握SSMS方式下的資料表設計方法;掌握SSMS方式下資料表記錄的“增刪改”方法;初步掌握資料庫簡單備份和還原的方法及分離附加的方法。