株洲网站建设 英铭seo产品是什么意思
数据库复试—关系数据库标准语言SQL
SQL:结构化查询语言 以教材中的学生-课程数据库为例进行SQL基础语法的复习 数据库实验环境选择SQLServer 11
关系模式
学生表Student(Sno,Sname,Ssex,Sage,Sdept)
课程表Course(Cno,Cname,Cpno,Ccredit)
学生选课表SC(Sno,Cno,Grade)
数据建立
学生表数据
| 学号Sno | 姓名 Sname | 性别 Ssex | 年龄 Sage | 所在系 Sdept | 
|---|---|---|---|---|
| 201215121 | 李勇 | 男 | 20 | CS | 
| 201215122 | 刘晨 | 女 | 19 | CS | 
| 201215123 | 王敏 | 女 | 18 | MA | 
| 201215125 | 李勇 | 男 | 20 | IS | 
课程表数据(其中先行课既是主键又是外键)
| 课程号Cno | 课程名Cname | 先行课Cpno | 学分Ccredit | 
|---|---|---|---|
| 1 | 数据库 | 5 | 4 | 
| 2 | 数学 | 2 | |
| 3 | 信息系统 | 1 | 4 | 
| 4 | 操作系统 | 6 | 3 | 
| 5 | 数据结构 | 7 | 4 | 
| 6 | 数据处理 | 2 | |
| 7 | PASCAL语言 | 6 | 4 | 
选课表SC中间表(联系表)
| 学号Sno | 课程号Cno | 成绩Grade | 
|---|---|---|
| 201215121 | 1 | 92 | 
| 201215121 | 2 | 85 | 
| 201215121 | 3 | 88 | 
| 201215121 | 2 | 90 | 
| 201215121 | 3 | 80 | 
实验说明
在建表的过程中使用数据库管理员进行登录,在SQL定义与查询实验中忽略用户授权与相应的视图机制
在实验贱建表的过程中对常用的数据类型的说明进行省略
数据类型参考说明
实验工具Sqlserver自带工具
 
数据定义语言DDL—基本表建立
前期加主键约束与列级完整性约束条件
CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,  /*主键约束*/Sname CHAR(20) UNIQUE,     /*唯一值*/Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20)
);
外键引用自身
-- 选课表CREATE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40) NOT NULL,Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY(Cpno) REFERENCES Course(Cno)
);
中间表的部分主键由两个外键联合组成,外键分别引用另外两个表的主键
CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno),FOREIGN KEY(Cno) REFERENCES Course(Cno),
);
完成数据库系统表的建立
数据操作语言DML-表结构的修改
语法关键字
- ALTER TABLE
- DROP TABLE
- ADD TABLE
列名:COLUMN(column)
实验举例
- 向学生表中添加入学时间列数据类型为日期型
ALTER TABLE Student ADD S_entrance DATE;

ALTER TABLE Student DROP COLUMN S_entrance;
删除表中一列时携带关键字
- 删除学生表实验(级联删除和非级联删除)
带有外键约束的无法直接进行删除
级联删除语法存在问题
 
查询后发现是因为SQL2012不支持使用"cascade"和"destrict”
先删除对应的关系在删除学生表

