帮我建一个表,里面包含工号,姓名,联系方式,部门,科室,员工身份,性别,学校信息,出生日期,入职日期,离职日期
时间: 2024-10-19 14:15:18 浏览: 25
创建这样一个详细的员工信息表,我们需要考虑各个字段的数据类型和完整性约束。以下是创建一个名为`EmployeeDetails`的示例SQL表结构:
```sql
CREATE TABLE EmployeeDetails (
EmployeeID INT PRIMARY KEY AUTO_INCREMENT, -- 工号,主键自增
Name VARCHAR(100) NOT NULL, -- 姓名,不可为空
ContactNumber VARCHAR(15) NOT NULL UNIQUE, -- 联系方式,15位数字,唯一
Department VARCHAR(50) NOT NULL, -- 部门
Section VARCHAR(50), -- 科室
EmployeeStatus ENUM('Full-Time', 'Part-Time', 'Contract') NOT NULL, -- 员工身份
Gender ENUM('Male', 'Female') NOT NULL, -- 性别
SchoolInfo VARCHAR(255), -- 学校信息,可变长度
BirthDate DATE NOT NULL, -- 出生日期,日期格式
HireDate DATE NOT NULL, -- 入职日期,日期格式
DepartureDate DATE, -- 离职日期,允许空值(如果未离职)
FOREIGN KEY (Department) REFERENCES Departments(DepartmentID), -- 部门外键关联到其他部门表
FOREIGN KEY (Section) REFERENCES Sections(SectionID) -- 科室外键关联到其他科室表
);
```
这里假设存在`Departments`和`Sections`两个表分别管理部门和科室。注意,`ContactNumber`字段设为`UNIQUE`是为了防止重复的联系信息。
阅读全文