|
|
|
вход сотрудников и гостей на предприятие
|
|||
|---|---|---|---|
|
#18+
сложность заключается в том, что они входят через один турникет, соответственно считыватель номера пропуска (постоянного у сотрудников и временного у гостей) - один. Поэтому непонятно из какой таблицы искать номер отсканированного пропуска. У меня есть 2 решений этой проблемы. Может быть кто-то предложит свой вариант. 1. сделать таблицу пропусков |_id_propusk_|_id_sotr_|_id_guest_| | 100 | 1 | null | | 1001 | null | 1 | то есть, если стоит что то в колонке id_sotr то это сотрудник, если в id_guest то гость. 2. способ 2 таблицы, в которых записаны номера пропусков гостей и сотрудников и другие необходимые данные. у них одинаковые первые колонки - n_propuska - которые генерируются по одному секъюинсу, то нет одинаковых ключей в двух таблицах. Вот как то так, у вас есть другие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2009, 08:03 |
|
||
|
вход сотрудников и гостей на предприятие
|
|||
|---|---|---|---|
|
#18+
3. |_id_propusk_|_id_person_| ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2009, 11:36 |
|
||
|
вход сотрудников и гостей на предприятие
|
|||
|---|---|---|---|
|
#18+
а для людей (сотрудников и гостей) делать одну общую таблицу? в первом варианте предполагалось, что id_sotr это внешний ключ в таблицу отдела кадров, а id_guest внешний ключ в таблицу гостей с информацией о гостях (фио, паспортные данные и прочие) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2009, 15:16 |
|
||
|
вход сотрудников и гостей на предприятие
|
|||
|---|---|---|---|
|
#18+
Barm2012в первом варианте предполагалось, что id_sotr это внешний ключ в таблицу отдела кадров, а id_guest внешний ключ в таблицу гостей с информацией о гостях так не получится, если ключ не может быть null (ну или придется целостность реализовывать на триггерах). Возможно, проще считывать только ID_пропуска, а сведения о владельце (работник/гость) хранить в таблице пропусков. Обработка данных, полагаю, будет различна для гостей и работников (упрощенно, в одном случае требуется контроль опозданий, в другом - обратного выхода)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2009, 18:56 |
|
||
|
вход сотрудников и гостей на предприятие
|
|||
|---|---|---|---|
|
#18+
а таблицу пропусков вы как себе представляете? как в моем первом варианте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2009, 20:02 |
|
||
|
вход сотрудников и гостей на предприятие
|
|||
|---|---|---|---|
|
#18+
Например, у меня в похожей системе сейчас сделана таблица пропусков cards, таблица работников employees и таблица посетителей guests. Связь между таблицами сделана через промежуточные таблицы employees_to_cards(employee_id, card_id) и guests_to_cards(guest_id, card_id), чтобы не пихать во внешний ключ NULL. Триггеры отслеживают, чтобы карта не была приписана одновременно работнику и посетителю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2009, 21:18 |
|
||
|
вход сотрудников и гостей на предприятие
|
|||
|---|---|---|---|
|
#18+
таблица карт связывает код карты, код владельца карты и категорию владельца.В зависиимости от категории информация о нем омжет храниться в разных таблицах и даже базах данных. У нас - это сотрудниики, студенты, внешние пользователи. Три категории, три базы, три таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2009, 00:32 |
|
||
|
вход сотрудников и гостей на предприятие
|
|||
|---|---|---|---|
|
#18+
СанчесНапример, у меня в похожей системе сейчас сделана таблица пропусков cards, таблица работников employees и таблица посетителей guests. Связь между таблицами сделана через промежуточные таблицы employees_to_cards(employee_id, card_id) и guests_to_cards(guest_id, card_id), чтобы не пихать во внешний ключ NULL. Триггеры отслеживают, чтобы карта не была приписана одновременно работнику и посетителю.Почитайте здесь . Кратко - делается одна общая таблица: Люди. Люди могут быть : либо сотрудниками, либо Гостями. Карточки связываются с таблицей "Люди". Никаких триггеров не надо, надо только иметь сквозную нумерацию в двух таблицах вместе: Сотрудники и Гости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2009, 11:20 |
|
||
|
|

start [/forum/topic.php?fid=32&gotonew=1&tid=1543378]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
204ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 556ms |

| 0 / 0 |
