Автор Тема: SQL въпросче :)  (Прочетена 3045 пъти)

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
SQL въпросче :)
« -: Jun 08, 2015, 11:33 »
Как е по-добре да се направи:
Външен ключ с Null стойност или свързваща таблица М:N

Идеята ми е, че има таблица в която се записват служители на дадена фирма и потребители на системата. Служителите може да са потребители на системата, но може и да не са, с една дума например санитарките няма да работят с компютри, но трябва да ги има като номенклатура... Та имаме таблица:

users и employeers

Ясно е, че един служител може да съответства само на един потребител и обратно за това връзката е 1:1, но има вариант в който служител може да не е потребител... Та:

users
-----------------
id
username
password
......


employeers
-----------------
id
user_id default  null
name
....

с възможен Null външен ключ или да си го правя M:N. Ако е M:N обаче не е много коректно защото един служител не може да съответства към много потребители и обратно. Вярно е, че програмно може да се лимитира това, но чисто от към база данни как е по-добре да се направи? :)
« Последна редакция: Jun 08, 2015, 11:36 от runtime »
Активен

sudo

  • Напреднали
  • *****
  • Публикации: 73
    • Профил
Re: SQL въпросче :)
« Отговор #1 -: Jun 08, 2015, 12:07 »
Обърни логиката, в подмножеството (users) сложи ключовете от голямото множество (employee).
Активен

NorthBridge

  • Напреднали
  • *****
  • Публикации: 177
  • Distribution: Slackware-current
  • Window Manager: Enlightenment E17
  • Mad Tinkerer
    • Профил
Re: SQL въпросче :)
« Отговор #2 -: Jun 08, 2015, 14:05 »
Обърни логиката, в подмножеството (users) сложи ключовете от голямото множество (employee).

+1 за това

Кажи все пак за всеки случай какво ще избираш от тези таблици.
Активен

I did a 'zcat vmlinuz > /dev/audio' and I think I heard God...

sharena_sol

  • Гост
Re: SQL въпросче :)
« Отговор #3 -: Jun 08, 2015, 14:19 »
Обърни логиката, в подмножеството (users) сложи ключовете от голямото множество (employee).

+1
Активен

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
Re: SQL въпросче :)
« Отговор #4 -: Jun 08, 2015, 19:36 »
Обърни логиката, в подмножеството (users) сложи ключовете от голямото множество (employee).

+1

Taка и ще направя... Само това не ми дойде на акъла  [_]3 А то толкова близко....
Както казваше един познат "Днес мисленето особенно ме затруднява"  [_]3 [_]3

Мерси!
Активен