![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 25.11.2010
Сообщений: 1
|
![]()
День добрый!
Как правильно определить связь между таблицами "Сотрудники" и "Организации"? В каждой организации работает несколько сотрудников, но и каждый сотрудник может работать в нескольких организациях. 1. С одной стороны, получается связь "многие ко многим" - т.е. создавать третью таблицу, и в ней связывать данные. Но как решить проблему с однофамильцами (если подстановкой в третьей таблице отображать фамилии-имена)? 2. С другой стороны, можно в одной из таблиц, например в "Сотрудниках", поместить поле (столбец) подстановок - внешний ключ, отображающий называние Организаций из таблицы Организации, с разрешением нескольких значений. Тогда каждому сотруднику можно выбирать те организации, в которых он работает. Получается, что это связь "один ко многим" (1 сотрудник ко многим организациям), но поскольку любому сотруднику можно выбирать несколько любых организаций, то уже получается та же связь "многие ко многим". Так? Какой вариант лучше с точки зрения структуры базы данных? В каком случае возможны проблемы при построении запросов/форм/отчетов? (Планируется построение запросов - поиск организаций, в которых работает конкретный сотрудник, и наоборот - всех сотрудников конкретной организации) Заранее благодарю! |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Vactive.
"Сотрудники" и "Организации" каждая из этих таблиц должна содержать ключевое поле идентифицирующее каждую запись, например IDСотрудник и IDОрганизация, как правило это поле с типом Счетчик (числовое формата - Длинное целое). И "..в третьей таблице отображать фамилии-имена.." не будет необходимости, т.к. и для однофамильцев и для людей с разными фамилиями идентификатором записи будет число. По этим "числам" и необходимо устанавливать связь помещая их в "третью" таблицу. мысли в слух: Попытка объяснения "на пальцах", не знаю будет ли результат. ![]() А если выложить архив с заранее подготовленным (избавленным от избыточных данных, OLE объектов,.... и сжатый средствами MS Access) файлом БД, то на примере Вашей БД можно будет продемонстрировать способ решения Вашей задачи и результат будет точно. ![]() Евгений. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
связь главной и двух подчинённых таблиц access в delphi7 | kelod | БД в Delphi | 9 | 11.07.2010 12:45 |
Связь двух таблиц | Denmart | БД в Delphi | 5 | 19.08.2009 10:58 |
связь двух таблиц | cub | Microsoft Office Excel | 11 | 03.08.2009 18:45 |
Вопрос про связь между двумя таблицами | Vit@L | БД в Delphi | 8 | 21.07.2009 06:37 |
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) | Albert2008 | Общие вопросы Delphi | 4 | 21.08.2008 15:33 |