實驗報告(第3次)
實驗名稱 ?數據定義操作 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?實驗時間 10月12日1-2節
一、實驗內容
1、本次實驗是用sql語句創建庫和表,語句是固定的,要求熟記這些sql語句。
二、源程序及主要算法說明
CREATE?TABLE?Student??????????(Sno???CHAR(9)?PRIMARY?KEY,?/* 列級完整性約束條件*/??????????????????Sname??CHAR(20)?UNIQUE,?/* Sname取唯一值*/Ssex????CHAR(2),Sage???SMALLINT,Sdept??CHAR(20));?CREATE?TABLE??Course(?Cno???????CHAR(3)?PRIMARY?KEY,Cname??CHAR(30),????????????Cpno?????CHAR(3)?,??????????????? ??????????????????????Ccredit??SMALLINT,FOREIGN?KEY (Cpno)?REFERENCES??Course(Cno)?);CREATE?TABLE??SC(Sno??CHAR(9),?Cno??CHAR(3),??Grade????SMALLINT,PRIMARY?KEY (Sno,Cno),??FOREIGN?KEY (Sno)?REFERENCES?Student(Sno),FOREIGN?KEY (Cno)?REFERENCES?Course(Cno));CREATE?TABLE?成績(學號?char(8)?not?null,課程號?char(8)?not?null,成績??int?CHECK(成績>=0 ?and?成績<=100))CREATE??TABLE?學生( ??學號??char(10),姓名??char(10),性別??char(2)??DEFAULT?'男')
三、測試數據及結果
任務
點擊“新建查詢”——在命令行使用命令建立數據庫
創建了數據庫后點執行,右擊數據庫“刷新”,即可看到左邊出現了students數據庫。
查看students的屬性可以看到創建的數據文件和日志文件如下圖所示
打開D盤即可看到創建的school數據庫的數據文件和日志文件
2.根據下圖創建帶有兩個數據文件和兩個日志文件的數據庫test.
鼠標右擊數據庫刷新即可看到test數據庫,右擊test數據庫查看test屬性
3.一句話創建默認數據庫:create database?wj31;
修改數據庫名字:alter database ?原數據庫名 modify name=新數據庫名;
刪除數據庫語句:drop database 數據庫名;刪除后刷新才可以看到
4:查看全部數據庫 sp_helpdb;
5:查看數據庫的文件信息: sp_helpdb 數據庫名;
6:用SQL語句在數據庫創建表;
7:建好表后,再次添加一列: alter table 表名 add 列名 類型null;
8:把room 的類型改為char(6): alter table student?alter column room char(6)
9:刪除student表的room列
10:刪除student表
按照給定的源程序創建三個表
結果
1-1:用SQL語句刪除sc表的外鍵約束
刪除前
刪除后
1-2:用SQL語句刪除student表的主鍵約束
刪除前
刪除后
1-3:用SQL語句添加student表的主鍵約束
添加前
添加后
1-4:給sc表的添加外鍵約束。
添加前
添加后
2-1:刪除成績的check約束
刪除前
刪除后
2-2:添加成績的check約束
添加前
添加后
3-1:刪除上例建立的default約束
刪除前
刪除后
3-2:為性別添加default
添加前
添加后
3-3:為姓名添加unique約束
添加前
添加后
四、出現的問題和解決方案
問題:列級約束中未給約束起別名則默認約束名稱連接符為兩個“_”
解決方法:直接從圖形化界面的中尋找約束或鍵的名稱復制即可
五、心得體會與自我評價
本次實驗雖較為簡單,但仍需細心并耐心按照實驗文檔指示完成。