数据库系统实验:MySQLWorkbench实现数据操作
需积分: 0 163 浏览量
更新于2024-08-04
收藏 478KB DOCX 举报
"本次实验是基于《数据库系统实验》的Lab51,主要涉及使用MySQLWorkbench8.0CE在Windows10操作系统上对数据库jxgl进行操作,包括创建数据库、插入数据以及进行特定的SQL更新操作。实验中创建了三个表:student(学生表)、course(课程表)和sc(选课表),并设置了外键约束以保持数据的一致性。"
在实验中,首先创建了一个名为jxgl的数据库,并切换到该数据库进行后续操作。为了能够方便地修改表格,设置SQL_SAFE_UPDATES为0。接着,定义了三个表的结构:
- `student`表包含学生的信息,如学号(snovarchar(20))、姓名(snamevarchar(20))、年龄(sageint)、性别(ssexvarchar(20))和系别(sdeptvarchar(20)),其中学号`sno`被设定为主键。
- `course`表存储课程信息,包括课程号(cnovarchar(20))、课程名(cnamevarchar(20))、先修课程号(cpnochar(20))和学分(ccreditint),课程号`cno`为主键。
- `sc`表记录学生的选课情况,包括学生学号(snovarchar(20))、课程号(cnovarchar(20))和成绩(gradeint)。此表的主键由学生学号`sno`和课程号`cno`共同构成,并且这两个字段作为外键,分别关联到`student`表和`course`表,确保数据的完整性。
在创建表后,对`student`表的`name`、`ssex`字段和`course`表的`cname`字段进行了字符集和排序规则的调整,以支持中文字符的存储。
实验的更新操作部分包括:
5.2.1 给IS系的学生开设7号课程,建立相应的选课记录,成绩为空。这一步可能涉及到的SQL语句可能如下:
```sql
INSERT INTO course (cno, cname, cpno, ccredit)
VALUES ('7', '新课程名称', NULL, 3); -- 假设新课程编号为7,学分为3
-- 找出IS系的所有学生
SELECT sno FROM student WHERE sdept = 'IS';
-- 对每个IS系的学生添加选课记录,成绩为空
-- 假设s1, s2, ... 是IS系学生的学号
INSERT INTO sc (sno, cno, grade)
VALUES ('s1', '7', NULL),
('s2', '7', NULL),
...
```
5.2.2 在表-student中检索每门课均不及格的学生。这需要查询所有课程中成绩低于60分的学生。可以使用如下SQL语句:
```sql
-- 查找所有课程中成绩均低于60分的学生
SELECT s.sno, s.sname
FROM student s
WHERE NOT EXISTS (
SELECT 1 FROM sc
WHERE sc.sno = s.sno AND sc.grade >= 60
);
```
这个查询通过子查询找到学生没有一门课及格的情况,从而找出所有课程均不及格的学生。
实验报告的这部分内容展示了数据库的基本操作,包括创建、插入和查询,同时也强调了数据库设计中的关系模型和完整性约束的重要性。通过这些操作,可以更好地理解和实践数据库管理系统在实际应用中的功能。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-08-08 上传
2022-08-08 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-08 上传
Orca是只鲸
- 粉丝: 36
- 资源: 317
最新资源
- 2-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- C++ IPHelper IP输入控件
- alcohol-or-gasoline:具有功能的应用程序,根据用户为每种物质输入的价格,使用酒精或汽油是否更有利,请回答用户。 在此应用程序中,全局变量和局部变量的原始类型发生了变化,并且采用了对它们之间建立联系的方法承担全部责任的原则
- 加减法自动生成工具@QT
- fullstack-react-graphql:在后端使用GraphQL和MongoDB在前端使用React.js制作的CRUD应用程序
- 基于Robert交叉梯度的图像锐化.zip
- anoninja
- sparrow:一种c风格的玩具语言,用llvm实现
- 1-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- graphein:蛋白质图库
- CV_MarieLATASTE_V2:CV_MarieLATASTE的第二版
- (修)09-07 罗灿丽(4).zip
- VC++在程序中用代码注册和卸载ocx控件
- riru_storage_redirect:存储隔离(存储重定向)是一个为应用程序提供隔离存储功能的应用程序。 它可以防止设计不当的应用程序使您的存储混乱,并让您控制文件可以访问的文件
- Documentation:用于在我们的官方主页上生成文档的文件
- episode-47:第 47 集 - 使用 Ansible 进行零停机部署(第 44 部分)