powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / вход сотрудников и гостей на предприятие
8 сообщений из 8, страница 1 из 1
вход сотрудников и гостей на предприятие
    #35868977
Barm2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сложность заключается в том, что они входят через один турникет, соответственно считыватель номера пропуска (постоянного у сотрудников и временного у гостей) - один. Поэтому непонятно из какой таблицы искать номер отсканированного пропуска.
У меня есть 2 решений этой проблемы. Может быть кто-то предложит свой вариант.
1. сделать таблицу пропусков

|_id_propusk_|_id_sotr_|_id_guest_|
| 100 | 1 | null |
| 1001 | null | 1 |

то есть, если стоит что то в колонке id_sotr то это сотрудник, если в id_guest то гость.

2. способ
2 таблицы, в которых записаны номера пропусков гостей и сотрудников и другие необходимые данные. у них одинаковые первые колонки - n_propuska - которые генерируются по одному секъюинсу, то нет одинаковых ключей в двух таблицах.

Вот как то так, у вас есть другие варианты?
...
Рейтинг: 0 / 0
вход сотрудников и гостей на предприятие
    #35869088
sti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3. |_id_propusk_|_id_person_|
...
Рейтинг: 0 / 0
вход сотрудников и гостей на предприятие
    #35869935
Barm2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а для людей (сотрудников и гостей) делать одну общую таблицу?
в первом варианте предполагалось, что id_sotr это внешний ключ в таблицу отдела кадров, а id_guest внешний ключ в таблицу гостей с информацией о гостях (фио, паспортные данные и прочие)
...
Рейтинг: 0 / 0
вход сотрудников и гостей на предприятие
    #35870038
mvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barm2012в первом варианте предполагалось, что id_sotr это внешний ключ в таблицу отдела кадров, а id_guest внешний ключ в таблицу гостей с информацией о гостях
так не получится, если ключ не может быть null (ну или придется целостность реализовывать на триггерах). Возможно, проще считывать только ID_пропуска, а сведения о владельце (работник/гость) хранить в таблице пропусков. Обработка данных, полагаю, будет различна для гостей и работников (упрощенно, в одном случае требуется контроль опозданий, в другом - обратного выхода)...
...
Рейтинг: 0 / 0
вход сотрудников и гостей на предприятие
    #35870103
Barm2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а таблицу пропусков вы как себе представляете? как в моем первом варианте?
...
Рейтинг: 0 / 0
вход сотрудников и гостей на предприятие
    #35870177
Санчес
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, у меня в похожей системе сейчас сделана таблица пропусков cards, таблица работников employees и таблица посетителей guests.
Связь между таблицами сделана через промежуточные таблицы employees_to_cards(employee_id, card_id) и guests_to_cards(guest_id, card_id), чтобы не пихать во внешний ключ NULL.
Триггеры отслеживают, чтобы карта не была приписана одновременно работнику и посетителю.
...
Рейтинг: 0 / 0
вход сотрудников и гостей на предприятие
    #35870344
таблица карт связывает код карты, код владельца карты и категорию владельца.В зависиимости от категории информация о нем омжет храниться в разных таблицах и даже базах данных. У нас - это сотрудниики, студенты, внешние пользователи. Три категории, три базы, три таблицы.
...
Рейтинг: 0 / 0
вход сотрудников и гостей на предприятие
    #35870890
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СанчесНапример, у меня в похожей системе сейчас сделана таблица пропусков cards, таблица работников employees и таблица посетителей guests.
Связь между таблицами сделана через промежуточные таблицы employees_to_cards(employee_id, card_id) и guests_to_cards(guest_id, card_id), чтобы не пихать во внешний ключ NULL.
Триггеры отслеживают, чтобы карта не была приписана одновременно работнику и посетителю.Почитайте здесь .
Кратко - делается одна общая таблица: Люди.
Люди могут быть : либо сотрудниками, либо Гостями.
Карточки связываются с таблицей "Люди".

Никаких триггеров не надо, надо только иметь сквозную нумерацию в двух таблицах вместе: Сотрудники и Гости.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / вход сотрудников и гостей на предприятие
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]