Dizajn databázy: kroky a základy

Obsah:

Dizajn databázy: kroky a základy
Dizajn databázy: kroky a základy
Anonim

Návrh databázy je sekvenčný proces prispôsobovania dostupných znalostí a nástrojov na reprezentáciu a spracovanie informácií.

Reálny rozsah, konkrétna úloha, popis toku prichádzajúcich informácií a všeobecné predstavy o procese spracovania informácií sa postupne pridávajú k určitej koncepčnej predstave o tom, čo je databáza v konkrétnom prípade a akým spôsobom pracovať s ním.

Moderná databáza

Vzťahové vzťahy sú jadrom každého informačného modelu. Riešenia od Oracle sú v podstate ekvivalentné MySQL, no v mnohých aspektoch sa zásadne líšia. Návrh databázy je tiež otázkou bezpečnosti, objemu informácií a zodpovednosti za integritu údajov, ale tie sú sekundárne v porovnaní s otázkou navrhovania efektívnej, spoľahlivej a užívateľsky prívetivej databázy.

kroky návrhu databázy
kroky návrhu databázy

Excelové tabuľky sa nelíšia od Oracle a MySQL v kontexte pravouhlých (relačných) štruktúr: stĺpce a riadky=jedna bunka na priesečníku názvu stĺpca (pola) a indexu výberu (riadok). Ak neberiete do úvahy mieru a množstvo ručnej práce, potom vďaka vyvinutým prostriedkom vertikálneho a horizontálneho kombinovania buniek je Excel dokonca pred Oracle!

Excel podľa svojej základnej myšlienky nikdy „nesvieti“dynamikou, funkčnosťou Oracle a nedokáže niečo preniesť z jedného listu na druhý „podľa zvyškov“. Tu je spoločnosť Oracle sľubnejšia, ale jej úvahy o otázkach migrácie veľkého množstva informácií a kombinovania formalizovaných pozícií z rôznych zdrojov zostávajú veľmi neuspokojivé. Tu je MySQL sľubnejšie: nestanovuje si globálne úlohy, ale robí svoju prácu perfektne.

Vzťahové vzťahy sú pohodlné, praktické a dobre zavedené nástroje, od súkromných riešení na úrovni Excelu až po globálne objemy Oracle, používajú sa všade, kde je dopyt, a majú zaručenú budúcnosť.

Moderná databáza sú tabuľky, riadky, stĺpce a indexy obklopené plnou funkčnosťou, vyvinutými dodatočnými nástrojmi, ktoré berú do úvahy viaceré operácie, veľké zaťaženie a obrovské objemy.

Znalosti a skúsenosti s modernými systémami správy databáz (DBMS) zohľadňujú nielen otázky spoľahlivosti, spoľahlivosti dát, regulácie prístupu a bezpečnosti, ale umožňujú aj sledovanie negatívnych vonkajších vplyvov, analýzu možných útokova pokúša sa úmyselne ublížiť.

Moderná databáza je spoľahlivým základom pre akýkoľvek webový zdroj a lokálnu aplikáciu, schopnosť migrovať informácie, transformovať a prenášať dáta, prelínať sa a kombinovať rôzne pohľady.

Jediná základná podmienka: vysokokvalifikovaný vývojár. Na vykonanie efektívneho návrhu relačných databáz je k dispozícii špecialista a častejšie tím špecialistov a expertov v oblasti aplikácie riešeného problému.

Rozsah, možné riešenie a prekážky

Informácie kolujú všade. Mnoho projektov je priamo pripojených k internetu, ale faktor formálnej reprezentácie údajov tu nie je o nič lepší ako faktor neistoty pri vytváraní webového zdroja pre oceliareň.

Rozvoj a masívny záujem o internetové obchody neposkytuje dôvod a príležitosti na prenos skúseností z vytvárania jedného obchodu na vytváranie druhého. Faktor obchodného tajomstva vytvára veľa prekážok prenosu znalostí, hoci v skutočnosti by ste mali oddeliť skutočný obchod od softvérových nástrojov vytvorených pre tento obchod.

