{"id":38806,"date":"2019-10-31T22:26:02","date_gmt":"2019-10-31T19:26:02","guid":{"rendered":"https:\/\/prohoster.info\/blog\/proektirovanie-bazy-dannyh-luchshie-praktiki\/"},"modified":"2026-02-14T19:13:54","modified_gmt":"2026-02-14T17:13:54","slug":"proektirovanie-bazy-dannyh-luchshie-praktiki","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/proektirovanie-bazy-dannyh-luchshie-praktiki","title":{"rendered":"N\u00e1vrh datab\u00e1zy. Najlep\u0161ie praktiky","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>V o\u010dak\u00e1van\u00ed zah\u00e1jenia \u010fal\u0161ej d\u00e1vky kurzu <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/3WyH\/\">\u201eDatab\u00e1zy\u201c<\/a><\/noindex> sme pripravili mal\u00fd autorsk\u00fd materi\u00e1l s d\u00f4le\u017eit\u00fdmi radami na kon\u0161truovanie datab\u00e1z. D\u00fafame, \u017ee v\u00e1m tento materi\u00e1l bude u\u017eito\u010dn\u00fd.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e1vrh datab\u00e1zy. Najlep\u0161ie praktiky\" src=\"\/wp-content\/uploads\/2019\/10\/e156caa8cfe0cd43ba54ee25cba26b24.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDatab\u00e1zy s\u00fa v\u0161ade: od najjednoduch\u0161\u00edch blogov a adres\u00e1rov po spo\u013eahliv\u00e9 informa\u010dn\u00e9 syst\u00e9my a ve\u013ek\u00e9 soci\u00e1lne siete. Nie je a\u017e tak d\u00f4le\u017eit\u00e9, \u010di je datab\u00e1za jednoduch\u00e1 alebo zlo\u017eit\u00e1, ako d\u00f4le\u017eit\u00e9 je ju spr\u00e1vne navrhn\u00fa\u0165. Ke\u010f je datab\u00e1za navrhnut\u00e1 bezhlavo a bez jasn\u00e9ho pochopenia cie\u013ea, nie je len neefekt\u00edvna, ale \u010fal\u0161ia pr\u00e1ca s datab\u00e1zou bude skuto\u010dn\u00fdm tr\u00e1pen\u00edm, nepriechodn\u00fdm lesom pre pou\u017e\u00edvate\u013eov. Tu je nieko\u013eko r\u00e1d na kon\u0161truovanie datab\u00e1zy, ktor\u00e9 pom\u00f4\u017eu vytvori\u0165 u\u017eito\u010dn\u00fd a u\u017e\u00edvate\u013esky pr\u00edjemn\u00fd produkt.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>1. Ur\u010dte, na \u010do je tabu\u013eka a ak\u00e1 je jej \u0161trukt\u00fara<\/h3>\n<p>\n<img decoding=\"async\" alt=\"N\u00e1vrh datab\u00e1zy. Najlep\u0161ie praktiky\" src=\"\/wp-content\/uploads\/2019\/10\/4995cad22df7f9007891ebb135671784.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDnes tak\u00e9 met\u00f3dy v\u00fdvoja ako Scrum alebo RAD (r\u00fdchly v\u00fdvoj aplik\u00e1ci\u00ed) pom\u00e1haj\u00fa IT t\u00edmom r\u00fdchlo vyv\u00edja\u0165 datab\u00e1zy. Av\u0161ak, v honbe za \u010dasom je ve\u013emi ve\u013ek\u00fd poku\u0161enie vrhn\u00fa\u0165 sa priamo do v\u00fdstavby datab\u00e1zy, mlhav\u011b predstaviac si, v \u010dom spo\u010d\u00edva samotn\u00fd cie\u013e, ak\u00e9 by mali by\u0165 kone\u010dn\u00e9 v\u00fdsledky.<br \/>\n\u00a0 <br \/>\nAkoby t\u00edm smeroval k efekt\u00edvnej, r\u00fdchlej pr\u00e1ci, ale to je len fatamorg\u00e1na. \u010c\u00edm hlb\u0161ie a r\u00fdchlej\u0161ie sa vrh\u00e1\u0161 do projektu, t\u00fdm viac \u010dasu bude potrebn\u00e9 na odha\u013eovanie a zmenu ch\u00fdb v n\u00e1vrhu datab\u00e1zy. <\/p>\n<p>Preto prv\u00e9, \u010do je potrebn\u00e9 ur\u010di\u0165, je definova\u0165 cie\u013e va\u0161ej datab\u00e1zy. Pre ak\u00fd typ aplik\u00e1cie sa datab\u00e1za vyv\u00edja? Bude pou\u017e\u00edvate\u013e len pracova\u0165 s z\u00e1znamami a je potrebn\u00e9 venova\u0165 pozornos\u0165 transakci\u00e1m, alebo ho viac zauj\u00edma anal\u00fdza \u00fadajov? Kde by mala by\u0165 datab\u00e1za nasaden\u00e1? Bude sledova\u0165 spr\u00e1vanie z\u00e1kazn\u00edkov alebo len spravova\u0165 vz\u0165ahy medzi nimi?\u00a0 <\/p>\n<p>\u010c\u00edm sk\u00f4r dizajn\u00e9rsky t\u00edm odpovie na tieto ot\u00e1zky, t\u00fdm hlad\u0161ie a plynulej\u0161ie prebehne proces n\u00e1vrhu datab\u00e1zy. <\/p>\n<h3>2. Ak\u00e9 \u00fadaje vybra\u0165 na ukladanie?<\/h3>\n<p>\n<img decoding=\"async\" alt=\"N\u00e1vrh datab\u00e1zy. Najlep\u0161ie praktiky\" src=\"\/wp-content\/uploads\/2019\/10\/1079f324d621fd4916a3a47c1bda435e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPl\u00e1nujte dopredu. Prem\u00fd\u0161\u013eajte o tom, \u010do v bud\u00facnosti bude robi\u0165 web alebo syst\u00e9m, pre ktor\u00fd sa navrhuje datab\u00e1za. Je d\u00f4le\u017eit\u00e9 prekro\u010di\u0165 r\u00e1mec jednoduch\u00fdch po\u017eiadaviek technickej \u0161pecifik\u00e1cie. Len pros\u00edm, neza\u010dnite hne\u010f rozm\u00fd\u0161\u013ea\u0165 o v\u0161etk\u00fdch mo\u017en\u00fdch typoch \u00fadajov, ktor\u00e9 by pou\u017e\u00edvate\u013e mohol kedyko\u013evek ulo\u017ei\u0165. Rad\u0161ej sa zamyslite nad t\u00fdm, \u010di bud\u00fa m\u00f4c\u0165 pou\u017e\u00edvatelia p\u00edsa\u0165 pr\u00edspevky, nahr\u00e1va\u0165 dokumenty alebo fotografie, alebo si vymie\u0148a\u0165 spr\u00e1vy. Ak \u00e1no, tak v datab\u00e1ze by malo by\u0165 vyhraden\u00e9 miesto pre ne.<\/p>\n<p>Pracujte s t\u00edmom, oddelen\u00edm alebo organiz\u00e1ciou, pre ktor\u00fa bude v bud\u00facnosti projektovan\u00e1 datab\u00e1za podporovan\u00e1. Komunikujte s \u013eu\u010fmi r\u00f4znych \u00farovn\u00ed, od \u0161pecialistov na z\u00e1kazn\u00edcku podporu po ved\u00facich oddelen\u00ed. Takto prostredn\u00edctvom sp\u00e4tn\u00fdch v\u00e4zieb z\u00edskate jasn\u00fa predstavu o po\u017eiadavk\u00e1ch spolo\u010dnosti.\u00a0 <\/p>\n<p>Nezvr\u00e1tne sa potreby pou\u017e\u00edvate\u013eov v r\u00e1mci jedn\u00e9ho oddelenia bud\u00fa navz\u00e1jom konfliktova\u0165. Ak sa s t\u00fdm stretnete, nebojte sa opiera\u0165 o vlastn\u00e9 sk\u00fasenosti a n\u00e1js\u0165 kompromis, ktor\u00fd uspokoj\u00ed v\u0161etky strany a bude vyhovova\u0165 kone\u010dn\u00e9mu cie\u013eu datab\u00e1zy. Bu\u010fte si ist\u00ed: v bud\u00facnosti v\u00e1m to prinesie +100500 do karmy a kopu su\u0161ienok. <\/p>\n<h3>3. Modelujte d\u00e1ta opatrne <\/h3>\n<p>\n<img decoding=\"async\" alt=\"N\u00e1vrh datab\u00e1zy. Najlep\u0161ie praktiky\" src=\"\/wp-content\/uploads\/2019\/10\/0def85a4c28b05b397fe789cd8b61826.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nExistuje nieko\u013eko k\u013e\u00fa\u010dov\u00fdch aspektov, na ktor\u00e9 by ste sa mali zamera\u0165 pri modelovan\u00ed d\u00e1t. Ako sme u\u017e spom\u00ednali, od \u00fa\u010delu datab\u00e1zy z\u00e1vis\u00ed, ak\u00e9 met\u00f3dy sa maj\u00fa pri modelovan\u00ed pou\u017ei\u0165. Ak navrhujeme datab\u00e1zu pre operat\u00edvne spracovanie z\u00e1znamov (OLTP), in\u00fdmi slovami na ich vytv\u00e1ranie, \u00fapravy a odstra\u0148ovanie, pou\u017eijeme modelovanie transakci\u00ed. Ak by v\u0161ak datab\u00e1za mala by\u0165 rela\u010dn\u00e1, najlep\u0161ie je pou\u017ei\u0165 viacdimenzion\u00e1lne modelovanie. <\/p>\n<p>Po\u010das modelovania sa vytv\u00e1raj\u00fa konceptu\u00e1lne (CDM), fyzick\u00e9 (PDM) a logick\u00e9 (LDM) modely d\u00e1t.\u00a0 <\/p>\n<p>Konceptu\u00e1lne modely popisuj\u00fa entity a typy \u00fadajov, ktor\u00e9 zah\u0155\u0148aj\u00fa, ako aj vz\u0165ahy medzi nimi. Rozde\u013ete svoje \u00fadaje na logick\u00e9 \u010dasti \u2014 takto je \u017eivot ove\u013ea jednoduch\u0161\u00ed. <br \/>\n<b>Hlavn\u00e9 je mierne, nepreh\u00e1\u0148ajte to.<\/b><\/p>\n<p>Ak je entita ve\u013emi \u0165a\u017eko klasifikovate\u013en\u00e1 jedn\u00fdm slovom alebo fr\u00e1zou, je \u010das pou\u017ei\u0165 podtypy (podriaden\u00e9 entity). <\/p>\n<p>Ak entity \u017eije vlastn\u00fdm \u017eivotom, m\u00e1 atrib\u00faty, ktor\u00e9 opisuj\u00fa jej spr\u00e1vanie a vzh\u013ead, ako aj vz\u0165ahy s in\u00fdmi objektmi, m\u00f4\u017eete bez v\u00e1hania pou\u017ei\u0165 nielen podtyp, ale aj supertyp (rodi\u010dovsk\u00fa entitu).\u00a0 <\/p>\n<p>Ak na toto pravidlo zabudnete, ostatn\u00ed v\u00fdvoj\u00e1ri sa v va\u0161ej modelovej \u0161trukt\u00fare zamotaj\u00fa a nebud\u00fa \u00faplne rozumie\u0165 \u00fadajom a pravidl\u00e1m, ako ich zhroma\u017e\u010fova\u0165. <\/p>\n<p>Koncep\u010dn\u00e9 modely sa realizuj\u00fa prostredn\u00edctvom logick\u00fdch modelov. Tieto modely funguj\u00fa ako mapa na navrhnutie fyzickej datab\u00e1zy. V logickom modeli s\u00fa identifikovan\u00e9 entity obchodn\u00fdch \u00fadajov, definovan\u00e9 typy \u00fadajov, status k\u013e\u00fa\u010da a pravidl\u00e1, ktor\u00e9 reguluj\u00fa vz\u0165ahy medzi \u00fadajmi. <\/p>\n<p>Potom sa logick\u00fd model \u00fadajov mapuje na vopred vybran\u00fa platformu DBMS (syst\u00e9mu datab\u00e1zov\u00e9ho mana\u017ementu) <a href=\"https:\/\/prohoster.info\/sk\/hosting\/hosting-pgsql\/\"  data-wpil-monitor-id=\"3266\">spr\u00e1vy datab\u00e1z<\/a>) a vytv\u00e1ra sa fyzick\u00fd model. Ten popisuje sp\u00f4sob fyzick\u00e9ho ukladania \u00fadajov. <\/p>\n<h3>4. Pou\u017e\u00edvajte vhodn\u00e9 typy \u00fadajov <\/h3>\n<p>\n<img decoding=\"async\" alt=\"N\u00e1vrh datab\u00e1zy. Najlep\u0161ie praktiky\" src=\"\/wp-content\/uploads\/2019\/10\/04d5a29f902d3eaecea1f1fd2a58cd7b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPou\u017eitie nespr\u00e1vneho typu \u00fadajov m\u00f4\u017ee vies\u0165 k menej presn\u00fdm \u00fadajom, \u0165a\u017ekostiam pri spojovan\u00ed tabuliek, synchroniz\u00e1cii atrib\u00fatov a zv\u00e4\u010d\u0161ovaniu ve\u013ekosti s\u00faborov. <br \/>\nAby ste zabezpe\u010dili integritu inform\u00e1ci\u00ed, atrib\u00fat by mal obsahova\u0165 iba akceptovate\u013en\u00e9 typy \u00fadajov. Ak do datab\u00e1zy vklad\u00e1te vek, uistite sa, \u017ee v st\u013apci s\u00fa ulo\u017een\u00e9 cel\u00e9 \u010d\u00edsla s maxim\u00e1lne 3 \u010d\u00edslicami. <\/p>\n<p>Vytv\u00e1rajte minim\u00e1lne pr\u00e1zdne st\u013apce s hodnotou NULL. Ak vytv\u00e1rate v\u0161etky st\u013apce ako NULL, je to hrub\u00e1 chyba. Ak v\u0161ak potrebujete pr\u00e1zdny st\u013apec na vykonanie konkr\u00e9tnej biznis funkcie, ke\u010f \u00fadaje nie s\u00fa zn\u00e1me alebo e\u0161te nemaj\u00fa zmysel, pokojne ho vytvorte. Predsa nem\u00f4\u017eeme vopred vyplni\u0165 st\u013apce \u201eD\u00e1tum \u00famrtia\u201c alebo \u201eD\u00e1tum ukon\u010denia\u201c, nie sme predpovedatelia, ktor\u00ed by iba tak h\u00e1dali :-).<\/p>\n<p>V\u00e4\u010d\u0161ina softv\u00e9rov na modelovanie (ER\/Studio, MySQL Workbench, SQL DBM, gliffy<code>.<\/code>com) \u00fadajov umo\u017e\u0148uje vytv\u00e1ra\u0165 prototypy oblast\u00ed \u00fadajov. Takto je zaru\u010den\u00fd nielen spr\u00e1vny typ \u00fadajov, logika aplik\u00e1cie a dobr\u00e1 v\u00fdkonnos\u0165, ale aj povinn\u00e9 zadanie hodnoty. <\/p>\n<h3>5. Uprednostnite prirodzen\u00e9<\/h3>\n<p>\n<img decoding=\"async\" alt=\"N\u00e1vrh datab\u00e1zy. Najlep\u0161ie praktiky\" src=\"\/wp-content\/uploads\/2019\/10\/687b40ae40c6710a35650af3d353bb82.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKe\u010f sa rozhodujete, ktor\u00fd st\u013apec v tabu\u013eke zvoli\u0165 ako k\u013e\u00fa\u010d, v\u017edy venujte pozornos\u0165 tomu, ktor\u00e9 polia m\u00f4\u017ee pou\u017e\u00edvate\u013e upravova\u0165. Nikdy ich nevyberajte ako k\u013e\u00fa\u010d \u2014 je to zl\u00fd n\u00e1pad. M\u00f4\u017ee sa sta\u0165 \u010doko\u013evek a vy mus\u00edte zaru\u010di\u0165 jedine\u010dnos\u0165. <\/p>\n<p>Najlep\u0161ie je pou\u017ei\u0165 prirodzen\u00fd alebo obchodn\u00fd k\u013e\u00fa\u010d (natural key). Ten m\u00e1 v\u00fdznamov\u00e9 hodnoty, tak\u017ee sa vyhnete duplicite v datab\u00e1ze.\u00a0 <\/p>\n<p>Ak nie je obchodn\u00fd k\u013e\u00fa\u010d jedine\u010dn\u00fd (meno, priezvisko, poz\u00edcia) a opakuje sa v r\u00f4znych riadkoch tabu\u013eky, alebo ak sa mus\u00ed meni\u0165, potom by ste prim\u00e1rnym k\u013e\u00fa\u010dom mali zvoli\u0165 generovan\u00fd umeleck\u00fd, surrogate key (artificial key). <\/p>\n<h3>6. Normalizujte s mierou<\/h3>\n<p>\n<img decoding=\"async\" alt=\"N\u00e1vrh datab\u00e1zy. Najlep\u0161ie praktiky\" src=\"\/wp-content\/uploads\/2019\/10\/5ee95cb614c0ff051b37c52ade9c0d22.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAby ste efekt\u00edvne usporiadali d\u00e1ta v DB, mus\u00edte dodr\u017eiava\u0165 s\u00fabor odpor\u00fa\u010dan\u00ed a normalizova\u0165 datab\u00e1zu. Existuje p\u00e4\u0165 norm\u00e1lnych foriem, ktor\u00fdm treba dodr\u017eiava\u0165. <br \/>\nS pomocou normaliz\u00e1cie sa vyhnete redundancii a zabezpe\u010d\u00edte integritu \u00fadajov pou\u017e\u00edvan\u00fdch v aplik\u00e1cii alebo na str\u00e1nke. <\/p>\n<p>Ako v\u017edy, v\u0161etk\u00e9ho by malo by\u0165 s mierou, aj normaliz\u00e1cie. Ak je v DB pr\u00edli\u0161 ve\u013ea tabuliek s rovnak\u00fdmi jedine\u010dn\u00fdmi k\u013e\u00fa\u010dmi, prehnali ste to a datab\u00e1zu ste priehliadli. Nadmern\u00e1 normaliz\u00e1cia m\u00e1 negat\u00edvny vplyv na v\u00fdkon datab\u00e1zy. <\/p>\n<h3>7. Testujte sk\u00f4r, testujte \u010dastej\u0161ie <\/h3>\n<p>\n<img decoding=\"async\" alt=\"N\u00e1vrh datab\u00e1zy. Najlep\u0161ie praktiky\" src=\"\/wp-content\/uploads\/2019\/10\/4e67e171d205581a86def5da041974bf.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTestovac\u00ed pl\u00e1n a riadne testovanie by mali by\u0165 s\u00fa\u010das\u0165ou n\u00e1vrhu datab\u00e1zy. <\/p>\n<p>Najlep\u0161ie je testova\u0165 datab\u00e1zu pomocou continuous integration (nepretr\u017eitej integr\u00e1cie). Modelujte scen\u00e1r \"Jeden de\u0148 v \u017eivote datab\u00e1zy\" a kontrolujte, \u010di s\u00fa v\u0161etky okrajov\u00e9 pr\u00edpady spracov\u00e1van\u00e9, ak\u00e9 interakcie pou\u017e\u00edvate\u013eov s\u00fa pravdepodobn\u00e9. \u010c\u00edm sk\u00f4r n\u00e1jdete chyby, t\u00fdm viac u\u0161etr\u00edte \u010dasu aj pe\u0148az\u00ed. <\/p>\n<p>Toto s\u00fa len siedme rady, pomocou ktor\u00fdch m\u00f4\u017eete navrhn\u00fa\u0165 vynikaj\u00facu datab\u00e1zu z poh\u013eadu v\u00fdkonu a efektivity. Ak ich budete dodr\u017eiava\u0165, vyhnete sa v\u00e4\u010d\u0161ine bud\u00facich probl\u00e9mov. Tieto rady s\u00fa len \u0161pi\u010dkou \u013eadovca v modelovan\u00ed datab\u00e1z. Existuje obrovsk\u00e9 mno\u017estvo tipov. Ktor\u00e9 pou\u017e\u00edvate vy?<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/471016\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043e \u043a\u0443\u0440\u0441\u0443 \u00ab\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441 \u0432\u0430\u0436\u043d\u044b\u043c\u0438 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 \u043f\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0411\u0414. \u041d\u0430\u0434\u0435\u0435\u043c\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0434\u043b\u044f \u0432\u0430\u0441. \u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0432\u0441\u044e\u0434\u0443: \u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0445 \u0431\u043b\u043e\u0433\u043e\u0432 \u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439 \u0434\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0445 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439. \u041d\u0435 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0436\u043d\u043e, \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0438\u043b\u0438 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29108,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38806","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043e \u043a\u0443\u0440\u0441\u0443 \u00ab\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441 \u0432\u0430\u0436\u043d\u044b\u043c\u0438 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 \u043f\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0411\u0414.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/proektirovanie-bazy-dannyh-luchshie-praktiki\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0411\u0430\u0437\u044b \u0414\u0430\u043d\u043d\u044b\u0445. \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043e \u043a\u0443\u0440\u0441\u0443 \u00ab\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441 \u0432\u0430\u0436\u043d\u044b\u043c\u0438 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 \u043f\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0411\u0414.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/proektirovanie-bazy-dannyh-luchshie-praktiki\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:26:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-02-14T17:13:54+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Navrhovanie datab\u00e1z. Najlep\u0161ie praktiky | ProHoster","description":"Pred za\u010diatkom \u010fal\u0161ieho cyklu kurzu \u201eDatab\u00e1zy\u201c sme pripravili mal\u00fd autorsk\u00fd materi\u00e1l s d\u00f4le\u017eit\u00fdmi radami na kon\u0161truovanie DB.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/proektirovanie-bazy-dannyh-luchshie-praktiki","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0411\u0430\u0437\u044b \u0414\u0430\u043d\u043d\u044b\u0445. \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 | ProHoster","og:description":"\u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043e \u043a\u0443\u0440\u0441\u0443 \u00ab\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441 \u0432\u0430\u0436\u043d\u044b\u043c\u0438 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 \u043f\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0411\u0414.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/proektirovanie-bazy-dannyh-luchshie-praktiki","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:26:02+00:00","article:modified_time":"2026-02-14T17:13:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38806","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-14 17:14:31","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:03:13","updated":"2026-02-14 17:14:31","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/38806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=38806"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/38806\/revisions"}],"predecessor-version":[{"id":161083,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/38806\/revisions\/161083"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/29108"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=38806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=38806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=38806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}