本文目录导读:
数据库数据字典
数据库数据字典是数据库设计和管理的重要工具,它提供了关于数据库结构、数据元素和关系的详细信息,本数据字典旨在记录数据库中所有的表、字段、数据类型、约束条件和其他相关信息,以便于数据库的理解、维护和扩展。
数据库概述
本数据库是一个用于[具体业务领域]的管理系统,它存储了与[业务相关的信息],数据库采用了[数据库管理系统名称]进行管理,并遵循了[相关的数据库设计规范和标准]。
(一)表定义
表名 | 说明 |
user | 用户表,存储用户的基本信息 |
role | 角色表,存储系统中的角色信息 |
user_role | 用户角色表,用于关联用户和角色 |
department | 部门表,存储公司的部门信息 |
employee | 员工表,存储员工的基本信息 |
attendance | 考勤表,记录员工的考勤情况 |
salary | 工资表,存储员工的工资信息 |
(二)字段定义
1、user 表
字段名 | 数据类型 | 长度 | 约束条件 | 说明 |
user_id | INT | 11 | PRIMARY KEY AUTO_INCREMENT | 用户编号 |
username | VARCHAR | 50 | UNIQUE NOT NULL | 用户名 |
password | VARCHAR | 255 | NOT NULL | 密码 |
VARCHAR | 100 | UNIQUE NOT NULL | 邮箱地址 | |
phone | VARCHAR | 20 | NOT NULL | 电话号码 |
status | ENUM('active', 'inactive') | 1 | DEFAULT 'active' | 用户状态(active:活跃,inactive:不活跃) |
create_time | DATETIME | 19 | NOT NULL | 创建时间 |
update_time | DATETIME | 19 | NOT NULL | 更新时间 |
2、role 表
字段名 | 数据类型 | 长度 | 约束条件 | 说明 |
role_id | INT | 11 | PRIMARY KEY AUTO_INCREMENT | 角色编号 |
role_name | VARCHAR | 50 | UNIQUE NOT NULL | 角色名称 |
description | TEXT | NULL | NULL | 角色描述 |
create_time | DATETIME | 19 | NOT NULL | 创建时间 |
update_time | DATETIME | 19 | NOT NULL | 更新时间 |
3、user_role 表
字段名 | 数据类型 | 长度 | 约束条件 | 说明 |
user_role_id | INT | 11 | PRIMARY KEY AUTO_INCREMENT | 用户角色编号 |
user_id | INT | 11 | FOREIGN KEY REFERENCES user(user_id) | 用户编号 |
role_id | INT | 11 | FOREIGN KEY REFERENCES role(role_id) | 角色编号 |
create_time | DATETIME | 19 | NOT NULL | 创建时间 |
update_time | DATETIME | 19 | NOT NULL | 更新时间 |
4、department 表
字段名 | 数据类型 | 长度 | 约束条件 | 说明 |
department_id | INT | 11 | PRIMARY KEY AUTO_INCREMENT | 部门编号 |
department_name | VARCHAR | 50 | UNIQUE NOT NULL | 部门名称 |
description | TEXT | NULL | NULL | 部门描述 |
create_time | DATETIME | 19 | NOT NULL | 创建时间 |
update_time | DATETIME | 19 | NOT NULL | 更新时间 |
5、employee 表
字段名 | 数据类型 | 长度 | 约束条件 | 说明 |
employee_id | INT | 11 | PRIMARY KEY AUTO_INCREMENT | 员工编号 |
user_id | INT | 11 | FOREIGN KEY REFERENCES user(user_id) | 用户编号 |
department_id | INT | 11 | FOREIGN KEY REFERENCES department(department_id) | 部门编号 |
name | VARCHAR | 50 | NOT NULL | 员工姓名 |
gender | ENUM('male', 'female') | 1 | NOT NULL | 员工性别 |
birth_date | DATE | 10 | NULL | 员工出生日期 |
hire_date | DATE | 10 | NOT NULL | 员工入职日期 |
salary | DECIMAL(10, 2) | NULL | NULL | 员工工资 |
status | ENUM('active', 'inactive') | 1 | DEFAULT 'active' | 员工状态(active:在职,inactive:离职) |
create_time | DATETIME | 19 | NOT NULL | 创建时间 |
update_time | DATETIME | 19 | NOT NULL | 更新时间 |
6、attendance 表
字段名 | 数据类型 | 长度 | 约束条件 | 说明 |
attendance_id | INT | 11 | PRIMARY KEY AUTO_INCREMENT | 考勤编号 |
employee_id | INT | 11 | FOREIGN KEY REFERENCES employee(employee_id) | 员工编号 |
attendance_date | DATE | 10 | NOT NULL | 考勤日期 |
check_in_time | TIME | 8 | NULL | 上班打卡时间 |
check_out_time | TIME | 8 | NULL | 下班打卡时间 |
overtime | DECIMAL(10, 2) | NULL | NULL | 加班时长 |
absence | ENUM('yes', 'no') | 1 | DEFAULT 'no' | 是否缺勤(yes:是,no:否) |
create_time | DATETIME | 19 | NOT NULL | 创建时间 |
update_time | DATETIME | 19 | NOT NULL | 更新时间 |
7、salary 表
字段名 | 数据类型 | 长度 | 约束条件 | 说明 |
salary_id | INT | 11 | PRIMARY KEY AUTO_INCREMENT | 工资编号 |
employee_id | INT | 11 | FOREIGN KEY REFERENCES employee(employee_id) | 员工编号 |
basic_salary | DECIMAL(10, 2) | NULL | NULL | 基本工资 |
allowance | DECIMAL(10, 2) | NULL | NULL | 津贴 |
deduction | DECIMAL(10, 2) | NULL | NULL | 扣除项 |
total_salary | DECIMAL(10, 2) | NULL | NULL | 总工资 |
create_time | DATETIME | 19 | NOT NULL | 创建时间 |
update_time | DATETIME | 19 | NOT NULL | 更新时间 |
(三)数据类型
本数据库中使用了以下数据类型:
1、INT:用于存储整数类型的数据,例如用户编号、部门编号等。
2、VARCHAR:用于存储可变长度的字符串类型的数据,例如用户名、部门名称等。
3、TEXT:用于存储较长的文本类型的数据,例如部门描述、员工简历等。
4、DATE:用于存储日期类型的数据,例如员工出生日期、考勤日期等。
5、TIME:用于存储时间类型的数据,例如上班打卡时间、下班打卡时间等。
6、DECIMAL:用于存储带有小数的数值类型的数据,例如工资、津贴等。
7、ENUM:用于存储枚举类型的数据,例如用户状态、员工性别等。
(四)约束条件
本数据库中使用了以下约束条件:
1、PRIMARY KEY:用于定义表的主键,保证表中数据的唯一性和完整性。
2、FOREIGN KEY:用于定义表之间的外键关系,保证数据的一致性和关联性。
3、UNIQUE:用于定义字段的唯一性约束,保证字段中数据的唯一性。
4、NOT NULL:用于定义字段的非空约束,保证字段中数据不能为空。
5、DEFAULT:用于定义字段的默认值约束,保证字段中数据在没有指定值时使用默认值。
(五)关系模型
本数据库中使用了以下关系模型:
1、用户表与角色表:通过user_role 表建立多对多的关系。
2、员工表与用户表:通过user_id字段建立一对一的关系。
3、员工表与部门表:通过department_id字段建立一对多的关系。
4、考勤表与员工表:通过employee_id字段建立一对多的关系。
5、工资表与员工表:通过employee_id字段建立一对一的关系。
本数据字典详细记录了数据库中所有的表、字段、数据类型、约束条件和关系模型,为数据库的设计、开发、维护和扩展提供了重要的参考依据,通过使用数据字典,可以提高数据库的质量和可维护性,减少数据冗余和不一致性,提高数据的安全性和完整性。
仅供参考,你可以根据实际情况进行修改和完善,如果你还有其他问题,欢迎继续向我提问。
评论列表