说明如何确保该系统的数据库的数据完整性,并写出相关sql语句
时间: 2024-01-13 18:04:52 浏览: 89
为确保该系统的数据库的数据完整性,我们可以采用以下方法:
1. 使用外键约束来确保表之间的关系的完整性。
2. 使用 CHECK 约束来限制某些字段的取值范围,以确保数据的有效性。
3. 使用触发器来检查和限制某些操作,以确保数据的完整性。
以下是一些相关的 SQL 语句示例:
1. 创建外键约束
```
ALTER TABLE salary_info
ADD FOREIGN KEY (employee_id)
REFERENCES employee_info(id);
```
2. 创建 CHECK 约束
```
CREATE TABLE employee_info (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '员工ID',
name VARCHAR(50) NOT NULL COMMENT '员工姓名',
gender ENUM('男', '女') NOT NULL COMMENT '员工性别',
birthday DATE COMMENT '员工生日',
department_id INT(11) NOT NULL COMMENT '所属部门ID',
position VARCHAR(50) COMMENT '职位',
hire_date DATE NOT NULL COMMENT '入职日期',
PRIMARY KEY (id),
CHECK (gender IN ('男', '女'))
) COMMENT='员工信息表';
```
3. 创建触发器
```
CREATE TRIGGER trg_salary_info_update
BEFORE UPDATE ON salary_info
FOR EACH ROW
BEGIN
IF NEW.salary < 0 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '薪资不能为负数';
END IF;
END;
```
在上面的 SQL 语句中,我们创建了一个名为 trg_salary_info_update 的触发器,在更新薪资信息表时,检查薪资是否为负数,如果是,则触发错误。
阅读全文