MySQL数据库实验:创建与管理教学数据库
版权申诉
57 浏览量
更新于2024-07-02
收藏 1.82MB PDF 举报
该资源是关于MySQL数据库的实验答案,主要涵盖了创建和修改数据库以及表结构的操作。实验内容包括建立教学数据库中的五个基本表:学生表、课程表、选课表、教师表和工资表。
在实验中,首先创建了一个名为`Student`的数据库,并指定了字符集为`utf8`,校对集为`utf8_bin`。接着,使用`USE Student;`切换到这个数据库。然后,依次创建了以下五个表:
1. 学生表(Student):
- `SNo`(学号):作为主键,使用`CHAR(20)`类型。
- `SName`(姓名):使用`CHAR(20)`类型。
- `SSex`(性别):默认值为'男',使用`CHAR(4)`类型。
- `SAge`(年龄):使用`INT`类型。
2. 课程表(Course):
- `CNo`(课程号):作为主键,使用`CHAR(20)`类型。
- `CName`(课程名):非空,使用`CHAR(20)`类型。
- `Credit`(学分):使用`FLOAT`类型。
3. 选课表(SC):
- `SNo`(学号):非空,与学生表关联,作为联合主键。
- `CNo`(课程号):非空,与课程表关联,作为联合主键。
- `Grade`(成绩):使用`FLOAT`类型。
- `FOREIGN KEY (SNo)` 引用 `Student(SNo)`,设置为级联删除。
- `FOREIGN KEY (CNo)` 引用 `Course(CNo)`。
4. 教师表(T):
- `TNo`(教师号):作为主键,使用`CHAR(20)`类型。
- `TName`(姓名):非空,使用`CHAR(20)`类型。
- `TSex`(性别):默认值为'男',使用`CHAR(4)`类型。
- `birthday`(出生年月):使用`DATETIME`类型。
- `dept`(系部):使用`CHAR(20)`类型。
- `title`(职称):使用`CHAR(20)`类型。
- `address`(地址):使用`CHAR(20)`类型。
5. 工资表(Salary):
- `TNo`(教师号):非空,与教师表关联,作为主键。
- `jbgz`(基本工资):未给出具体字段名,可能是遗漏。
- `zwgz`(职务工资):未给出具体字段名,可能是遗漏。
- `heji`(合计):未给出具体字段名,可能是遗漏。
- `FOREIGN KEY (TNo)` 引用 `T(TNo)`。
实验内容涉及到了数据库的基本操作,包括创建数据库、选择数据库、创建表、定义字段类型和约束(如主键、外键、默认值)。此外,还体现了对数据完整性的管理,通过外键关联确保了数据的一致性,当删除学生或课程时,相应的选课记录也会被级联删除。这些操作是数据库设计和管理的基础,对于理解关系型数据库的原理和应用至关重要。
2021-12-17 上传
2023-04-06 上传
2020-06-10 上传
2022-06-27 上传
2023-04-10 上传
2021-10-02 上传
2021-10-10 上传
2023-02-22 上传
G11176593
- 粉丝: 6870
- 资源: 3万+
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建