MySQL数据库实验:创建与修改教学数据库
版权申诉
157 浏览量
更新于2024-07-08
收藏 242KB DOC 举报
“MySQL数据库实验答案,涉及创建、修改数据库和表结构,包括学生表、课程表、选课表、教师表和工资表的创建。”
在MySQL数据库管理中,实验一的核心内容是创建教学数据库,包括五个基本表:学生表、课程表、选课表、教师表和工资表。以下是对每个表的详细说明:
1. **学生表** (Student):
- 使用`CREATE TABLE`语句创建,表名为`Student`。
- 字段包括:`SNo`(学号,主键)、`SName`(姓名)、`SSex`(性别,默认值为'男')和`SAge`(年龄,整数类型)。
- `SNo`字段被定义为`CHAR(20)`类型,并设置为主键,确保数据的唯一性。
- 数据库字符集设置为`utf8`,校对集为`utf8_bin`,支持多语言字符。
2. **课程表** (Course):
- 创建`Course`表,包含`CNo`(课程号,主键)、`CName`(课程名,非空)和`Credit`(学分,浮点数)。
- `CNo`同样为`CHAR(20)`类型,作为主键。
- 使用`ENGINE=InnoDB`指定存储引擎,支持事务处理和行级锁定。
3. **选课表** (SC):
- 表`SC`表示学生选课关系,包含`SNo`(学号)、`CNo`(课程号)和`Grade`(成绩)。
- `SNo`和`CNo`共同构成复合主键。
- 定义了外键约束,`SNo`引用`Student`表的`SNo`,`CNo`引用`Course`表的`CNo`,且在删除操作时启用级联删除(`ON DELETE CASCADE`)。
4. **教师表** (T):
- `T`表记录教师信息,字段有`TNo`(教师号,主键)、`TName`(姓名,非空)、`TSex`(性别,默认值为'男')、`birthday`(出生日期,日期时间类型)、`dept`(系部)、`title`(职称)和`address`(地址)。
- 同样使用`InnoDB`存储引擎。
5. **工资表** (Salary):
- `Salary`表存储教师工资信息,字段包括`TNo`(教师号,非空)、`jbgz`(基本工资)、`zwgz`(职务工资)和`hj`(合计)。
- `TNo`作为外键关联`T`表的`TNo`。
这些表的创建符合数据库设计的基本原则,确保了数据的一致性和完整性。通过外键约束,各个表之间建立了关联,形成了一个简单的数据库模型,可以支持对学生、课程、选课、教师和工资等信息的管理。在实际应用中,这样的数据库结构能够有效地存储和查询教学管理所需的数据。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-11-30 上传
2022-07-14 上传
2021-12-01 上传
2021-12-04 上传
2022-06-03 上传
2021-10-03 上传
qingbin100200
- 粉丝: 0
- 资源: 3万+
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程