数据库基础:数据定义
Posted 雨中枫玲
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库基础:数据定义相关的知识,希望对你有一定的参考价值。
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
以上是关于数据库基础:数据定义的主要内容,如果未能解决你的问题,请参考以下文章