数据库系统实验报告:创建与约束设置
需积分: 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语言的理解和应用,也展示了如何在实际操作中应对数据库系统不支持某些特性的场景,以及如何通过其他手段来模拟这些特性。
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-03 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-03 上传
西西里的小裁缝
- 粉丝: 34
- 资源: 292
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录