sách gpt4 ai đã đi

sql-server - 员工表(主表和明细表)

In lại 作者:行者123 更新时间:2023-12-02 01:16:10 hai mươi bốn 4
mua khóa gpt4 Nike

我想知道员工有主表和明细表是否可以?

根据要求,数据可以按部门按国家/地区过滤,也可以在报告级别按员工代码过滤。

如果员工的部门或国家/地区代码更改,则更改将进入详细信息表,旧记录将设置为 IS_ACTIVE = 'T'。

--------------------主表------------------------ --------------

**EMPLOYEE_CODE** VARCHAR2(20 BYTE) NOT NULL, 
EMAIL VARCHAR2(100 BYTE)
FIRST_NAME VARCHAR2(50 BYTE)
LAST_NAME VARCHAR2(50 BYTE)
WORKING_HOURS NUMBER

--------------------明细表-------------------- --------------

**PK_USER_DETAIL_ID** NUMBER,
FK_EMPLOYEE_CODE VARCHAR2(20 BYTE),
FK_GROUP NUMBER,
FK_DEPARTMENT_CODE NUMBER,
FK_EMPLOYER_COUNTRY_CODE VARCHAR2(5 BYTE),
FK_MANAGER_ID VARCHAR2(20 BYTE),
FK_ROLE_CODE VARCHAR2(6 BYTE),
START_DATE DATE,
END_DATE DATE,
IS_ACTIVE VARCHAR2(1 BYTE),
INACTIVE_DATE DATE

员工表将与时间表表链接,时间表报告数据可以按部门、国家和员工代码过滤。

选项:我

  • 有一个员工表和一个主键,并在为员工更新部门或角色时创建一个新条目。
  • 在时间表表中添加国家和部门代码。

--> 这样我就不需要搜索员工表了。

选项:II

  • 有主表和明细表。
  • 在时间表表中添加国家和部门代码。

-->这样我就不需要搜索员工表而且我会有主细节表

选项:新

  • 有主表和明细表。
  • 时间表将包含 EmpCode。
  • 如果用户移动到新的Vị tríhoặc更改部门,则在详细信息表中插入一个新行,其中包含新的部门代码和相同的员工编号。
  • 更新旧行并设置结束日期字段,这样如果他更改了位置或部门,则需要更新结束日期字段。

哪个是最佳选择,还有其他更好的选择吗?

1 Câu trả lời

这是实现此要求的一种方法,也是许多人采用的方法。但是,它有一个主要缺点:每次查询当前 员工状态时,您都需要过滤开始和结束日期的详细信息。这似乎是一件微不足道的事情,但您不会相信它会引起多少困惑,而且它还会影响性能。

这些事情很重要,因为大多数时候您只需要当前的详细信息,而查询历史记录的情况相对较少。因此,您阻碍了最常见用例的实现,以使其更容易实现较少使用的用例。 (当然,我是在假设您的业务需求,也许您的应用程序不是普通的员工应用程序...)

更好的解决方案是有两个表,一个 EMPLOYEES 表也包含所有详细信息列,另一个 EMPLOYEES_HISTORY 表包含相同的列以及开始和结束日期。当您更改员工的记录时,可能会通过触发器在历史表中插入旧记录的副本。您的标准流程只需一张表即可查询,完全满足您的历史需求。


顺便说一下,您提出的数据模型是错误的。 Working_hours、email_address 和 last_name 绝对是可以改变的东西,甚至名字(例如通过结婚等个人情况的改变)。因此,所有这些列都应包含在您的详细信息名称中

关于sql-server - 员工表(主表和明细表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11082186/

hai mươi bốn 4 0
Bài viết được đề xuất: kinect - 在kinect c#中显示骨骼各个关节的角度
Bài viết được đề xuất: PHP:加密/解密短字符串
Bài viết được đề xuất: c# - 将项目绑定(bind)到 ListBox 多列
Bài viết được đề xuất: C# timer.timer không hoạt động bình thường
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com