一、實驗?zāi)康?/h3>
(1)熟悉SQL Server Management Studio。
(2)掌握通過SQL Server Management Studio管理數(shù)據(jù)庫的方法。
(3)掌握數(shù)據(jù)庫及其物理文件的結(jié)構(gòu)關(guān)系。
(4)掌握通過SQL Server Management Studio管理數(shù)據(jù)表的方法。
二、實驗內(nèi)容
1.通過SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫
創(chuàng)建一個名稱為學(xué)生管理信息Student_info數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫Student_info的具體參數(shù)如表B.1所示。
表B.1 數(shù)據(jù)庫參數(shù)
參 數(shù) 名 稱 | 參 考 參 數(shù) |
---|---|
數(shù)據(jù)庫名稱 | Student_info |
數(shù)據(jù)庫邏輯文件名稱 | Student_info_data |
數(shù)據(jù)庫物理文件名稱 | Student_info_data.mdf |
數(shù)據(jù)文件初始大小 | 20MB |
數(shù)據(jù)文件大小最大值 | 300MB |
數(shù)據(jù)文件增長增量 | 5MB |
日志邏輯文件名稱 | Student_info_log |
日志物理文件名稱 | Student_info_log.ldf |
日志文件初始大小 | 5MB |
日志文件大小最大值 | 50MB |
日志文件增長增量 | 1MB |
2.查看、驗證創(chuàng)建的數(shù)據(jù)庫
方法1:執(zhí)行sp_helpdb系統(tǒng)存儲過程查看Student_info數(shù)據(jù)庫的信息。
方法2:在SQL Server Management Studio中查看。
3.修改數(shù)據(jù)庫的屬性
通過SQL Server Management Studio查看數(shù)據(jù)庫,將數(shù)據(jù)庫Student_info數(shù)據(jù)文件的初始大小改為30MB,最大值改為300MB,數(shù)據(jù)增長改為5%,日志文件的初始大小改為20MB,最大值改為30MB,數(shù)據(jù)增長改為6%。



列 名 稱 | 類 型 | 寬度 | 允許空值 | 默認(rèn)值 | 約束 | 主鍵 | 說 明 |
---|---|---|---|---|---|---|---|
Sno | Char | 8 | 否 | 是 | 學(xué)號 | ||
Sname | Varchar | 8 | 否 | 學(xué)生姓名 | |||
Sex | Char | 2 | 否 | 男 | 性別 | ||
Birth | Smalldatetime | 否 | 出生年月 | ||||
Classno | Char | 3 | 否 | 班級號 | |||
Entrance_date | Smalldatetime | 否 | 入學(xué)時間 | ||||
Home_addr | Varchar | 40 | 是 | 家庭地址 |
表B.3 Course表結(jié)構(gòu)和約束
列 名 稱 | 類 型 | 寬度 | 允許空值 | 默認(rèn)值 | 約 束 | 主鍵 | 說明 |
---|---|---|---|---|---|---|---|
Cno | Char | 3 | 否 | 是 | 課程號 | ||
Cname | Varchar | 20 | 否 | 課程名稱 | |||
Total_perior | Smallint | 是 | 大于0 | 總學(xué)時 | |||
Credit | Tinyint | 是 | 大于0,小于等于6 | 學(xué)分 |
表B.4 SC表結(jié)構(gòu)和約束
列 名 稱 | 類 型 | 寬度 | 允許空值 | 默認(rèn)值 | 約 束 | 主鍵 | 外鍵 | 說明 |
---|---|---|---|---|---|---|---|---|
Sno | Char | 8 | 否 | 是 | 是 | 學(xué)號 | ||
Cno | Char | 3 | 否 | 是 | 是 | 課程號 | ||
Grade | Tinyint | 是 | 大于等于0,小于等于100 | 否 | 成績 |




