MySQL - привязка сотрудников к счету №

0

Сервисная компания хочет, чтобы реестр точно выполнял какую работу, в этом случае у нас есть 9 сотрудников, в которых один или несколько сотрудников могут делать один счет одновременно.

Возникает вопрос: для того, чтобы руководство могло получить запрос на работу, выполняемую каждым сотрудником (зарплата), как должна храниться база данных счетов-фактур, сделанных сотрудником?

Пока надзиратель отмечает сотрудников, которые работали в каждом счете, а у db есть все 9 сотрудников, у меня возникают проблемы с хранением матриц в столбце, а точнее в списке сотрудников в столбце.

Может ли это быть запрошено сотрудником, не найдя ответчика 22 при поиске сотрудника № 2?

Invoice #                   List of Employees
 1                        3, 5
 2                        8, 1, 4
 3                        6
 4                        7, 2, 9, 3...

Спасибо

Теги:
list
storage

1 ответ

3
Лучший ответ
CREATE TABLE Employee
(
    [Id] INT NOT NULL PRIMARY KEY
    ...
)

CREATE TABLE Invoice
(
    [Id] INT NOT NULL PRIMARY KEY
    ...
)

CREATE TABLE EmployeeInvoice
(
    [EmployeeId] INT NOT NULL, 
    [InvoiceId] INT NOT NULL, 
    PRIMARY KEY ([EmployeeId], [InvoiceId]), 
    CONSTRAINT [FK_EmployeeInvoice_ToTableEmployee] 
    FOREIGN KEY ([EmployeeId]) REFERENCES [Employee]([Id]), 
    CONSTRAINT [FK_EmployeeInvoice_ToTableInvoice] 
    FOREIGN KEY ([InvoiceId]) REFERENCES [Invoice]([Id])
)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню