数据库系统原理实验11:完整性操作与约束示例

需积分: 5 0 下载量 18 浏览量 更新于2024-08-03 收藏 1.44MB PDF 举报
实验11-数据库完整性是中山大学计算机学院《数据库系统原理实验》中的一个重要环节,旨在让学生通过实践操作加深对数据库理论的理解。本实验主要涉及MySQL数据库管理系统,实验内容围绕数据库表的设计和完整性约束的设置。 首先,实验环境包括Windows11操作系统和mysql8.0CE数据库管理系统。学生需要创建一个名为teacher的教工表,该表包含字段如教工号(tno)作为主键,设置其为唯一标识;tname为教工姓名,tage为年龄,telphone为电话号码,默认值设为00000000;tsex为性别,使用enum数据类型限制只能输入'男'或'女',并在插入时进行检查,确保输入符合规定;最后,id字段需要设置为15位或18位的数字字符串,通过创建触发器在插入新记录时自动验证id的长度和内容。 实验步骤具体如下: 1. 使用SQL语句创建teacher表,其中tno为主键,tsex字段设置了默认值和检查约束: ``` CREATE TABLE teacher ( tno CHAR(7) PRIMARY KEY, tname VARCHAR(10), tage INT, telphone CHAR(12) DEFAULT '00000000', tsex CHAR(2) ENUM('男', '女') DEFAULT '男', tid VARCHAR(20) ) ENGINE=InnoDB; ``` 2. 描述表结构后,执行ALTER TABLE语句来修改默认值和约束: - 将telphone的默认值改为00000000 - 更改tsex列的数据类型为enum('男', '女'),并保持默认值为'男' 3. 设置id字段的长度限制和内容验证,创建触发器来确保插入的tid只包含数字: - 使用DELIMITER关键字切换到多行模式,然后定义触发器tr_id,在插入新记录后检查tid的长度和内容,若不符合要求则引发错误。 这个实验让学生亲身体验了数据库设计中的完整性规则,包括设置主键、默认值、检查约束以及触发器的使用,这些都是数据库管理系统中至关重要的概念。通过实践,学生可以掌握如何确保数据的一致性和准确性,避免无效或不一致的数据插入。