MySQL数据库实验:创建与管理教学数据库

版权申诉
0 下载量 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)`。 实验内容涉及到了数据库的基本操作,包括创建数据库、选择数据库、创建表、定义字段类型和约束(如主键、外键、默认值)。此外,还体现了对数据完整性的管理,通过外键关联确保了数据的一致性,当删除学生或课程时,相应的选课记录也会被级联删除。这些操作是数据库设计和管理的基础,对于理解关系型数据库的原理和应用至关重要。