6.通過SQL Server Management Studio管理表結(jié)構(gòu)
(1)添加和刪除列
a.給Student表增加身高(以米單位)stature列,類型為numeric(4,2),允許為空值,且身高值需小于3.0米。
b.給Student表增加所在系Sdept列,字符型,長度為20,允許為空值。
請讀者考慮:如果Sdept列不允許為空值,結(jié)果會如何?如何才能實現(xiàn)Sdept列不允許為空值?
答:沒有系別的學(xué)生無法添加進(jìn)去;所有學(xué)生都有一個系別號。
c.給Student表增加郵政編碼Postcode列,字符型,長度為6,可以為空,若不為空時,則要求其值只能出現(xiàn)數(shù)字,不能是其他字符。
d.刪除Student表中身高stature列。





在設(shè)置約束時發(fā)現(xiàn),當(dāng)一個約束設(shè)置好后,需要將不需要再次設(shè)置的約束刪除,否則會出現(xiàn)彈框提醒。


(2)添加和刪除約束
a.在Student表添加約束:入學(xué)時間必須在出生年月之后。
b.給SC表的成績grade列增加默認(rèn)值約束,默認(rèn)值為0。
c.刪除grade列的默認(rèn)值約束。
7.通過SQL Server Management Studio對表添加、修改、刪除數(shù)據(jù)
(1)插入數(shù)據(jù),Student表、Course表、SC表的記錄見表B.5、表B.6、表B.7。
表B.5 Student表
Sno | Sname | Sex | Birth | Classno | Entrance_date | Home_addr | Sdept Postcode |
---|---|---|---|---|---|---|---|
20110001 | 張虹 | 男 | 1992/09/11 | 051 | 2011/09/01 | 南京 | 計算機(jī)系 |
20110002 | 林紅 | 女 | 1991/11/12 | 051 | 2011/09/01 | 北京 | 計算機(jī)系 |
20110103 | 趙青 | 男 | 1993/05/11 | 061 | 2011/09/01 | 上海 | 軟件工程 |
表B.6 Course表
Cno | Cname | Total_perior | Credit |
---|---|---|---|
001 | 高數(shù) | 96 | 6 |
002 | C語言程序設(shè)計 | 80 | 5 |
003 | Java語言程序設(shè)計 | 48 | 3 |
004 | Visual_Basic | 48 | 4 |
表B.7 SC表
Sno | Cno | Grade |
---|---|---|
20110001 | 001 | 89 |
20110001 | 002 | 78 |
20110001 | 003 | 89 |
20110002 | 002 | 60 |
20110103 | 001 | 80 |
其他數(shù)據(jù)可自行添加。要求Student表和SC表中數(shù)據(jù)包括了每位同學(xué)自己的學(xué)號。
(2)修改數(shù)據(jù)
a.將Student表中的學(xué)號為’20110103’的同學(xué)的出生年月改為1993年10月1日。
b.將Course表中的課程號為’002’的學(xué)分改為4,總學(xué)時改為64。
(3)刪除數(shù)據(jù)(請注意約束的限制)
a.刪除SC表中20110103同學(xué)的選課記錄。
b.刪除Course表中課程號為002的記錄。如果不能成功刪除該記錄,請分析原因。文章來源:http://www.zghlxwxcb.cn/news/detail-717908.html
答:不能公共刪除該記錄,因為受到FK_SC_Course的約束,會發(fā)生沖突。
三、疑難問題的解決和感想
在實驗過程中,首先是學(xué)會了如何配置環(huán)境,其次,在設(shè)置表和約束中最明顯的感受就是利用sql server進(jìn)行實驗的過程比起語句而言較為繁瑣,在設(shè)置約束的時候,我的實驗中出現(xiàn)了報錯以及不會設(shè)置外鍵的問題,所以第一點(diǎn)要注意設(shè)置時只添加需要的約束即可,不要添加空約束,否則會報錯;第二點(diǎn)外鍵是在處理關(guān)系當(dāng)中設(shè)置的。文章來源地址http://www.zghlxwxcb.cn/news/detail-717908.html
到了這里,關(guān)于數(shù)據(jù)庫實驗——通過SQL Server Management Studio創(chuàng)建及管理數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!