《数据库原理》实验报告
题目:实验一
数据库和表的创建与管理
学号
姓名
班级
日期
2018300156 孙嘉蕊
HC001808
10.17
一. 实验内容、步骤以及结果
1. 利用图形用户界面连接数据库(10 分)。
2. 利用命令行连接数据库(10 分)。
3. 利用图形用户界面创建、备份、删除和还原数据库和数据表(40 分,每小题
5 分)
数据库和表的要求
数据库名:SPJ_MNG,其中包含四张表:S 表, P 表, J 表, SPJ 表
S (SNO, SNAME, STATUS, CITY)
P (PNO, PNAME, COLOR, WEIGHT)
J (JNO, JNAME, CITY)
SPJ (SNO, PNO, JNO, QTY)
供应商表 S 由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态
(STATUS)、供应商所在城市(CITY)组成。
零件表 P 由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)
组成。
工程项目表 J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在
城市(CITY)组成。
供应情况表 SPJ 由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、
供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为 QTY。
现在该数据库有若干数据如下,基于该库表完成指定操作。
北京
螺母
螺栓
北京
天津
上海
精益
盛锡
红
绿
蓝
丰泰盛
东方红
STATUS CITY
20
天津
10
30
20
30
S 表
SNO SNAME
S1
S2
S3
S4
S5
P 表
PNO PNAME COLOR WEIGHT
P1
P2
P3
P4
P5
P6
J 表
JNO JNAME
J1
J2
J3
J4
J5
J6
12
17
14
14
40
30
CITY
北京
无线电厂 常州
红
蓝
红
凸轮
齿轮
长春
天津
天津
西安
螺丝刀
三建
一汽
螺丝刀
为民
弹簧厂
造船厂
机车厂
SPJ 表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SNO PNO JNO QTY
S1
S1
S1
S1
S2
S2
S2
S2
S2
S2
S3
S3
S4
S4
S4
S5
S5
S5
S5
200
100
700
100
400
200
500
400
400
100
200
200
200
100
300
100
200
200
500
P1
P1
P1
P2
P3
P3
P3
P3
P5
P5
P1
P3
P5
P6
P6
P2
P3
P6
P6
J1
J3
J4
J2
J1
J2
J4
J5
J1
J2
J1
J1
J1
J3
J4
J4
J1
J2
J4
J7
半导体厂 南京
(1) 创建 SPJ_MNG 数据库。
(2) 在 SPJ_MNG 数据库中创建以上四张表(只输入一部分数据示意即可)。
表的创建:
表数据的输入
(3) 导出数据库 SPJ_MNG 为一个 SQL 文件。
(4) 删除已经创建的供应情况表(SPJ 表)。
(5) 删除 SPJ_MNG 数据库。
(6) 利用(3)中备份过的 SQL 文件还原刚才删除的 SPJ_MNG 数据库。
(7) 修改 S 表,增加一个联系电话的字段 STEL,数据类型为字符串类型,并修
改 S 表中 SNO 允许的字符串最大长度。
(8) 了解 MySQL 的物理存储文件,查看本机 MySQL 服务安装目录下(如默认安
装 C:\ProgramData\MySQL\MySQL Server 8.0\Data)的数据文件。尝试分别按照
InnoDB 和 MyISAM 不同的存储引擎创建表,观察并说明物理存储文件差异。
4. 利用命令行创建、备份、删除和还原数据库和数据表(40 分,每小题 5 分)
数据库和表的要求
数据库名:Student, 其中包含三个表:
S (SNO, SNAME, SGENDER, SBIRTH, SDEPT, SAGE)
C (CNO, CNAME, CPNO, CREDIT)
SC (SNO, CNO, GRADE)
学生信息表 S 由学生学号(SNO)、姓名(SNAME)、性别(SGENDER)、出生
日期(SBIRTH)、所在学院(SDEPT)、年龄(SAGE)组成。
课程信息表 P 由课程编号(CNO)、课程名(CNAME)、先修课编号(CPNO)、
学分(CREDIT)组成。
选课信息表 SC 由学生学号(SNO)、课程编号(CNO)、成绩(GRADE)组成。
SC 表
SDEPT
女
女
男
CPNO
2
SNAME
SGENDER SBIRTH
男
SNO CNO GRADE
2001
2001
2001
2002
2002
2003
92
85
90
78
84
91
1
2
3
2
3
6
2000/01/01 MA
2001/02/01
IS
1999/10/01 CS
IS
2001/06/01
表示某个学生选修了某门课程,成绩为 GRADE。
S 表
SNO
2001 李勇
2002 刘晨
2003 王敏
2004 张立
C 表:
CNO CNAME
1
数据库
2
3
4
5
6
现在该数据库有若干数据如上所示,基于该库表完成指定操作。
(1) 用 SQL 语句创建数据库 Student。
高等数学
信息系统 1
操作系统 5
数据结构 6
C 语言
CREDIT
3
5
2
3
3
2
(2) 用 SQL 语句创建上述的三张表,各个字段的数据类型请自己确定,每张表
只要有主键约束即可,不要其他约束。不用输入数据。
(3) 备份数据库 Student。
(4) 用 SQL 语句删除创建的表。
(5) 用 SQL 语句删除创建的数据库。
(6) 用 SQL 语句利用(3)中的备份文件还原 student 数据库。