Návrh databáze: kroky a základy

Obsah:

Návrh databáze: kroky a základy
Návrh databáze: kroky a základy
Anonim

Návrh databáze je sekvenční proces přizpůsobování dostupných znalostí a nástrojů k reprezentaci a zpracování informací.

Reálný rozsah, konkrétní úkol, popis toku příchozích informací a obecné představy o procesu zpracování informací se postupně přidávají k určité koncepční představě o tom, co je databáze v konkrétním případě a jak pracovat s tím.

Moderní databáze

Vztahové vztahy jsou jádrem každého informačního modelu. Řešení od Oracle jsou v podstatě ekvivalentní MySQL, ale v mnoha ohledech se zásadně liší. Návrh databáze je také otázkou bezpečnosti, objemu informací a odpovědnosti za integritu dat, ale ty jsou sekundární k otázce návrhu efektivní, spolehlivé a uživatelsky přívětivé databáze.

kroky návrhu databáze
kroky návrhu databáze

Tabulky Excelu se neliší od Oracle a MySQL v kontextu pravoúhlých (relačních) struktur: sloupce a řádky=jedna buňka na průsečíku názvu sloupce (pole) a indexu výběru (řádku). Pokud neberete v úvahu míru a množství ruční práce, pak je Excel díky vyvinutým prostředkům pro vertikální a horizontální kombinování buněk dokonce před Oracle!

Excel podle své základní myšlenky nikdy „nezáří“dynamikou, funkčností Oracle a nedokáže něco přenést z jednoho listu na druhý „podle zbytků“. Zde je Oracle slibnější, ale jeho úvahy o otázkách migrace velkého množství informací a kombinování formalizovaných pozic z různých zdrojů nejsou příliš žádoucí. Zde je MySQL slibnější: nestanovuje si globální úkoly, ale svou práci plní perfektně.

Vztahové vztahy jsou pohodlné, praktické a dobře zavedené nástroje, od soukromých řešení na úrovni Excelu po globální objemy Oracle, jsou používány všude, kde je poptávka, a mají zaručenou budoucnost jako práci.

Moderní databáze jsou tabulky, řádky, sloupce a indexy obklopené plnou funkčností, vyvinutými dodatečnými nástroji, které berou v úvahu více operací, velké zatížení a obrovské objemy.

Znalosti a zkušenosti s moderními systémy pro správu databází (DBMS) zohledňují nejen otázky spolehlivosti, spolehlivosti dat, regulace přístupu a bezpečnosti, ale umožňují také sledovat negativní vnější vlivy, analyzovat možné útokya pokusí se úmyslně ublížit.

Moderní databáze je spolehlivým základem pro jakýkoli webový zdroj a místní aplikaci, schopnost migrovat informace, transformovat a přenášet data, protínat a kombinovat různé pohledy.

Jediná základní podmínka: vysoce kvalifikovaný vývojář. K provedení efektivního návrhu relačních databází je k dispozici specialistovi a častěji týmu specialistů a expertů v oblasti aplikace řešeného problému.

Rozsah, možné řešení a překážky

Informace kolují všude. Mnoho projektů je přímo připojeno k internetu, ale faktor formální reprezentace dat zde není o nic lepší než faktor nejistoty při vytváření webového zdroje pro ocelárnu.

Rozvoj a masivní zájem o internetové obchody neposkytuje důvody a příležitosti pro přenos zkušeností z vytváření jednoho obchodu do vytváření jiného. Faktor obchodního tajemství vytváří mnoho překážek přenosu znalostí, ačkoli ve skutečnosti byste měli oddělit skutečný obchod od softwarových nástrojů vytvořených pro tento obchod.

návrh relační databáze
návrh relační databáze

Samozřejmě, zákazník zaplatil a kód webu je jeho vlastnictvím. Charakteristický rys modernity: přenos znalostí a vývoje mezi úkoly stejného typu a souvisejícími oblastmi použití je nemožný a to je problém.

Parsing je široká škála aplikací pro systémy správy databází. V první řadě je to skenování informací z internetu. Stejně důležité je porovnávat informace nashromážděné vdatabáze a požadavky návštěvníků webu.

Analýza klíčových slov také zahrnuje potřebu vytvořit optimální řešení, ale návrh databáze v Accessu může být slibnější než na MS SQL Server nebo Oracle.

