gpt4 book ai didi

sql - 下表应该如何归一化?

转载 作者:搜寻专家 更新时间:2023-10-30 23:27:44 25 4
gpt4 key购买 nike

我有一个名为 Employee 的表,其中包含 IDFnameLnamedateEmployedProgramfieldOfStudySalaryjobTitleJobDescription 列。我需要对其进行标准化,但我不确定该怎么做。那么我应该如何规范化它呢?

这是我尝试过的

我创建了两个表 EmployeeJob 如下所示,并在 中引用了 Job 表中的 jobId 列员工表。

这是员工表

CREATE TABLE EMPLOYEE(
Id int primary key identity,
FName nvarchar(50),
LName nvarchar(50),
dateEmployed Date,
jobID int foreign key references job(jbId)
);

这是作业表

CREATE TABLE Job(
jobId int primary key identity,
Title nvarchar(200),
program nvarchar(30),
salary float,
fieldOfStudy nvarchar(50)
JobDescription nvarchar(max)
);

我的问题只是关于规范化,而不是关于sql 查询

最佳答案

您的问题实际上分解为:工作与员工之间的关系是什么(您没有彻底解释)。可能的情况是:

  • 1-N :如果每个员工都有一份工作并且多个员工可以有相同的工作,那么您的设置有两个表和一个外键在 employee to job 就可以了

  • 1-1 :如果每个员工都有一份工作,并且每个工作都属于一个员工,那么您不需要两个表:您可以将所有内容都塞入员工表

  • N-N :如果一个员工可以有多个工作,每个工作可以属于多个员工,那么您需要创建第三个表,一个桥接表来表示这种关系,其中每一行将存储一个外键指向 jobs 表,另一个外键指向 employees 表

关于sql - 下表应该如何归一化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54277799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com