数据库|实验二

 实验一

1 实验目的
1. 熟悉数据库的交互式SQL工具。
2. 熟悉通过SQL对数据库进行操作。
3. 完成作业的上机练习。
2 实验工具KingbaseES或mysql或其他
利用KingbaseES及其查询分析器或mysql或其他平台来熟悉SQL。以下为简便起见只提到kingbase.
3 实验内容和要求
1. 建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均在此建立的新库里进行。
2. 根据以下要求认真填写实验报告,记录所有的实验用例。
3.1 数据定义(实验二)
熟悉基本表的创建、修改及删除。
1、 请创建一个数据库,并在该数据库内完成以下内容:
CREATE DATABASE SC
USE SC
CREATE TABLE STUDENT
(Sno CHAR(9) PRIMARY KEY ,
Sname CHAR(6) NOT NULL,
Ssex CHAR (2),
Sage INT,
Sdept VARCHAR(8))

CREATE TABLE COURSE
(Cno CHAR(4) PRIMARY KEY,
Cname VARCHAR(20) NOT NULL,
Cpno CHAR(4),
Ccredit INT)

CREATE TABLE SC
(Sno CHAR(9) ,
Cno CHAR (4) ,
Gread INT,
PRIMARY KEY(Sno,Cno))
1) 依据数据表的结构创建相对应的数据表,表结构如下所示;
学生信息表(student)
字段名称 字段类型及长度 说明 备注
Sno Char(9) 学生学号 主关键字
Sname Char(6) 学生姓名 非空
Ssex Char(2) 学生性别 可为空
Sage Int 学生年龄 可为空
Sdept VarChar(8) 学生所在院系 可为空
课程信息表(course)
字段名称 字段类型及长度 说明 备注
Cno Char(4) 课程编号 主关键字
Cname VarChar(20) 课程名称 非空
Cpno Char(4) 先行课 可为空
Ccredit Int 学分 可为空
选课信息表(sc)
字段名称 字段类型及长度 说明 备注
Sno Char(9) 学生学号 主关键字
Cno Char(4) 课程编号 主关键字
Grade Int 成绩 可为空
2) 在表student中增加新字段 “班级名称(sclass)“;
原来的STUDENT表

添加班级名称:
ALTER TABLE STUDENT ADD Sclass VARCHAR(10)
添加后的STUDENT表:

3) 在表student中删除字段“班级名称(sclass)”;
ALTER TABLE STUDENT DROP COLUMN Sclass

4) 修改表student中字段名为“sname”的字段长度由原来的6改为8;
ALTER TABLE STUDENT ALTER COLUMN Sname CHAR(8)

5) 在表sc中增加外码约束,一个是sno参考student表的sno,一个是cno参考course表的cno;
ALTER TABLE SC ADD CONSTRAINT FK_Sno FOREIGN KEY (Sno) REFERENCES STUDENT(Sno)
ALTER TABLE SC ADD CONSTRAINT FK_Cno FOREIGN KEY (Cno) REFERENCES COURSE(Cno)

6) 在表course中为cname增加唯一值约束;
ALTER TABLE COURSE ADD CONSTRAINT UN_Cname UNIQUE(Cname)

可以看到键中出现了增加的UN_Cname约束
7)删除course表中cname的唯一值约束;
ALTER TABLE COURSE DROP CONSTRAINT UN_Cname
可以看到键中没有UN_Cname约束
7) 删除数据表student;
ALTER TABLE SC DROP CONSTRAINT FK_Sno
DROP TABLE STUDENT
没有STUDENT表了

posted @ 2020-10-07 08:15  zzzmmm37  阅读(1051)  评论(0)    收藏  举报