我有一个名为Employee
的表,其中有ID
,Fname
,Lname
,dateEmployed
,Program
,fieldOfStudy
, Salary
,jobTitle
和JobDescription
列。我需要将其标准化,但是我不确定该怎么做。那我应该如何规范它呢?
这就是我尝试过的
我创建了两个表Employee
和Job
,如下所示,并引用了jobId
表中Job
表的Employee
列。
这是Employee Table
CREATE TABLE EMPLOYEE(
Id int primary key identity,
FName nvarchar(50),
LName nvarchar(50),
dateEmployed Date,
jobID int foreign key references job(jbId)
);
这是Job Table
CREATE TABLE Job(
jobId int primary key identity,
Title nvarchar(200),
program nvarchar(30),
salary float,
fieldOfStudy nvarchar(50)
JobDescription nvarchar(max)
);
我的问题仅与Normalization
无关,sql query
答案 0 :(得分:1)
您的问题实际上分解为:工作与雇员之间的关系是什么(您没有详细解释)。可能的情况是:
1-N :如果每个员工有一份工作,而几名员工可以有相同的工作,则可以使用两张表和员工中指向工作的外键设置p>
1-1 :如果每个员工都有一个工作,并且每个工作属于一个员工,那么您就不需要两个表:您可以将所有内容填充到employee表中
NN :如果一个雇员可以有多个工作,并且每个工作可以属于多个雇员,那么您需要创建第三个表,一个代表该关系的桥表,每行将在工作表中存储一个外键,在雇员表中存储另一外键