1. 程式人生 > >數據庫基礎(1):數據定義

數據庫基礎(1):數據定義

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 TABLE
Courses ( 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 FOREIGN
KEY(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):數據定義