návrh relačnej databázy
návrh relačnej databázy

Samozrejme, zákazník zaplatil a kód stránky je jeho vlastníctvom. Charakteristickým znakom modernity: prenos vedomostí a vývoja medzi úlohami rovnakého typu a súvisiacimi oblasťami použitia je nemožný a to je problém.

Parsing je široká škála aplikácií pre systémy správy databáz. V prvom rade je to skenovanie informácií z internetu. Rovnako dôležité je porovnávať informácie zhromaždené vdatabázy a požiadavky návštevníkov webu.

Analýza kľúčových slov zahŕňa aj potrebu vytvoriť optimálne riešenie, ale návrh databázy v Accesse môže byť sľubnejší ako na MS SQL Server alebo Oracle.

Zoznam zdrojov informácií môže byť dynamický. Dynamika môže byť súčasťou zdrojových databázových tabuliek, názvov polí tabuliek a pravidiel volania (dotazu). Navrhovanie relačných databáz z viacerých zdrojov vás jednoznačne núti navrhovať zo zdrojových údajov a nie z optimálnej organizácie zhromaždených informácií.

Sú dve veci, ktoré sú neoddeliteľnou súčasťou každej databázy:

  • orientácia na obsah, prioritný algoritmus generovania dynamickej databázy;
  • orientácia na použitie, dôležitejšia je štruktúra databázy a na nej je založený algoritmus na používanie informácií.

V každej oblasti použitia existuje formálny model toku prichádzajúcich informácií, model ukladania informácií - skutočný návrh databázy a model (algoritmus) na používanie údajov.

Rôzne postupy a kroky návrhu

Základy návrhu databázy zvyčajne spadajú do troch etáp. Rôzni špecialisti označujú fázy práce rôznymi spôsobmi, ale v skutočnosti existujú tri pozície:

  • koncepčné plánovanie;
  • logický dizajn;
  • technické prevedenie.

Cvičenie prispieva k zavedeným tradíciám. Bez ohľadu na to, aký zložitý je rozsah a problém, ktorý sa rieši. Vždy je potrebné vybrať si ten správnynástrojov. Napríklad potrebujete zbierať informácie od návštevníkov webového zdroja, ale musíte ich porovnať s údajmi z MS SQL Server. Webový zdroj je hosťovaný na FreeBSD (internet, server Apache) a MS SQL Server v inom meste je dostupný prostredníctvom distribuovanej siete spoločnosti.

základy návrhu databázy
základy návrhu databázy

V tomto riešení musíte najskôr vyriešiť konkrétny problém: nadviazať výmenu údajov s interným serverom.

Technická realizácia bežnej úlohy bude mať nevyhnutne vplyv na počiatočnú fázu: je zriedkavé, že návrh databázy je možné urobiť od začiatku. Dokonca aj s osvedčenou technológiou riešenia problémov sa rozsah vyvíja, vždy je potrebné urobiť niečo inak, ako bolo pôvodne zamýšľané.

V poslednom čase mnohí teoretici a praktici pracujú s entitami ako so špeciálnymi údajmi. Ide o abstrakcie, ktoré vám umožňujú popísať model informácie na vstupe, počas spracovania a v konečnom výsledku – databázu.

Zobrazenia údajov a entít

Dizajn DB prostredníctvom abstrakcií a entít: schopnosť vytvárať informačný obraz, definovať dátové typy a vzťahy medzi nimi.

Väčšinou takýto návrh databázového modelu končí grafickým modelom pomocou MS Visio alebo vizuálnych nástrojov zvoleného DBMS. Access má svoj vlastný spôsob vytvárania informačného obrazu, MySQL má svoj vlastný a niektoré systémy na správu obsahu databázu úplne skryjú a vnucujú vývojárovi dátový model prostredníctvom svojich vlastných entít -objekty riešenej úlohy.

