OpenGauss 数据库设计:员工管理系统关系表创建
连接 OpenGauss 的命令如下:
psql -h hostname -p portnumber -U username -d databasename
创建关系表的 CREATE TABLE 语句如下:
CREATE TABLE employees (
emp_no INT PRIMARY KEY,
birth_date DATE,
first_name VARCHAR(14),
last_name VARCHAR(16),
gender CHAR(1),
hire_date DATE
);
CREATE TABLE titles (
emp_no INT,
title VARCHAR(50),
from_date DATE,
to_date DATE
);
CREATE TABLE salaries (
emp_no INT,
salary INT,
from_date DATE,
to_date DATE
);
CREATE TABLE departments (
dept_no CHAR(4) PRIMARY KEY,
dept_name VARCHAR(40)
);
CREATE TABLE dept_emp (
emp_no INT,
dept_no CHAR(4),
from_date DATE,
to_date DATE
);
CREATE TABLE dept_manager (
dept_no CHAR(4),
emp_no INT,
from_date DATE,
to_date DATE
);
数据库信息
某公司需要设计名为 empdb 的数据库,用于管理员工相关数据。该数据库中包含以下数据表:
- employees:员工数据,包括员工编号、出生日期、名字、姓氏、性别、入职日期。
- titles:职称数据,包括职称名称、起始时间、终止时间。一条职称数据记录了某员工从起始时间到终止时间这个时间段内的职称名称。
- salaries:工资数据,包括工资数额、起始时间、终止时间。一条工资数据记录了某员工从起始时间到终止时间这个时间段内的工资数额。
- departments:部门数据,包括部门编号、部门名称。
- dept_emp:部门和员工间的关系 1,一个部门下属有多名员工,一名员工可隶属多个部门。需要记录某员工为某部门工作的起始时间和终止时间。
- dept_manager:部门和员工间的关系 2,一个部门有多位经理(不用区分正副职),经理也是一名员工,一名员工可同时担任多个部门的经理。需要记录某员工担任某部门经理的起始时间和终止时间。
数据表说明
-
employees 表
- emp_no: 员工编号,主键。
- birth_date: 出生日期。
- first_name: 名字。
- last_name: 姓氏。
- gender: 性别。
- hire_date: 入职日期。
-
titles 表
- emp_no: 员工编号,外键,关联 employees 表。
- title: 职称名称。
- from_date: 起始时间。
- to_date: 终止时间。
-
salaries 表
- emp_no: 员工编号,外键,关联 employees 表。
- salary: 工资数额。
- from_date: 起始时间。
- to_date: 终止时间。
-
departments 表
- dept_no: 部门编号,主键。
- dept_name: 部门名称。
-
dept_emp 表
- emp_no: 员工编号,外键,关联 employees 表。
- dept_no: 部门编号,外键,关联 departments 表。
- from_date: 起始时间。
- to_date: 终止时间。
-
dept_manager 表
- dept_no: 部门编号,外键,关联 departments 表。
- emp_no: 员工编号,外键,关联 employees 表。
- from_date: 起始时间。
- to_date: 终止时间。
原文地址: https://www.cveoy.top/t/topic/nZ3g 著作权归作者所有。请勿转载和采集!