MySQL数据库实验:创建与修改教学数据库

版权申诉
0 下载量 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`。 这些表的创建符合数据库设计的基本原则,确保了数据的一致性和完整性。通过外键约束,各个表之间建立了关联,形成了一个简单的数据库模型,可以支持对学生、课程、选课、教师和工资等信息的管理。在实际应用中,这样的数据库结构能够有效地存储和查询教学管理所需的数据。