Charakteristickou črtou mnohých redakčných systémov (CMS) je, že vytvárajú „aplikáciu“o úroveň väčšej abstrakcie pri popise informačnej oblasti riešeného problému. Skutočná databáza je skrytá, CMS ponúka vývojárovi jeho vlastnú predstavu o informačnom obraze sveta.

V dôsledku toho sú fázy návrhu databázy zredukované na dodržanie základných požiadaviek a vykonanie krokov navrhnutých tvorcami konkrétneho CMS. Využiť nápady databáz a ich dizajn od Symfony alebo Bitrix, Zend alebo Yii nie je nič hanebné, no pre vývojára je to „záťaž“.

V ideálnom prípade by sa nástroje na návrh databázy mali vyberať a používať individuálne, bez vonkajšieho názoru, ale s využitím skúseností a znalostí.

návrh informačnej databázy
návrh informačnej databázy

Ideálne pre vývojárov, ktorí majú certifikáciu od spoločnosti Oracle, ale úplne prijateľné, ak kvalifikácia vývojára zahŕňa náhľad do informačných nápadov spoločnosti Oracle a pracovné znalosti aplikácií MySQL.

Pri komplexných projektoch a distribuovanom spracovaní informácií je dôležitá nielen databáza, ale aj zdroje informácií, predstavy o potrebách spotrebiteľov.

Fázy alebo tím: rovnováha priorít

Požiadavka konzistentnosti je nanajvýš dôležitá. Základy návrhu databázy zahŕňajú aj fázovanie práce, sledovanie priebežných výsledkov, prehodnocovanie každej dokončenej etapy na základe vykonania nasledujúceho typu práce:

  • systematic;
  • phasing;
  • spätná väzba od akéhokoľvek bodu v čase až po úplne počiatočnú pozíciu.

Tieto ustanovenia sú abstraktné, ale sú prítomné v akejkoľvek teoretickej a praktickej technológii na vytvorenie efektívnej databázy.

Žiadna technológia sa nevyvíja sama od seba, riadia ju ľudia. Podstatná je kvalifikácia vývojového tímu. Databázový informačný model nie je len rámec, ale aj informačné toky.

Čo je dôležitejšie: krásna grafika v znázornení štruktúry databázy alebo presný popis informačných tokov v dynamike - vec nielen úlohy a rozsahu, ale aj názoru vývojového tímu v dynamike.

návrh štruktúry databázy
návrh štruktúry databázy

Personál je všetko, ale v kontexte: koncepčný návrh databázy je kvalifikáciou všetkého. Všetci ľudia sú jedineční a v oblasti informačných systémov existujú a vyvíjajú sa reprezentácie konkrétnych ľudí.

Je dôležité vybudovať tím vývojárov, nie nejaké mýtické kroky pri návrhu databázy, ktoré navrhol autoritatívny odborník. Autorita tohto špecialistu sa formovala na základe konkrétnych prác, v konkrétnom čase. Prácu treba urobiť už dnes, nová úloha, moderné vybavenie, nové technológie, …

Možnosť spätného chodu. Existuje Excel a Access a "hojné" údaje v týchto formátoch z dávnych čias, keď bol Windows for Workgoups ešte živý a zdravý. Čiastočne zostali údaje dBase a Quattro. Dnes sú už tieto slová zabudnuté, ale informáciezostal, je žiadaný a je potrebné ho získať a vytvoriť nové nápady.

Staré a nové: rovnováha vedomostí

Cloudová technológia nie je ako databázy, ktoré urobil Ashton-Tate. To, čo Oracle kedysi kúpil, nie je v žiadnom prípade porovnateľné s tým, čo robí dnes. Ale premenné, algoritmy, funkcie, slučky a podmienky zostali v programovaní už od začiatku 80. rokov. Pokiaľ koncept postupu neupadne do zabudnutia a všetko zostane tak, ako to bolo v dávnych dobách.

Dokonca aj moderné myšlienky objektovo orientovaného programovania sú odeté do klasických syntaktických a sémantických „okov“minulého storočia.

