Kingbase数据库实验一 设计数据库、创建数据库和数据库
- 一、实验目的
- 二、实验内容
- 三、实验步骤
- 1.创建学生作业管理数据库
- 2.对表3.6,表3.7和表3.8以下表的方式给出各字段的属性定义和说明。
- 3. 使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表。
- 4.在各个表中输入表3.6、表3.7和表3.8中的相应内容
- 5.使用数据操纵完成以下任务。
一、实验目的
- 掌握在Kingbase中使用“数据库对象管理工具”和SQL命令创建数据库与修改数据库的方法。
- 掌握在Kingbase中使用“数据库对象管理工具”或者SQL命令创建数据表和修改数据表的方法(以SQL命令为重点)。
二、实验内容
给定教材126页的表3.6、表3.7和表3.8所示的学生信息。
- 在Kingbase中使用“数据库对象管理工具”和SQL命令创建学生作业管理数据库,数据库的名称自定。
(1)使用“数据库对象管理工具”创建数据库,请给出重要步骤的截图。
(2)删除第(1)步创建的数据库,再次使用SQL命令创建数据库,请给出SQL代码。
(3)创建数据库之后,如果有需要,可以修改数据库。 - 对表3.6,表3.7和表3.8,分别以下表的方式给出各字段的属性定义和说明。
- 使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表,在实验报告中给出SQL代码。
- 在各个表中输入表3.6、表3.7和表3.8中的相应内容。
- 使用数据操纵完成以下任务(每一个任务都要给出SQL语句,并且列出查询结果)。
(1)在学生表中添加一条学生记录,其中,学号为0593,姓名为张乐,性别为男,专业班级为电子05。
(2)将所有课程的学分数变为原来的两倍。
(3)删除张乐的信息。
三、实验步骤
1.创建学生作业管理数据库
(1)通过“数据库对象管理工具”创建学生作业管理数据库
(2)通过SQL语句创建学生作业管理数据库
SQL语句如下:
CREATE
DATABASE 学生作业管理 WITH OWNER = "SYSTEM" ENCODING UTF8;
2.对表3.6,表3.7和表3.8以下表的方式给出各字段的属性定义和说明。
表3.6的属性定义和说明
字段名 | 数据类型 | 长度或者精度 | 默认值 | 完整性约束 |
学号 | varchar | 20 | 主键非空 | |
姓名 | varchar | 20 | 非空 | |
性别 | varchar | 4 | 男 | 非空 |
专业班级 | varchar | 20 | 非空 | |
出生日期 | varchar | 20 | 可为空 | |
联系电话 | varchar | 20 | 可为空 |
表3.7的属性定义和说明
字段名 | 数据类型 | 长度或者精度 | 默认值 | 完整性约束 |
课程号 | varchar | 4 | 主键 | |
课程名 | varcahr | 4 | 非空 | |
学分数 | float | 8 | 非空 | |
学时数 | int | 4 | 非空 | |
任课教师 | varchar | 20 | 非空 |
表3.8的属性定义和说明
字段名 | 数据类型 | 长度或者精度 | 默认值 | 完整性约束 |
课程号 | varchar | 20 | ||
学号 | varchar | 20 | 主键非空 | |
作业1成绩 | int | 4 | 非空 | |
作业2成绩 | int | 4 | ||
作业3成绩 | int | 4 | 非空 |
3. 使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表。
SQL语句如下:
Create table "PUBLIC".学生表(
学号 nvarchar(20) PRIMARY KEY NOT NULL,
姓名 nvarchar(20)not null,
性别 nchar(4) default '男'not null,
专业班级 nvarchar(20)not null,
出生日期 nvarchar(20),
联系电话 nvarchar(20)
);
Create table "PUBLIC".课程表(
课程号 nvarchar primary KEY NOT NULL,
课程名 nvarchar not null,
学分数 FLOAT not null,
学时数 int not null,
任课教师 nvarchar(20) not null
);
Create table "PUBLIC".学生作业表(
课程号 nvarchar(20),
FOREIGN KEY(课程号) REFERENCES "PUBLIC".课程表(课程号),
学号 nvarchar(20),
FOREIGN KEY(学号) REFERENCES "PUBLIC".学生表(学号),
作业1成绩 int not null,
作业2成绩 int,
作业3成绩 int not null
);
4.在各个表中输入表3.6、表3.7和表3.8中的相应内容
如下图所示:
5.使用数据操纵完成以下任务。
(1)在学生表中添加一条学生记录,其中,学号为0593,姓名为张乐,性别为男,专业班级为电子05。
INSERT INTO "PUBLIC".学生表("学号","姓名","性别","专业班级")
VALUES('0593','张乐','男','电子05');
(2)将所有课程的学分数变为原来的两倍。
UPDATE "课程表"
SET 学分数=2*学分数;
(3)删除张乐的信息。
DELETE FROM "学生表"
WHERE 姓名='张乐'