数据库复试—关系数据库标准语言SQL

发布时间:2024年01月18日

数据库复试—关系数据库标准语言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李勇20CS
201215122刘晨19CS
201215123王敏18MA
201215125李勇20IS

课程表数据(其中先行课既是主键又是外键)

课程号Cno课程名Cname先行课Cpno学分Ccredit
1数据库54
2数学2
3信息系统14
4操作系统63
5数据结构74
6数据处理2
7PASCAL语言64

选课表SC中间表(联系表)

学号Sno课程号Cno成绩Grade
201215121192
201215121285
201215121388
201215121290
201215121380

实验说明

在建表的过程中使用数据库管理员进行登录,在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)

实验举例

  1. 向学生表中添加入学时间列数据类型为日期型

ALTER TABLE Student ADD S_entrance DATE;

在这里插入图片描述


ALTER TABLE Student DROP COLUMN S_entrance;

删除表中一列时携带关键字

  1. 删除学生表实验(级联删除和非级联删除)

带有外键约束的无法直接进行删除
在这里插入图片描述

级联删除语法存在问题
在这里插入图片描述

查询后发现是因为SQL2012不支持使用"cascade"和"destrict”

先删除对应的关系在删除学生表

实验拓展

文章来源:https://blog.csdn.net/weixin_46167190/article/details/135674263
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。