如果你对其他数据库原理的实验感兴趣,请考虑阅读我的专栏
实验内容
实验一 数据定义
实验目的:
1.熟练掌握SQL语言进行基本表结构的创建。
2.熟练应用SQL语言进行表结构的修改。
3.掌握SQL语言进行基本表的删除。
4.掌握SQL语言进行索引的建立和删除
5.选择具体的数据库管理系统进行实现
实验过程:
第一步 打开 Microsoft SQL Service Management Studio 并连接数据库 schTest
use schTest
第二步 用SQL语言CREATE TABLE语句创建实验一中学生表student、课程表course和选课表sc及其相应约束
表1 学生信息表student
字段(列名) | 数据类型 | 长度 | 完整性约束 |
---|---|---|---|
Sno | 字符型 | 8 | 主键 |
Sname | 字符型 | 4 | 不为空 |
Ssex | 字符型 | 2 | 默认值为‘男’,取值范围‘男’,‘女’ |
Sage | 整数型 | ||
Sdept | 字符型 |
表2 课程信息表course
字段(列名) | 数据类型 | 长度 | 完整性约束 |
---|---|---|---|
Cno | 字符型 | 2 | 主键 |
Cname | 字符型 | 30 | |
Credit | 整数型 | ||
Cpno | 字符型 | 3 |
表3 选课表SC
字段(列名) | 数据类型 | 长度 | 完整性约束 |
---|---|---|---|
Sno | 字符型 | 8 | 主属性,外键 |
Cno | 字符型 | 30 | 主属性、外键 |
Grade | 整数型 | 取值范围0-100 |
CREATE TABLE Student
(
Sno CHAR(9) PRIMARY KEY, --学号,主码
Sname CHAR(6) NOT NULL, --姓名,取唯一值
Ssex CHAR(2) DEFAULT '男' CHECK (Ssex= '男'or Ssex='女' ), --性别
Sage INT, --年龄
Sdept CHAR(10) --系院
);
go
CREATE TABLE Course
(
Cno CHAR(2) PRIMARY KEY, --课程号
Cname CHAR(30), --课程名
Cpno CHAR(3), --先行课
Ccredit SMALLINT, --学分
);
go
CREATE TABLE SC
(
Sno CHAR(8), --学号
Cno CHAR(2) , --课程号
Grade INT CHECK(Grade >=0 AND Grade <=100) --成绩
PRIMARY KEY(Sno,Cno),
/*主码由两个属性构成,必须作为表级完整性进行定义*/
CONSTRAINT fk_Sno FOREIGN KEY (Sno) REFERENCES Student(Sno) on delete cascade on update cascade,
CONSTRAINT fk_Cno FOREIGN KEY (Cno) REFERENCES Course(Cno) on delete cascade on update cas