Seznam zdrojů informací může být dynamický. Dynamika může být součástí zdrojových databázových tabulek, názvů polí tabulek a pravidel volání (dotazu). Navrhování relačních databází z více zdrojů vás jasně nutí navrhovat ze zdrojových dat, a nikoli z optimální organizace shromážděných informací.

Každá databáze neodmyslitelně patří dvě věci:

  • orientace na obsah, prioritní algoritmus generování dynamické databáze;
  • orientace k použití, důležitější je struktura databáze a na ní je založen algoritmus pro použití informací.

V jakékoli oblasti použití existuje formální model toku příchozích informací, model ukládání informací - vlastní návrh databáze a model (algoritmus) pro použití dat.

Různé postupy a kroky návrhu

Základy návrhu databáze obvykle spadají do tří fází. Různí specialisté odkazují na jednotlivé fáze práce různými způsoby, ale ve skutečnosti existují tři pozice:

  • koncepční plánování;
  • logický design;
  • technické provedení.

Cvičení přispívá k zavedeným tradicím. Bez ohledu na to, jak složitý je rozsah a řešený problém. Vždy je potřeba vybrat ten správnýnástroje. Například potřebujete sbírat informace od návštěvníků webového zdroje, ale musíte je porovnat s daty z MS SQL Server. Webový zdroj je hostován na FreeBSD (internet, server Apache) a MS SQL Server v jiném městě je dostupný prostřednictvím distribuované sítě společnosti.

základy návrhu databáze
základy návrhu databáze

V tomto řešení musíte nejprve vyřešit konkrétní problém: navázat výměnu dat s interním serverem.

Technické provedení běžného úkolu bude mít nutně dopad na počáteční fázi: jen zřídka lze navrhnout databázi od začátku. I s osvědčenou technologií řešení problémů se rozsah vyvíjí, vždy je potřeba udělat něco jinak, než bylo původně zamýšleno.

V poslední době mnoho teoretiků a praktiků pracuje s entitami jako se speciálními daty. Jedná se o abstrakce, které umožňují popsat model informace na vstupu, během zpracování a v konečném výsledku - databázi.

Zobrazení dat a entit

DB design prostřednictvím abstrakcí a entit: schopnost vytvořit informační obrázek, definovat datové typy a vztahy mezi nimi.

Tento návrh databázového modelu obvykle končí grafickým modelem pomocí MS Visio nebo vizuálních nástrojů zvoleného DBMS. Access má svůj vlastní způsob vytváření informačního obrazu, MySQL má svůj vlastní a některé systémy pro správu obsahu skrývají databázi úplně a vnucují vývojáři datový model prostřednictvím svých vlastních entit -objekty řešeného úkolu.

Charakteristickým rysem mnoha systémů pro správu obsahu (CMS) je, že vytvářejí „aplikaci“o úroveň větší abstrakce při popisu informační oblasti řešeného problému. Skutečná databáze je skrytá, CMS nabízí vývojáři jeho vlastní představu o informačním obrazu světa.

V důsledku toho jsou fáze návrhu databáze redukovány na dodržování základních požadavků a provádění kroků navržených tvůrci konkrétního CMS. Není nic ostudného na využití nápadů databází a jejich designu od Symfony nebo Bitrixu, Zenda nebo Yii, ale pro vývojáře je to „zátěž“.

V ideálním případě by nástroje pro návrh databází měly být vybírány a používány individuálně, bez vnějšího názoru, ale s využitím zkušeností a znalostí.

návrh informační databáze
návrh informační databáze

Ideální pro vývojáře, kteří mají certifikaci od společnosti Oracle, ale naprosto přijatelné, aby kvalifikace vývojáře zahrnovala vhled do informačních nápadů společnosti Oracle a pracovní znalost aplikací MySQL.

V komplexních projektech a distribuovaném zpracování informací je důležitá nejen databáze, ale také zdroje informací, představy o potřebách spotřebitelů.

Fáze nebo tým: rovnováha priorit

Požadavek důslednosti je nanejvýš důležitý. Základy návrhu databáze také zahrnují fázování práce, sledování průběžných výsledků, přehodnocení každé dokončené fáze na základě provedení následujícího typu práce:

  • systematic;
  • phasing;
  • zpětná vazba od libovolného bodu v čase až do úplné výchozí pozice.

Tato ustanovení jsou abstraktní, ale jsou přítomna v jakékoli teoretické a praktické technologii pro vytváření efektivní databáze.

Žádná technologie se nevyvíjí sama, řídí ji lidé. Kvalifikace vývojového týmu je zásadní. Databázový informační model není jen rámec, ale také informační toky.

