公司日常考勤系统#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');  -- 部门: 办公室

posted @ 2025-02-20 19:19  花落水无痕  阅读(20)  评论(0)    收藏  举报