Čo robiť – programovanie je zotrvačné a formalizácia informácií a návrh informačných databáz je viac procesom ako výsledkom. Inscenovaná práca je predpokladom dosahovania výsledkov. Ale kto spočítal počet iterácií od medzistupňov takmer po začiatok práce?

Informácie sú vždy dynamické, nič sa nezastaví: najmä predmetná oblasť úlohy a požiadavky používateľov. Každá dokončená fáza práce vám umožňuje na novej úrovni zhodnotiť, čo sa už urobilo a čo ešte treba urobiť.

logický návrh databázy
logický návrh databázy

Zvažovať návrh štruktúry databázy ako úlohu a získať konečný výsledok je márne. Hneď po uvedení databázy do prevádzky sa určite objaví nový nápad, aj keď nástrojom na vytvorenie databázy bol „jednoduchý“Excel, a nie fantasticky výkonný a všestranný produkt od Oracle,manipulácia s miliónmi transakcií, stovkami tisíc súbežných používateľov a terabajtmi informácií.

Prioritou nie je štruktúra databázy, ale vytvorenie kvalifikovaného tímu špecialistov plus povinná požiadavka na väčšiu dynamiku výsledku, aby po dokončení práce nebolo potrebné kontaktovať vývojárom, aspoň pár mesiacov.

Sekvenčný vývoj a/alebo skoky do výšky

Windows nie je databáza, ale má relikviu – register. Súbor hostiteľov je jednoducho identifikáciou IP adries a symbolických mien miestneho počítača. Ale prostredníctvom tohto súboru sa vytvárajú informačné toky z rôznych domén alebo do rôznych DBMS.

Mnohostranný systém Windows je možné chápať ako fungujúci počítač alebo server, ale nebude to fungovať žiadnym spôsobom na ospravedlnenie logiky verzií tohto produktu. PHP tiež nie je databáza, ale argumenty vývojárov, prečo verzia 5 bezprostredne nasleduje po verzii 7, sú rozporuplné. PHP je prístupový nástroj MySQL, jeho syntax definuje, ako vytvárať dopyty a získavať odpovede z databázy pomocou dialektu SQL.

Príklady nekompatibility medzi modernými programovacími nástrojmi a databázovou podporou sa v posledných rokoch stali normou, no nie sú najoriginálnejšie. Čo sa bude skrývať za verziou Windows 10? Aké sú vyhliadky na Oracle Database 12c?

Informácie vývojára-autora: Oracle Database 11g Express Edition (Oracle Database XE) je základná DBMS založená na DBMS kóde Oracle Database 11g Release 2. Tento DBMS je na vývoj bezplatný,nasadenie a predaj, rýchle sťahovanie a jednoduchá správa.“

Pohľad používateľského vývojára: „V roku 2013 vydala spoločnosť Oracle Oracle Database 12c (verziu 12.1.0.1) s kľúčovými výhodami nižších nákladov na úložisko, vysokej dostupnosti údajov, jednoduchej konsolidácie databáz a ochrany prístupu k údajom „“.

Skutočná prax: Objektívny, efektívny a efektívny návrh logickej databázy je dostupný iba tímu kvalifikovaných vývojárov. Získanie pracovného výsledku nie je ťažké, je ťažké formalizovať prichádzajúce informačné toky a určiť optimálny základ.

Do sveta hladkých tvarov z presných obdĺžnikov

S príchodom objektovo orientovaného programovania nabrala serializácia údajov nový nádych. Naozaj, všetko naokolo sú len čiary, najlepšie neurčitej dĺžky. Čísla a dátumy sú tiež reťazce znakov.

Sila a objektivita vzťahových vzťahov je nepopierateľná, ale poškodzuje dynamika stĺpcov a riadkov ich reputáciu? Tabuľka sú jednoducho údaje, ktoré môžu mať hlavičku (zoznam stĺpcov) alebo žiadne riadky. Nech je tabuľka len zbierkou údajov, nie nevyhnutne pomenovaných.

