Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2010, 15:47   #1
Vactive
Новичок
Джуниор
 
Регистрация: 25.11.2010
Сообщений: 1
По умолчанию Вопрос про связь двух таблиц

День добрый!
Как правильно определить связь между таблицами "Сотрудники" и "Организации"?
В каждой организации работает несколько сотрудников, но и каждый сотрудник может работать в нескольких организациях.
1. С одной стороны, получается связь "многие ко многим" - т.е. создавать третью таблицу, и в ней связывать данные. Но как решить проблему с однофамильцами (если подстановкой в третьей таблице отображать фамилии-имена)?
2. С другой стороны, можно в одной из таблиц, например в "Сотрудниках", поместить поле (столбец) подстановок - внешний ключ, отображающий называние Организаций из таблицы Организации, с разрешением нескольких значений. Тогда каждому сотруднику можно выбирать те организации, в которых он работает. Получается, что это связь "один ко многим" (1 сотрудник ко многим организациям), но поскольку любому сотруднику можно выбирать несколько любых организаций, то уже получается та же связь "многие ко многим". Так?

Какой вариант лучше с точки зрения структуры базы данных? В каком случае возможны проблемы при построении запросов/форм/отчетов? (Планируется построение запросов - поиск организаций, в которых работает конкретный сотрудник, и наоборот - всех сотрудников конкретной организации)
Заранее благодарю!
Vactive вне форума Ответить с цитированием
Старый 27.11.2010, 21:33   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Vactive.
"Сотрудники" и "Организации" каждая из этих таблиц должна содержать ключевое поле идентифицирующее каждую запись,
например IDСотрудник и IDОрганизация, как правило это поле с типом Счетчик (числовое формата - Длинное целое).
И "..в третьей таблице отображать фамилии-имена.." не будет необходимости,
т.к. и для однофамильцев и для людей с разными фамилиями идентификатором записи будет число.
По этим "числам" и необходимо устанавливать связь помещая их в "третью" таблицу.

мысли в слух:
Попытка объяснения "на пальцах", не знаю будет ли результат.
А если выложить архив с заранее подготовленным (избавленным от избыточных данных, OLE объектов,.... и сжатый средствами MS Access) файлом БД,
то на примере Вашей БД можно будет продемонстрировать способ решения Вашей задачи и результат будет точно.

Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
связь главной и двух подчинённых таблиц 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