Я проектирование базы данных и моих таблицы следующего образомТаблица базы данных с двумя взаимосвязанными внешними ключами, которые могут принимать неправильные данные
- компания может иметь много отделов, и отдел принадлежит одной компании
- компания может иметь много сотрудников, и работник принадлежит одной компании
- отдела может иметь много сотрудников и сотрудник принадлежит к одному отделу
Company( ID, Name, ) Department( ID, Title, CompanyID (FK_Department_Company) UNIQUE(Title,CompanyID) ) Employee( ID, Fname, LName, CompanyID, (FK_Employee_Company) DepartmentID (FK_Employee_Department) )
Так я обнаружил, что есть возможность вставлять неправильные данные в таблицу Employee
здесь являются выборочными значениями
company (
25,Spar Pvt LTD, Sweden, 12345678.
26,Mr.Wheel Pvt Ltd, Germany, 123456789)
Department(
101, Manager,25
102, Front Desk,25
103, Host,26)
Employee(81,25,103,....)
Здесь DepartmentID 103 принадлежит CompanyID 26, но все-таки я могу вставить, Так все равно решить эту проблему (sqlserver), или мне нужно изменить дизайн, пожалуйста, дайте мне несколько предложений и идей.
С уважением,
Вам не нужна колонка идентификатора компании на столе сотрудников. Таблица отделов относится к таблице компаний, а сотрудники относятся к отделам, вы можете вставить правильные данные таким образом и получить любые данные, которые вы хотите. – Fr0zenFyr