Co je důležitější: krásná grafika v reprezentaci struktury databáze nebo přesný popis informačních toků v dynamice - věc nejen úkolu a rozsahu, ale také názoru vývojového týmu v dynamice.

návrh struktury databáze
návrh struktury databáze

Personál je všechno, ale v kontextu: koncepční návrh databáze je kvalifikací všeho. Všichni lidé jsou jedineční a v oblasti informačních systémů existují a vyvíjejí se reprezentace konkrétních lidí.

Důležité je vybudovat tým vývojářů, ne nějaké mytické kroky návrhu databáze navržené autoritativním odborníkem. Autorita tohoto specialisty se utvářela na základě konkrétních prací, v konkrétním čase. Práce je třeba udělat dnes, nový úkol, moderní vybavení, čerstvá technologie, …

Možné obrácení. V těchto formátech existuje Excel a Access a „hojná“data v těchto formátech z dávných dob, kdy Windows for Workgoups byl ještě živý a zdravý. Částečně zůstala data dBase a Quattro. Dnes jsou tato slova již zapomenuta, ale informacezůstala, je poptávaná a je třeba ji extrahovat a vytvořit nové nápady.

Staré a nové: rovnováha znalostí

Cloudová technologie není jako databáze, které dělal Ashton-Tate. To, co Oracle kdysi koupil, není v žádném případě srovnatelné s tím, co dělá dnes. Ale proměnné, algoritmy, funkce, smyčky a podmínky zůstaly v programování již od počátku 80. let. Pokud koncept procedury neupadne v zapomnění a vše zůstane tak, jak to bylo v dávných dobách.

Dokonce i moderní myšlenky objektově orientovaného programování jsou oděny do klasických syntaktických a sémantických „okovů“minulého století.

Co dělat – programování je inerciální a formalizace informací a návrh informačních databází je spíše proces než výsledek. Inscenovaná práce je předpokladem pro dosažení výsledků. Ale kdo počítal počet iterací od mezistupňů téměř do začátku práce?

Informace jsou vždy dynamické, nic se nezastaví: zejména předmět úkolu a požadavky uživatelů. Každá dokončená fáze práce vám umožňuje na nové úrovni vyhodnotit, co již bylo uděláno a co zbývá udělat.

logický návrh databáze
logický návrh databáze

Zvažovat návrh struktury databáze jako úkol a získat konečný výsledek je marné. Jakmile bude databáze zprovozněna, jistě se objeví nový nápad, i když nástrojem pro vytvoření databáze byl „jednoduchý“Excel, a nikoli fantasticky výkonný a všestranný produkt od Oracle,manipulace s miliony transakcí, stovkami tisíc souběžných uživatelů a terabajty informací.

Prioritou není struktura databáze, ale sestavení kvalifikovaného týmu specialistů plus povinný požadavek na větší dynamiku výsledku, aby po dokončení práce nebylo nutné kontaktovat vývojářům, alespoň pár měsíců.

Postupný vývoj a/nebo skoky do výšky

Windows není databáze, ale má relikvii – registr. Soubor hostitelů je jednoduše identifikací IP adres a symbolických jmen místního počítače. Ale prostřednictvím tohoto souboru se tvoří informační toky z různých domén nebo do různých DBMS.

Mnohostranný systém Windows je možné chápat jako fungující počítač nebo server, ale nebude fungovat žádným způsobem, aby ospravedlnil logiku verzí tohoto produktu. PHP také není databáze, ale argumenty vývojářů, proč verze 5 bezprostředně následuje po verzi 7, jsou rozporuplné. PHP je přístupový nástroj MySQL, jeho syntaxe definuje, jak vytvářet dotazy a získávat odpovědi z databáze pomocí dialektu SQL.

Příklady nekompatibility mezi moderními programovacími nástroji a databázovou podporou se v posledních letech staly normou, ale nejsou nejoriginálnější. Co bude za verzí Windows 10? Jaké jsou vyhlídky pro Oracle Database 12c?

Informace vývojáře-autora: Oracle Database 11g Express Edition (Oracle Database XE) je základní systém DBMS založený na kódu DBMS Oracle Database 11g Release 2. Tento DBMS je zdarma pro vývoj,nasazení a prodej, rychlé stahování a snadná správa.“

Pohled uživatelského vývojáře: „V roce 2013 vydal Oracle Oracle Database 12c (verze 12.1.0.1) s hlavními výhodami nižších nákladů na úložiště, vysoké dostupnosti dat, snadné konsolidace databází a ochrany přístupu k datům „“.

