数据库系统实验报告:创建与约束设置

需积分: 0 0 下载量 86 浏览量 更新于2024-08-05 收藏 385KB PDF 举报
"本次实验是关于数据库系统的操作,主要使用MySQL Workbench 8.0 CE进行数据表的创建和管理。实验者郝裕玮在实验中创建了一个名为`teacher`的教工表,包含了教工号`tno`、姓名`tname`、年龄`tage`、电话`telphone`、性别`tsex`和身份证号`tid`等字段。其中,教工号`tno`被设定为主键,性别`tsex`默认值为'男',电话`telphone`的默认值设置为'00000000'。实验还涉及到了对性别字段的约束,由于MySQL不支持`CHECK`约束,所以使用了`ENUM`类型来限制性别只能为'男'或'女'。最后,实验试图创建一个新表`triple`,但代码未给出完整内容。" 实验中涉及的关键知识点如下: 1. **数据库表创建**:通过`CREATE TABLE`语句创建了`teacher`表,定义了各个字段的数据类型和约束,如`tno`作为主键,`tsex`的默认值。 2. **主键(Primary Key)**:`tno`字段被设置为主键,主键是表中能唯一标识一行数据的字段,不允许有重复值且不能为空。 3. **默认值(Default)**:`tsex`字段设置了默认值'男',当插入数据时若未指定该字段的值,系统会自动填充默认值。同样,`telphone`字段的默认值设为'00000000'。 4. **数据类型(Data Types)**:字段`tname`、`tid`使用`VARCHAR(20)`表示可变长度的字符串,`tage`使用`INT`表示整数,`telphone`使用`VARCHAR(20)`表示电话号码字符串。 5. **检查约束(Check Constraints)**:在MySQL中,`CHECK`约束不被支持,但可以通过其他方式实现类似功能,例如使用`ENUM`类型限制性别字段只能取'男'或'女'。 6. **枚举类型(ENUM)**:`ENUM`用于限制字段的取值只能在预定义的列表中,例如`tsex`改为`ENUM('男', '女')`,这样就确保了性别字段的输入只能是这两个值。 7. ** delimiter命令**:在SQL脚本中,`delimiter //`用于改变SQL语句的结束符,通常是为了避免分号导致脚本提前执行,但在实验内容中,创建`triple`表的代码不完整,可能是因为`delimiter`之后的语句未给出。 8. **数据插入(INSERT INTO)**:通过`INSERT INTO`语句向`teacher`表中插入数据,演示了正确的插入方式和错误的插入(性别不是'男'或'女'时无法插入)。 实验过程不仅锻炼了对SQL语言的理解和应用,也展示了如何在实际操作中应对数据库系统不支持某些特性的场景,以及如何通过其他手段来模拟这些特性。