数据库管理系统及其应用环境的创建使用
数据库管理系统及其应用环境的创建使用
实验环境
操作系统:windows10
数据库:MySQL
数据库可视化工具:Navicat
1. 实验内容
创建数据库,创建并维护基本表的结构与数据
1.设计一个应用场景,创建符合该应用需求的应用数据库。
2. 在该数据库中创建至少 4 个相互关联的基本表,并设置主键、外键、自定义完整性约束(非空、唯一、默认值、check)。
1.1 创建学生表(S)
学生表:包括学号、姓名、性别、系别、生日、班级属性
其中学号为主键,姓名不为空,性别只能在’F’, 'M’中选择
CREATE TABLE S (
Sno CHAR(9) PRIMARY KEY,
Sname CHAR (10) NOT NULL,
Ssex CHAR (2) CHECK (Ssex IN ('F','M')),
Sdept CHAR (10),
Birthday DATE,
Class CHAR (4) );
1.2 创建教师表(T)
教师表:包括教师工号、姓名、职称属性
其中工号为主键,姓名不为空,职称只能在’professor’, ‘teacher’ 中选择
CREATE TABLE T (
Tno CHAR(9) PRIMARY KEY
Tname CHAR (10) NOT NULL,
postition CHAR (10) CHECK (postition IN ('professor','teacher'))
);
1.3 创建课程表(C)
课程表:包括课程号、讲课的教师工号、课程名属性
其中课程号为主键,教师工号为外键,课程名不为空
CREATE TABLE C (
Cno CHAR(10) PRIMARY KEY,
Tno CHAR(9),
Cname CHAR(20) NOT NULL,
FOREIGN KEY(Tno) REFERENCES T(Tno)
);
1.4 创建选修表(SC)
选修表:包括选修学生的学号,选修课程的课程号,成绩属性
其中学号和课程号为主键,学号和课程号为外键,成绩在0-100之间
CREATE TABLE SC(
Sno CHAR (9),
Cno CHAR (9),
Grade INT,
PRIMARY KEY(Sno,Cno),
FOREIGN KEY (Sno) REFERENCES S (Sno),
FOREIGN KEY (Cno) REFERENCES C (Cno),
CHECK (GRADE BETWEEN 0 AND 100)
);
打开navicat查看是否创建成功
2 验证约束
2.1 FRIMARY KEY主键约束
在学生表(S)中插入学生数据。
INSERT INTO s (Sno,Sname ,Ssex, Sdept, Birthday, Class)
VALUES ('1','Fan','F','CS','20211028','19');
然后再插入相同学号的信息,就会有主键不唯一的报错。
INSERT INTO s (Sno,Sname ,Ssex, Sdept, Birthday, Class)
VALUES ('1','One','M','MATH','20211028','19');
2.2 NOT NULL 约束
在学生表(S)中插入数据时不插入姓名信息
违反姓名不能为空的约束报错
INSERT INTO s(Sno ,Ssex, Sdept, Birthday, Class)
VALUES ('2', 'M','MATH','20211028','19');
2.3 CHECK 约束
在学生表(S)中插入数据将性别插入为不是’F’, 'M’两个中的任意一个时
违反性别在’F’, 'M’中选择约束报错。
INSERT INTO s(Sno,Sname ,Ssex, Sdept, Birthday, Class)
VALUES ('2','One','MM','MATH','20211028','19');
2.4 FOREIGN KEY 外键约束
在课程表©中插入数据时,教师表(T)中并没有’1’这个工号的教师,所以违反外键原则报错。
INSERT INTO c (Cno,Tno,Cname)
VALUES ('1','1','bigdata');
2.5 范围约束
在选修表中插入数据时
违反成绩在0-100之间的约束,所以报错
INSERT INTO sc(Sno, Cno, Grade)
VALUES ('1','1','1000');
2.6 默认约束验证
在选课表(SC)中添加默认约束,如果不输入成绩默认为0
3. 对表的结构进行修改操作。
3.1 添加默认约束
在选课表(SC)中添加默认约束,如果不输入成绩默认为0
ALTER TABLE sc ALTER COLUMN Grade
SET DEFAULT(0);
- 添加约束
- 约束语句
- 结果
4 创建索引及删除索引
4.1 创建索引对象
``sql
CREATE INDEX CnameIndex on C(Cname)
![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7080170406a1417dbbbcc919b53fbfd8~tplv-k3u1fbpfcp-watermark.image?)
## 4.2 查看索引
```sql
SHOW INDEX FROM c
5. 向表中录入若干数据,对表中数据进行修改和删除操作
5.1 插入数据
插入后的数据库表的数据
5.3 修改数据
- 修改前
- 修改语句
- 修改后
5.4 删除数据
- 删除前
- 删除语句
- 删除后
- 点赞
- 收藏
- 关注作者
评论(0)