Súbor údajov môže byť heterogénny a môžete v ňom nájsť údaje rôznej štruktúry. Homogenita údajov v zásade naznačuje vývoj rozsahu. Distribúcia údajov podľa typov a druhov je znakom systematického a objektívneho prístupu, ale stále je vhodné pripustiť možnosť dynamiky štruktúry.

Ak je výstupnavrhovanie a vytváranie databázy nad rámec pevných štruktúr a za predpokladu, že tabuľka je kolekcia riadkov, ktoré nemusia byť nevyhnutne rovnakého typu a navzájom si podobné v sémantike, potom sa návrh databázy dramaticky zmení.

Predmetom práce nebude popis štruktúry databázy, ale dynamika pohybu informácií. Etapy prác budú rozdelené do troch ťažísk:

  • tok vstupných informácií;
  • transformácia a pohyb informácií v rámci databázy;
  • vyberte údaje na použitie.

Neexistuje žiadna koncepcia štruktúry tabuľky. Neexistujú žiadne riadky ani stĺpce. Existuje abstrakcia - daná, určitej štruktúry, ktorá spĺňa konkrétny bod v algoritme. Presnejšie povedané, funkcia spracovania informácií vyžaduje určité informácie v určitom množstve.

Povinná požiadavka rekurzívnosti všetkých funkcií spracovania informácií a zameranie sa na funkcie, nie na dáta, vám umožňuje navrhnúť databázu v dynamike nahromadených informácií a prichádzajúcich dátových tokov, ktoré sa používajú z iniciatívy používateľa, proces alebo iná funkcia.

V skutočnosti: prišiel signál na použitie, bola prijatá žiadosť o načítanie, spustil sa spúšťač v aplikácii a prichádzajúce informácie prostredníctvom toho, čo tam už bolo, poskytli požadované riešenie.

Základné znalosti a pevné konštrukcie

Vedomosti sú výsadou človeka, programy sú záťažou počítačov. Vývojár môže voľne aplikovať znalosti, ako uzná za vhodné v konkrétnej situácii. Bežný človek používa množstvo databáz bez toho, aby im pripisoval dôležitosť. akodatabázy sú usporiadané v hlave bežného človeka, nikto nevie, ale každý vie, ako podniká, kam si zapisuje, čo nájde a kedy to potrebuje použiť.

Výsledok práce programátora – na úrovni programu v „Basic“, ktorý získava údaje z webovej stránky internetového obchodu cez ODBC, je ekvivalentom vývojára Oracle, ktorý požiada o načítanie údajov z leteckého a vesmírneho salónu MAKS. Oba výsledky „zamrznú“v statickom stave od okamihu dokončenia práce. Toto nie sú aktívne znalosti, ktoré človek používa, toto je tajomstvo vytvorenia systému návrhu databázy.

Algoritmus nemožno opraviť. Všetko musí byť definované dynamicky. Prednosti kvalifikovaných vývojárov sú nepopierateľné, ale vôbec nespočívajú v elegantných formách riešení od Oracle, MySQL, či Access, ktorý je limitovaný svojimi možnosťami. Iná tabuľka Excel môže poskytnúť dynamický obsah a nevyžaduje účasť programátora počas viac či menej slušného času po dokončení práce.

Otázkou je, ako dobre je formalizovaná dynamika aplikačnej oblasti, nie štruktúra databázy.

Live Solutions

Je nemožné naplánovať prácu tak, aby sa tím profesionálnych vývojárov spojil s určitou úlohou. Nie že by sa tým urazil, ale toto nie je správny prístup.

Živé riešenia
Živé riešenia

Úloha návrhu databázy by mala byť formulovaná tak, aby sa vyvíjaná funkcionalita sama zlepšovala, hromadila poznatky a pri plnení svojich „povinností“nezačínala od kódu,vytvorené odborníkmi, ale zo znalostí získaných prostredníctvom tohto kódu.

Odporúča: