數據庫基礎(1):數據定義
阿新 • • 發佈:2017-05-13
rop 數據庫基礎 class red 教師 clas 教師表 屬性 sna
1.實驗內容
1) 用Management Studio創建數據庫University_Mis
2) 使用SQL語句創建關系數據庫基本表:
學生表Students(Sno,Sname, Semail,Scredit,Sroom);
教師表Teachers(Tno,Tname,Temail,Tsalary);
課程表Courses(Cno,Cname,Ccredit);
成績表Reports(Sno,Tno,Cno,Score);
其中:Sno、Tno、Cno分別是表Students、表Teachers、表Courses的主鍵,具有唯一性約束,Scredit具有約束“大於等於0”; Reports中的Sno,Tno,Cno是外鍵,它們共同組成Reports的主鍵。
CREATE TABLE Students ( Sno CHAR(5) PRIMARY KEY, //主鍵 Sname CHAR(20), Semail CHAR(20), Scredit FLOAT,CONSTRAINT A CHECK(Scredit>=0), //約束條件 Sroom CHAR(10), ) CREATE TABLE Teachers ( Tno CHAR(5) PRIMARY KEY, Tname CHAR(20), Temail CHAR(25), Tsalary INT , ) CREATE TABLECourses ( Cno CHAR(5) PRIMARY KEY, Cname CHAR(20), Ccredit CHAR(25), ) CREATE TABLE Reports ( Sno CHAR(5), Tno CHAR(5), Cno CHAR(5), Score INT PRIMARY KEY(Sno,Tno,Cno), //共同組成的主鍵 CONSTRAINT Student_Report FOREIGN KEY(Sno) REFERENCES Students, CONSTRAINT Teather_Report FOREIGNKEY(Tno) REFERENCES Teachers, CONSTRAINT Course_Report FOREIGN KEY(Cno) REFERENCES Courses, )
3) 更改表Students:增加屬性Ssex(類型是CHAR,長度為2),取消Scredit“大於等於0”約束。把表Courses中的屬性Cname的數據類型改成長度為30。
ALTER TABLE Students ADD Ssex CHAR(2) ALTER TABLE Students DROP CONSTRAINT A ALTER TABLE Courses ALTER COLUMN Cname CHAR(30)
4) 刪除表Students的一個屬性Sroom。
5) 刪除消表Reports。
ALTER TABLE Students DROP COLUMN Sroom DROP TABLE Reports
6) 為Courses表創建按Cno降序排列的索引。
7) 為Students表創建按Sno升序排列的索引。
CREATE INDEX Stu_Cno ON Courses(Cno DESC) CREATE INDEX Stu_Sno ON Students(Sno ASC)
8) 創建表Students的按Sname升序排列的唯一性索引。
9) 刪除Students表Sno的升序索引。
CREATE UNIQUE INDEX Stu_Sname ON Students(Sname ASC) DROP INDEX Students.Stu_Sno
數據庫基礎(1):數據定義