公司日常考勤系统#1
首先在数据库中建立表单
drop table if EXISTS attendance;
CREATE TABLE attendance (
ID INT AUTO_INCREMENT PRIMARY KEY, -- 序号,自动递增
Attendancetime DATETIME NOT NULL, -- 考勤时间,记录考勤的日期和时间
JobID VARCHAR(8) NOT NULL, -- 工号,员工的唯一标识,外键关联员工表
Name VARCHAR(50) NOT NULL, -- 姓名
sex ENUM('男', '女') NOT NULL, -- 性别,限定为“男”或“女”
birthday DATE NOT NULL, -- 出生日期,存储成日期类型
department CHAR(2) NOT NULL, -- 部门,存储部门编号,外键关联部门表
Attendancetype ENUM('上班', '下班') NOT NULL, -- 考勤类型,限定为“上班”或“下班”
CONSTRAINT FK_department FOREIGN KEY (department) REFERENCES department(departmentID) -- 外键,关联部门表中的部门编码
);
drop table if exists department;
CREATE TABLE department (
departmentID VARCHAR(2) NOT NULL PRIMARY KEY, -- 部门编码,唯一且为两位数字
department VARCHAR(50) NOT NULL UNIQUE, -- 部门名称,唯一,不允许重复
CONSTRAINT chk_departmentID CHECK (departmentID IN ('01', '02', '03', '04', '05', '06')) -- 验证部门编码是否在规定范围内
);
-- 插入预设部门信息
INSERT INTO department (departmentID, department) VALUES
('01', '办公室'),
('02', '财务部门'),
('03', '销售部门'),
('04', '生产一部'),
('05', '生产二部'),
('06', '生产三部');
drop table if exists employee;
CREATE TABLE employee (
JobID INT AUTO_INCREMENT PRIMARY KEY, -- 工号,自增字段
Name VARCHAR(50) NOT NULL, -- 姓名
sex ENUM('男', '女') NOT NULL, -- 性别,限定为“男”或“女”
birthday DATE NOT NULL, -- 出生日期
department VARCHAR(50) NOT NULL, -- 所属部门
role VARCHAR(20) DEFAULT '员工', -- 角色,默认值为“员工”
password VARCHAR(255) NOT NULL -- 密码
);
INSERT INTO employee (JobID, Name, sex, birthday, department, role, password) VALUES
(20190001, '张三', '男', '1990-01-01', '01', '员工', 'password123'), -- 部门: 办公室
(20190002, '李四', '女', '1992-03-15', '02', '员工', 'password456'), -- 部门: 财务部门
(20190003, '王五', '男', '1988-07-23', '02', '经理', 'password789'), -- 部门: 财务部门
(20190004, '赵六', '女', '1995-11-30', '03', '员工', 'password101'), -- 部门: 销售部门
(20190005, '孙七', '男', '1991-06-11', '04', '主管', 'password112'), -- 部门: 生产一部
(20190006, '周八', '女', '1987-09-17', '01', '员工', 'password131'); -- 部门: 办公室

浙公网安备 33010602011771号