为每个表添加约束和索引
时间: 2023-07-26 17:47:06 浏览: 54
好的,为了保证数据的完整性和查询性能,我们需要为每个表添加相应的约束和索引。具体方案如下:
1. 员工表
```sql
-- 添加主键约束
ALTER TABLE `employee` ADD CONSTRAINT `pk_employee` PRIMARY KEY (`emp_id`);
-- 添加外键约束
ALTER TABLE `employee` ADD CONSTRAINT `fk_employee_dept` FOREIGN KEY (`dept_id`) REFERENCES `department`(`dept_id`);
-- 添加索引
CREATE INDEX `idx_employee_dept_id` ON `employee`(`dept_id`);
```
2. 部门表
```sql
-- 添加主键约束
ALTER TABLE `department` ADD CONSTRAINT `pk_department` PRIMARY KEY (`dept_id`);
-- 添加外键约束
ALTER TABLE `department` ADD CONSTRAINT `fk_department_parent_dept` FOREIGN KEY (`parent_dept_id`) REFERENCES `department`(`dept_id`);
-- 添加索引
CREATE INDEX `idx_department_parent_dept_id` ON `department`(`parent_dept_id`);
```
3. 薪资表
```sql
-- 添加主键约束
ALTER TABLE `salary` ADD CONSTRAINT `pk_salary` PRIMARY KEY (`emp_id`);
-- 添加外键约束
ALTER TABLE `salary` ADD CONSTRAINT `fk_salary_employee` FOREIGN KEY (`emp_id`) REFERENCES `employee`(`emp_id`);
-- 添加索引
CREATE INDEX `idx_salary_emp_id` ON `salary`(`emp_id`);
```
以上是一个基础的员工信息管理系统的数据库设计方案,包括员工表、部门表、薪资表,以及相应的约束和索引。您可以根据实际需求进行修改和完善。