审批流程数据库表结构sql
时间: 2023-09-01 15:03:26 浏览: 58
审批流程数据库表结构SQL的设计可以包括以下几个关键的表结构:
1. 用户表(user):记录系统中所有用户的信息,包括用户ID、用户名、密码等字段。
CREATE TABLE `user` (
`id` INT PRIMARY KEY,
`username` VARCHAR(50) NOT NULL,
`password` VARCHAR(50) NOT NULL
);
2. 角色表(role):记录系统中所有角色的信息,包括角色ID、角色名称等字段。
CREATE TABLE `role` (
`id` INT PRIMARY KEY,
`role_name` VARCHAR(50) NOT NULL
);
3. 用户角色关联表(user_role):记录用户与角色之间的关联关系,一个用户可能对应多个角色。
CREATE TABLE `user_role` (
`user_id` INT NOT NULL,
`role_id` INT NOT NULL,
PRIMARY KEY (`user_id`, `role_id`),
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`),
FOREIGN KEY (`role_id`) REFERENCES `role`(`id`)
);
4. 审批流程表(approval_process):记录所有的审批流程信息,包括流程ID、流程名称等字段。
CREATE TABLE `approval_process` (
`id` INT PRIMARY KEY,
`process_name` VARCHAR(100) NOT NULL
);
5. 审批节点表(approval_node):记录每个审批流程中的节点信息,包括节点ID、节点名称等字段。
CREATE TABLE `approval_node` (
`id` INT PRIMARY KEY,
`node_name` VARCHAR(100) NOT NULL,
`process_id` INT NOT NULL,
FOREIGN KEY (`process_id`) REFERENCES `approval_process`(`id`)
);
6. 审批记录表(approval_record):记录每个审批流程中的具体审批记录,包括记录ID、节点ID、审批人ID等字段。
CREATE TABLE `approval_record` (
`id` INT PRIMARY KEY,
`node_id` INT NOT NULL,
`approver_id` INT NOT NULL,
`status` INT NOT NULL, -- 审批状态,例如 0表示待审批,1表示已审批
FOREIGN KEY (`node_id`) REFERENCES `approval_node`(`id`),
FOREIGN KEY (`approver_id`) REFERENCES `user`(`id`)
);
这样的表结构可以满足审批流程的基本需求,其中用户表、角色表和用户角色关联表可以用于用户身份验证和权限控制,审批流程表、审批节点表和审批记录表可以记录和跟踪每个审批流程的进度和结果。