Skutečná praxe: Objektivní, efektivní a efektivní návrh logické databáze je k dispozici pouze týmu kvalifikovaných vývojářů. Získat pracovní výsledek není obtížné, je obtížné formalizovat příchozí informační toky a určit optimální základ.

Do světa hladkých tvarů z přesných obdélníků

S příchodem objektově orientovaného programování nabrala serializace dat nový život. Opravdu, všechno kolem jsou jen čáry, nejlépe neurčité délky. Čísla a data jsou také řetězce znaků.

Síla a objektivita vztahových vztahů je nepopiratelná, ale poškozuje dynamika sloupců a řádků jejich pověst? Tabulka jsou jednoduše data, která mohou mít záhlaví (seznam sloupců) nebo žádné řádky. Nechť je tabulka pouze souborem dat, nemusí být nutně pojmenována.

Sada dat může být heterogenní a můžete v ní najít data různé struktury. Homogenita údajů v zásadě naznačuje vývoj rozsahu. Distribuce dat podle typů a druhů je známkou systematického a objektivního přístupu, přesto je vhodné připustit možnost dynamiky struktury.

Pokud je výstupnavrhování a vytváření databáze za přísnými strukturami a za předpokladu, že tabulka je sbírka řádků, které nemusí být nutně stejného typu a navzájem si podobné v sémantice, pak se návrh databáze dramaticky změní.

Předmětem práce nebude popis struktury databáze, ale dynamika pohybu informací. Fáze práce budou rozděleny do tří těžišť:

  • tok vstupních informací;
  • transformace a pohyb informací v rámci databáze;
  • vyberte data k použití.

Neexistuje žádná koncepce struktury tabulky. Nejsou zde žádné řádky ani sloupce. Existuje abstrakce - daná, určité struktury, která splňuje konkrétní bod v algoritmu. Přesněji řečeno, funkce zpracování informací vyžaduje určité informace v určitém množství.

Povinný požadavek rekurzivity všech funkcí zpracování informací a zaměření na funkce, nikoli data, umožňuje navrhnout databázi v dynamice nashromážděných informací a příchozích datových toků, které se používají z iniciativy uživatele, proces nebo jiná funkce.

Ve skutečnosti: přišel signál použití, byl přijat požadavek na načtení, spustil se spouštěč v aplikaci a příchozí informace prostřednictvím toho, co tam již bylo, poskytly požadované řešení.

Základní znalosti a tuhé konstrukce

Znalosti jsou výsadou člověka, programy jsou zátěží počítačů. Vývojář může volně aplikovat znalosti, jak uzná za vhodné v konkrétní situaci. Běžný člověk používá spoustu databází, aniž by tomu přikládal důležitost. jakdatabáze jsou organizovány v hlavě běžného člověka, nikdo neví, ale každý ví, jak podniká, kam si zapisuje, co najde a kdy to potřebuje použít.

Výsledek práce programátora – na úrovni programu v „Basic“, který načítá data z webu internetového obchodu přes ODBC, je ekvivalentní vývojáři Oracle, který žádá o načtení dat z leteckého a kosmického salonu MAKS. Oba výsledky „zamrznou“ve statickém stavu od okamžiku dokončení práce. Toto není aktivní znalost, kterou člověk používá, to je tajemství vytvoření systému návrhu databáze.

Algoritmus nelze opravit. Vše musí být definováno dynamicky. Přednosti kvalifikovaných vývojářů jsou nepopiratelné, ale vůbec nespočívají v elegantních formách řešení od Oracle, MySQL nebo Access, který je omezený svými možnostmi. Jiná excelová tabulka může poskytovat dynamický obsah a nevyžaduje účast programátora po více či méně slušnou dobu po dokončení práce.

Otázkou je, jak dobře je formalizována dynamika aplikační oblasti, nikoli struktura databáze.

Živá řešení

Není možné naplánovat práci tak, abyste k úkolu připoutali tým profesionálních vývojářů. Ne že by se tým urazil, ale tohle není správný přístup.

Živá řešení
Živá řešení

Úkol návrhu databáze by měl být formulován tak, aby se vyvíjená funkcionalita sama zlepšovala, shromažďovala znalosti a při plnění svých „povinností“nevycházela z kódu,vytvořené odborníky, ale ze znalostí získaných prostřednictvím tohoto kódu.

Doporučuje: