Как следует нормализовать следующую таблицу? - PullRequest
0 голосов
/ 20 января 2019

У меня есть таблица с именем 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

1 Ответ

0 голосов
/ 20 января 2019

Ваш вопрос фактически сводится к следующему: каковы взаимоотношения между работой и сотрудниками (что вы не объяснили подробно).Возможные случаи:

  • 1-N : если у каждого сотрудника есть одна работа, и несколько сотрудников могут иметь одинаковую работу, ваша установка с двумя таблицами и иностраннойВвод сотрудника по направлению к работе в порядке

  • 1-1 : если у каждого сотрудника есть одна работа, и каждая работа принадлежит одному сотруднику, то вам не нужнодве таблицы: вы можете просто заполнить все в таблице сотрудников

  • NN : если сотрудник может иметь несколько рабочих мест, и каждая работа может принадлежать нескольким сотрудникам, товам нужно будет создать третью таблицу, таблицу мостов для представления этой взаимосвязи, где каждая строка будет хранить один внешний ключ к таблице заданий, а другой - к таблице служащих

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...