Autor | Zpráva | ||
---|---|---|---|
user243 Profil |
#1 · Zasláno: 14. 10. 2014, 14:42:10
Ahoj,
chci vás požádat o zhodnocení mého návrhu databáze pro můj menší web (do 20 uživatelů). Obsahuje jednoduchou galerii, knihu návštěv a místo pro vzkazy jen od registrovaných. Tabulka log jen jen pro dočasná data (bude se tam uchovávat jen 10 - 20 nejnovějších věcí), slouží k výčtu posledních pár nejnovějších věcí na úvodní stránku a ke generování xml souboru pro čtečku. Odkaz na návrh (PDF) Budu rád za jakoukoliv radu a připomínku. |
||
juriad Profil |
#2 · Zasláno: 14. 10. 2014, 15:20:26
Několik poznámek:
1) prefixovat tabulky tb_ je podle mě nesmysl; v kontextu dotazu je zřejmé, jestli jde o tabulku či sloupec. 2) to samé pro sloupce id_tb_...; to klidně můžeš zkrátit jen na id. 3) dost sis vyhrál s velikostí čísel, ale proč prostě všude nepoužiješ nejobyčejnější INT? 4) to samé pto TINYTEXT; máš nějaký důvod nepoužít TEXT? 5) zálohy bych klidně řešil v rámci tabulky příspěvků; tedy přidat sloupec záloha, který bude cizím klíčem do té samé tabulky na sloupec ID; běžně budeš vypisovat jen příspěvky s tímto sloupcem s hodnotou NULL. Před updatem si vytvoříš zálohový řádek a původní záznam následně změníš. Posloupnost úprav je řázená podle jejich datumu. 6) asi bych opravil překlepy samzano, samazano, povodni_obsah 7) jaký je význam tabulky upozornění? Je to zpráva určená vždy jednomu uživateli? 8) název tabulky oceneni_spojeni je blbý, proč ne oceneni_uzivatele? 9) bude mít jeden uživatel více přihlášení? To mi nedává smysl 10) 13 znaků na jméno a 45 na url? Kde bereš ty konstanty? 10 znaků na titulek příspěvku?? 11) prectenych_prispevku nepatří do nastavení, to samé pro vyhrano_her a chyceno_bludicek. Tyto atributy se přece počítají agregací přímo z dat, nikoli neustálým updatovaním tabulky statistik. 12) nevím proč jsi tak posedlý ip adresama. Když už tak bych si vytvořil extra tabulku aktivity (ip_adresa, id_uzivatele_pokud_prihlaseny, akce, parametr_akce) kam bych ukládal, co který uživatel (i nepřihlášený provádí). Následně můžeš krásně selectem zjistit, co která IP adresa prováděla a komu potenciálně patří. |
||
mimochodec Profil |
#3 · Zasláno: 14. 10. 2014, 15:45:03
Kromě toho, co píše juriad, vidím dvakrát
typ VARCHAR(45) . Nevím, čemu to má sloužit, ale zvážil bych, jestli pro typy nevytvořit extra tabulku, která by se joinovala.
|
||
user243 Profil |
#4 · Zasláno: 15. 10. 2014, 14:57:23
juraid,
1) když se podívám na náhled nebo jiné grafické zobrazení tak ano, ale v SQL kódu jsi už tak jistý nejsem; znám databáze hlavně z prostředí MS Access 3) na mém free hostingu je limit pro databázi 50 MB; nevím, jak bude ve výsledku velká, takže rozsahy dávám spíš nižší 4) ten TINYTEXT byl nějaký divný překlep 5) nejsem si jistý, jestli jsem tuhle část správně pochopil; přidal jsem tam tabulku vzkaz_juraid, která by tomu měla odpovídat; bude možné pak zobrazit příspěvek (vzkaz) s původním datem a jménem odesílatele, upravenou verzí obsahu a s datem a autorem úpravy? 6) omlouvám se 7) je to vlastně taková krátká systémová zpráva; například, když člověk dosáhne nějakého ocenění, moderátor mu příspěvek upraví. nebo smaže, když se rozšíří stránky o nějaké nové funkce a tak...; některá budou jen pro toho daného člověka a některé budou pro všechny; 8) opraveno 9) to byl takový nápad, že může být přihlášený na stránkách současně z více počítačů - pro můj web asi k ničemu 10) 13 znaků na přezdívku je odvozeno od hry, kde je to limit; měli by mít stejnou přezdívku jako tam; u jména jsem počítal jen s křestním, jinak jsem většinu rozšířil na 255 (většinu); těch 45 je předdefinovaná hodnota v návrhovém prostředí pro varchar; nějaké věci vím, že nebudou moc dlouhé - třeba jako motiv, který je podle měsíců a o dalších jsem si to myslel/nemyslel 11) přesunuto do jiné tabulky; počet přečtených vzkazů je na vygenerování odkazu na přibližně poslední přečtenou stránku, když se někdo objeví jednou za čas 12) jen menší nedůvěra, nechám to ale v knize návštěv mimochodec, to mi tam zbylo v jedné tabulce ještě z předchozího návrhu, omlouvám se; typ u ocenění je tam kvůli tomu, že je více ocenění stejného typu, ale s jinou podmínkou a hodnout - chyceno 5 bludiček, chyceno 25, .... aktualizovaná verze návrhu |
||
Časová prodleva: 10 let
|
0