Autor | Zpráva | ||
---|---|---|---|
Spectator Profil |
Dobrý den,
prvně návrhuji databázi a zajímá mne jedna věc. pro zjednodušení: Uživatel, Telefon, adresa, firma, prava Nejsem si jist zda je dobré udělat to takto: firma - id_firmy, nazev_firmy, ... Uzivatel - id_uzivatele, jmeno,... telefon - id_vlastnika, cislo adresa - id_vlastnika, ulice, ... prava - id_uzivatele, pravo nebo spojovat jednotlivé tabulky pomocí číselníků (snad je to to, co myslím) firma - id_firmy, nazev_firmy, ... Uzivatel - id_uzivatele, jmeno,... telefon - id_telefon, cislo adresa - id_adresa, ulice, ... prava - id_prava, pravo Spojovací tabluky (číselníky) c_telefon - id_vlastnika, id_telefon c_adresa - id_vlastnika, id_adresa c_firma_uzivatel - id_uzivatele, id_firmy c_prava - id_uzivatele, id_prava Dále by mne zajímalo, jak nejlépe ukládat informace o různých právech, Např - redaktor, administrator, uzivatel, ... Zkoušel jsem typ ENUM, ale zajímalo by mne, zda neexistuje nějaké jiné, osvědčené řešení. Děkuji předem |
||
ninja Profil |
#2 · Zasláno: 20. 1. 2012, 14:27:51
Záleží jestli se bude jednat o vztahy 1:N nebo M:N, tedy jestli uživatel může mít více telefonů, firem, adres, atd.
Práva můžete udělat jako tabulku co sloupec to jendo povolení, co řádka to uživatel. Pokud bude velká variabilita práv a budou se často přidávat další, lepší bude samostatná atribuční tabulka ve stylu: uzivatel_id, pravo_jmeno, pravo_typ, pravo_hodnota. Ka6d7 u6ivatel pak bude mít potřebný počet řádků dle jeho práv. |
||
Spectator Profil |
Uživatelé budou mít více čísel, emailových adres a hlavně firmy mohou mít více těchto kontaktů.
Dozvěděl jsem se, že práva budou mít uživatelé různě nakombinovaná, ale nebudou se moc často přidávat druhy práv. Měla by tedy stačit tabulka: id_uzivatel, pravo_jmeno1, pravo_jmeno2, ... A hodnoty char 1 - má právo, 0 - nemá právo? |
||
ninja Profil |
#4 · Zasláno: 20. 1. 2012, 23:08:21
Na bool hodnoty je lepší používat tinyint(1).
|
||
Spectator Profil |
ninja:
děkuji! Jestli můžu mít ještě otázku. Mám např. jednu tabulku pro adresy a pak tabulky uživatel a firem. V číselníku mám id_adres, a id_vlastnika (tím je myšlena firma i uživatel), jak rozliším při selectu adresu pro firmu nebo pro uživatele, když v uživatelích i ve firmách může být stejné id. Jak toto rozliším? |
||
Časová prodleva: 12 let
|
0