| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 29.01.10 Prihlásený: 21.01.22 Príspevky: 627 Témy: 122 Bydlisko: Veľká Lomni... | Napísal Snipo: 08.12.2014 18:27 | |
|
Čaute, mama ma poprosila či by som jej nemohol spraviť nejaký inventarizačný systém ktorý by jej uľahčil robotu a nemusela by všetko písať do papierov. Jej hlavná požiadavka bola aby sa mohla kedykoľvek do toho pozrieť a zistiť nejaké údaje, takže jasná voľba bola pre mňa vytvoriť nejakú webovú aplikáciu. Čítal som veľa článkov a normalizácií a pod. čo sa týka MySQL databázy no neviem či som všetko pochopil a som v tom dosť nováčik. Bol by som rád keby ste opravili chyby v mojom návrhu a poprípade upozornili na niektoré zlé návyky a pod. Teraz k problému. Cieľom je navrhnúť databázu pre portál ktorá musí spĺňať tieto podmienky: - na portál sa môže registrovať viac užívateľov - každý užívateľ vlastní iba jeden sklad pod ktorým sú len určité triedy ktoré si užívateľ sám pridá - po registrácií môže užívateľa aktivovať len administrátor - musí sa zaznamenať každá akcia ako napr. pridanie, úprava, vyradenie alebo vymazanie knihy - taktiež aby mohol administrátor napísať správu ktorá sa zobrazí užívateľom v ich administrácií Tu je môj návrh: Tabuľka uzivateliaKód: id int primary ai meno varchar 50 priezvisko varchar 50 mail varchar 100 heslo varchar 255 admin boolean default = 0 Tabuľka aktivaciaKód: id_uzivatel int primary Tabuľka triedyKód: id_uzivatel int primary nazov varchar 20 primary Pri tejto tabuľke si nie som istý. Dočítal som sa, že každý záznam ( chápem ako riadok ) v tabuľke musí byť jednoznačne identifikovateľný ( to zasa chápem tak, že nemôže byť v tabuľke viac rovnakých primárnych kľúčov ). Keďže užívateľ môže vlastniť viac tried tak musím dať primary aj na názov? Inak by sa hodnota id_uzivatel opakovala. Tabuľka ucebniceKód: id int primary ai nazov varchar 100 autor varchar 100 vydavatelstvo varchar 200 stav enum = zachovalá, poškodená popis_poskodenia varchar 255 NULL cena decimal datum_prijatia date typ enum = učebnica, pracovný zošit Tabuľka akcieKód: id int primary ai typ enum = pridanie, úprava, vyradenie, zmazanie id_ucebnica int Tabuľka spravyKód: id int primary ai obsah text datum timestamp default = current_timestamp
_________________ PC: CPU: AMD Phenom II X4 965 Black Edition BE 3.4GHz @ 4.0GHz Noctua NH-D14 MB: Gigabyte GA-970A-UD3 VGA: Sapphire AMD Radeon HD7850 2GB GDDR5 RAM: Kingston 4GB 1333MHz DDR3 CL9 DIMM PSU: be quiet! Pure Power L7-430W 80PLUS Monitor: ASUS 21" 1680x1050 CASE: Cooler Master Elite 311 Basic HDD: 7200rpm 500 GB, 5400rpm 500 GB DVD: Samsung DVD OS: Windows7 x64 Tablet: Asus Google Nexus 7, 32 GB, 3G, Nvidia Tegra 3 T30L Quad-Core 1.3 GHz, Android 4.4 KitKat, Synman's GwT ROM Mobil: Motorola Moto G 2nd. generation Dual-sim NTB: Toshiba Satellite C855 - 12J CPU: Intel Pentium B960 2.20 GHz GPU: AMD Radeon HD7610M |
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.12.2014 19:34 | |
|
V každej tabulke maj nejaké AI id, napríklad nazovtabulky_id, ako primary key. Uľahčí ti to život. A tiež si do tohoto návrhu mohol napísať, čo je foreign key od čoho (aj keď pri tomto je to jasné z názvov, ale pre väčšiu prehľadnosť) Ja sa databázami primárne nezaoberám, ale už som ich navrhol kopec a fungujú No a môj názor - toto je tak jednoduché, že to môžeš urobiť hociako. Toto je určite možnosť, vyzerá to dobre, účel to splní. Keď je to ale pre mamu, zamysli sa aj nad rozšíriteľnosťou. Pretože mama si určite o mesiac zmyslí, že "a vieš čo by bolo super, keby to vedelo?". Toto nepíšem nijak cielene, ty vieš presne, aké sú požiadavky a určite sa zamysli aj nad tým, aké by mohli byť v budúcnosti. Ušetríš si tak prácu potom.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 03.04.08 Prihlásený: 10.12.19 Príspevky: 4667 Témy: 37 Bydlisko: Trnava |
Ak si si neni isty sprav si case udalosti a postupne chod co sa ti kedy bude , insertovat, updatovat a pod aby to zapadalo. Tak na rychlo co ak budes chciet pridat iny level uzivatela ako administrator v buducnosti? Triedy: nebolo by lepsie si spravit id_triedy | nazov_tiredy a potom potom id_uzivatela | id_tiedty? Dalej spravy nebudes chciet vediet ci si ju uzivatel precital? A este tabulka user_id | book_id aby si si vedel lepsie vyselectovat aktualne knihy uzivatela? Sice da sa ty to odseparovat v tabulke akcie ale mas to uz miesanie dat a eventov. Tabuľka ucebnice ucebnica moze byt este aj nova (viem ze iba ojedinele na nasich skolach ). + trosku nechapem zmysel Tabuľka aktivacia
_________________ Hmmm .... Hrošíček ... [Homer] |
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|