Obecná charakteristika databází. Charakteristika databáze

Každý majitel webu ví, že ke správnému fungování webu potřebujete nejen soubory s kódem stránky, ale také databáze. K interakci s databázemi se používají systémy pro správu databází (DBMS). V tomto článku chci mluvit o databázích a DBMS, jaké typy existují a jak se od sebe liší.

Databáze

Databáze je specifický soubor dat, která jsou zpravidla spojena jednotícím prvkem nebo vlastností (nebo několika). Tato data jsou uspořádána například abecedně. Velké množství různých dat, která lze umístit do jedné databáze, vede k mnoha variacím v tom, co lze zaznamenat: osobní údaje uživatele, záznamy, data, objednávky a tak dále. Pokud máte například internetový obchod, může databáze vašich webových stránek obsahovat ceníky, katalog zboží nebo služeb, přehledy, statistiky a informace o zákaznících.

Za prvé je to výhodné, protože informace lze rychle vložit do databáze a stejně rychle je v případě potřeby získat. Jestliže na úsvitu vývoje webového vývoje musela být všechna potřebná data zapsána do kódu stránky, nyní taková potřeba není - potřebné informace lze vyžádat z databáze pomocí skriptů. Speciální algoritmy pro ukládání a získávání informací, které se používají v databázích, umožňují najít potřebné informace doslova za zlomek sekund – a při práci ve virtuálním prostoru je rychlost zdroje důležitější než cokoli jiného.

Vztah informací v databázi je také důležitý: změna jednoho řádku může vést k významným změnám v dalších řádcích. Práce s daty tímto způsobem je mnohem jednodušší a rychlejší, než kdyby se změny týkaly pouze jednoho místa v databázi.

Neznamená to však, že každý web musí mít databázi – pokud máte například web s vizitkami a nezveřejňujete na webu žádné nové informace, tak databázi prostě nebudete potřebovat. Nejjednodušší způsob, jak vytvořit jednoduchý web, je vytvořit .

Systém pro správu databází

Jak už z názvu můžete tušit, databázový systém (nebo zkráceně DBMS) je software, který se používá k vytváření a práci s databázemi. Hlavní funkcí DBMS je správa dat (která může být buď v externí nebo v RAM). DBMS nutně podporuje databázové jazyky a je také zodpovědný za kopírování a obnovu dat po jakýchkoli selháních.

Co se týče klasifikace databází, jsou možné různé možnosti.
Můžete například rozdělit databáze podle datové modely: hierarchický (má stromovou strukturu), síťový (strukturou podobný hierarchickým), relační (používá se ke správě relačních databází), objektově orientovaný (používá se pro objektový datový model) a objektově relační (jakási fúze relačních a objektově orientovaný typ databází).

Nebo, pokud je rozdělení založeno na kde se nachází DBMS?, lze je rozdělit na lokální - celý DBMS je umístěn na jednom počítači a distribuovaný - části systému správy databází jsou umístěny na více počítačích.

Soubor-server, klient-server a embedded - to jsou názvy, které nesou DBMS, pokud je rozdělíme způsob přístupu k databázím. DBMS souborových serverů jsou v současnosti považovány za zastaralé; V zásadě se používají systémy klient-server (DBMS umístěné na serveru spolu se samotnou databází) a vestavěné systémy (které nevyžadují samostatnou instalaci).

Informace uložené v databázích se neomezují pouze na textové nebo grafické soubory – moderní verze DBMS podporují i ​​formáty audio a video souborů.

V tomto článku se zaměřím na DBMS, které slouží k ukládání informací z různých webových zdrojů.

Proč jsou tyto DBMS potřebné? Kromě své hlavní funkce – uchovávání a systematizace obrovského množství informací – umožňují rychle zpracovávat požadavky klientů a poskytovat čerstvé a relevantní informace.

To platí i pro změny, které provedete – namísto změny informací v každém souboru na webu je můžete změnit v databázi a na každé stránce se pak okamžitě zobrazí správné informace.

Relační DBMS a jazyk SQL

Mezi nejběžnější systémy patří relační a objektově relační DBMS. Jsou to tabulky, ve kterých je každý sloupec (nazývaný „pole“) uspořádán a má specifický jedinečný název. Pořadí řádků (nazývají se „záznamy“ nebo „záznamy“) je určeno pořadím, ve kterém jsou informace zadávány do tabulky. V tomto případě může zpracování sloupců a řádků probíhat v libovolném pořadí. Tabulky s daty jsou propojeny speciálními vztahy, díky kterým můžete s daty z různých tabulek pracovat – například je kombinovat – pomocí jednoho dotazu.

Pro správu relačních databází se používá speciální programovací jazyk - SQL. Zkratka znamená „Structured query language“, přeloženo do ruštiny jako „strukturovaný dotazovací jazyk“.

Příkazy používané v SQL se dělí na ty, které manipulují s daty, ty, které definují data, a ty, které manipulují s daty.

Schéma práce s databází vypadá takto:


MySQL

MySQL je jedním z nejpopulárnějších a nejrozšířenějších DBMS, který se používá v mnoha společnostech (například Facebook, Wikipedia, Twitter, LinkedIn, Alibaba a další). MySQL je relační DBMS, který je svobodným softwarem: je distribuován za podmínek veřejné licence GNU. Typicky je tento systém správy databází definován jako dobrý, rychlý a flexibilní systém doporučený pro použití v malých nebo středně velkých projektech. MySQL má mnoho různých výhod. Podporuje například různé typy tabulek: jak známé MyISAM a InnoDB, tak exotičtější HEAP a MERGE; navíc počet podporovaných typů neustále roste. MySQL provádí všechny příkazy rychle - možná je nyní nejrychlejším existujícím DBMS. S tímto systémem správy databází může současně pracovat neomezený počet uživatelů a počet řádků v tabulkách se může rovnat 50 milionům.

Vzhledem k tomu, že ve srovnání s některými jinými DBMS podporuje MySQL méně funkcí, je s ním mnohem jednodušší pracovat než například s PostgreSQL, o kterém bude řeč níže.

První verze MySQL byla vydána již v roce 1995 a od té doby došlo k několika dalším vydáním, z nichž každá přinesla významné změny.

Pro práci s MySQL se používá nejen textový, ale i grafický režim. To je možné díky aplikaci phpMyAdmin: pro práci v aplikaci nepotřebujete ani znát SQL příkazy a svou databázi můžete spravovat přímo přes váš prohlížeč.

Obecně lze poznamenat, že MySQL je volbou pro ty, kteří potřebují DBMS pro malý nebo středně velký projekt, rychlý a snadno použitelný a bez potíží s administrací.


PostgreSQL

Tento volně distribuovaný systém správy databází patří k objektově relačnímu typu DBMS. Stejně jako u MySQL je PostgreSQL založen na jazyku SQL, nicméně na rozdíl od MySQL PostgreSQL podporuje standard SQL-2011. Tento DBMS nemá žádná omezení na maximální velikost databáze ani na maximální počet záznamů nebo indexů v tabulce.

Pokud se budeme bavit o výhodách PostgreSQL, tak to jsou samozřejmě spolehlivost transakcí a replikací, možnost dědičnosti a snadná rozšiřitelnost. PostgreSQL podporuje různá rozšíření a varianty programovacích jazyků jako PL/Perl, PL/Python a PL/Java. Je také možné načíst moduly kompatibilní s C.

Mnoho lidí poznamenává, že na rozdíl od MySQL má tento DBMS dobrou a podrobnou dokumentaci, která poskytuje odpovědi na téměř všechny otázky.

O tom, že jde o větší DBMS než MySQL, svědčí i fakt, že PostgreSQL je periodicky srovnáván s tak výkonným systémem pro správu dat, jakým je Oracle.

To vše nám umožňuje mluvit o PostgreSQL jako o jednom z nejpokročilejších DBMS v současnosti.


SQLite

V současné době se jedná o jeden z nejkompaktnějších DBMS; je také vložený a vztahový. SQLite umožňuje ukládat všechna data do jednoho souboru a díky své malé velikosti se vyznačuje záviděníhodným výkonem. SQLite se od MySQL a PostgreSQL výrazně liší svou strukturou: engine a rozhraní tohoto DBMS jsou ve stejné knihovně – a to vám umožňuje provádět všechny dotazy velmi rychle. Jiné DBMS (MySQL, PostgreSQL, Oracle atd.) používají paradigma klient-server, když k interakci dochází prostřednictvím síťového protokolu.

Mezi nevýhody patří chybějící uživatelský systém a možnost zvýšení produktivity.

SQLite lze doporučit pro použití v projektech, kde potřebujete umět rychle migrovat aplikaci a není potřeba škálovatelnosti.


Věštec

Tento DBMS je objektově relačního typu. Název pochází z názvu společnosti, která tento systém vyvinula, Oracle. Spolu s SQL používá DBMS procedurální rozšíření nazvané PL/SQL a také jazyk Java.

Oracle je systém, který je stabilní po desetiletí, a proto si jej vybírají velké korporace, pro které je důležitá spolehlivost obnovy po selhání, zjednodušený postup zálohování, možnost škálování a další cenné funkce. Kromě toho tento DBMS poskytuje vynikající zabezpečení a efektivní ochranu dat.

Na rozdíl od jiných DBMS jsou náklady na pořízení a používání Oracle poměrně vysoké, což je často značná překážka jeho použití v malých společnostech. To je pravděpodobně také důvod, proč je Oracle v žebříčku DBMS za rok 2016 v Rusku až na 6. místě.



MongoDB

Tento DBMS se liší tím, že je určen k ukládání hierarchických datových struktur, a proto se nazývá dokumentově orientovaný (jedná se o úložiště dokumentů bez použití tabulek nebo schémat). MongoDB je open source.

Pomocí identifikátoru můžete provádět rychlé operace s objektem; Tento DBMS také funguje dobře ve složitých interakcích. Především se bavíme o výkonu – v některých případech poběží aplikace napsaná v MongoDB rychleji než stejná aplikace využívající SQL, protože MongoDB patří do třídy NoSQL DBMS a místo SQL používá objektový dotazovací jazyk, který je mnohem lehčí než SQL.

I tento jazyk má však svá omezení, a proto by se MongoDB měl používat v případech, kdy není potřeba složitých a netriviálních výběrů.

Místo závěru

Výběr DBMS je důležitým bodem při vytváření zdroje. Začněte od svých úkolů a schopností, zkoušejte a experimentujte, abyste našli přesně tu možnost, která bude nejvhodnější.

Úvod

Kapitola 1. Základy databáze

1.1 Klasifikace databází

1.3 Modely popisu databáze

1.4. Základy desktopového DBMS

1.5 Požadavky a normy na databáze

Kapitola 2. Práce s databází Microsoft Access

2.1. Základy desktopového DBMS Microsoft Access

2.2. Práce s databází Microsoft Access

Závěr

Seznam použité literatury

Úvod

Toky informací, které kolují ve světě, který nás obklopuje, jsou obrovské. v

časem mají tendenci přibývat. Proto v jakékoli organizaci, jako

velkých i malých, vyvstává problém takové organizace řízení

údaje, které by zajistily co nejefektivnější provoz. Nějaký

organizace k tomu používají kartotéky, ale většina dává přednost

počítačové metody – databáze, které umožňují efektivní ukládání,

strukturovat a systematizovat velké objemy dat. A dnes bez základů

dat je nemožné reprezentovat práci většiny finančních, průmyslových,

obchodní a jiné organizace. Bez databází by se prostě utopili

informační lavina.

Existuje mnoho dobrých důvodů pro přenos existujících informací do počítače. Nyní jsou náklady na ukládání informací do počítačových souborů levnější než na papír. Databáze umožňují ukládat, strukturovat informace a získávat je

optimálním způsobem pro uživatele. Toto téma je v současnosti aktuální, protože... využití technologií klient/server umožňuje ušetřit značné finanční prostředky a hlavně čas na získání potřebných informací a také zjednodušit přístup a údržbu, protože jsou založeny na komplexním zpracování dat a centralizaci jejich úložiště. Počítač navíc umožňuje ukládat libovolné datové formáty, text, kresby, ručně psaná data, fotografie, hlasové záznamy atd.

Využít tak obrovské objemy uložených informací, navíc k vývoji

systémová zařízení, média pro přenos dat, paměť, potřebné prostředky

zajištění dialogu člověk-počítač, který umožňuje uživateli vstoupit

nebo se rozhodujte na základě uložených dat. K zajištění těchto funkcí

byly vytvořeny specializované nástroje - systémy pro správu databází (DBMS).

Cílem této práce je odhalit koncept databáze a systému správy databází a také na konkrétním příkladu zvážit fungování desktopového DBMS.

1.1 Klasifikace databází

Databáze je informační model oblasti předmětu, soubor vzájemně souvisejících dat uložených společně s takovou minimální redundancí, že je lze optimálně využít pro jednu nebo více aplikací. Data (soubory) se ukládají do externí paměti a používají se jako vstup pro řešení problémů.

DBMS je program, který implementuje centralizovanou správu dat uložených v databázi, přístup k nim a jejich aktualizaci.

Systémy pro správu databází lze klasifikovat podle způsobu navazování spojení mezi daty, podle povahy funkcí, které vykonávají, podle rozsahu aplikace, počtu podporovaných datových modelů, podle povahy jazyka používaného ke komunikaci s databází a dalších parametry.

Klasifikace DBMS:

· podle vykonávaných funkcí se SŘB dělí na provozní a informační;

· podle rozsahu použití se DBMS dělí na univerzální a problémové;

· podle použitého komunikačního jazyka se DBMS dělí na uzavřené, které mají vlastní nezávislé jazyky pro komunikaci uživatelů s databázemi, a otevřené, ve kterých se ke komunikaci používá programovací jazyk rozšířený o operátory jazyka pro manipulaci s daty databáze;

· podle počtu podporovaných úrovní datových modelů se DBMS dělí na jedno-, dvou- a tříúrovňové systémy;

· podle způsobu navazování spojení mezi daty se rozlišují relační, hierarchické a síťové databáze;

· Na základě způsobu, jakým organizují ukládání dat a provádějí funkce zpracování, jsou databáze rozděleny na centralizované a distribuované.

Centralizované databázové systémy přístupné ze sítě zahrnují dvě hlavní architektury: souborový server nebo klient-server.

Architektura souborového serveru. Jedná se o přidělení jednoho ze síťových strojů jako centrálního (hlavního souborového serveru), kde je uložena sdílená centralizovaná databáze. Všechny ostatní stroje fungují jako pracovní stanice. Databázové soubory jsou v souladu s požadavky uživatelů přenášeny na pracovní stanice, kde jsou převážně zpracovávány. S vysokou intenzitou přístupu ke stejným datům klesá výkon informačního systému.

Architektura klient-server. Tento model počítačové interakce v síti se ve skutečnosti stal standardem pro moderní DBMS. Každý z počítačů připojených k síti a tvořících tuto architekturu hraje svou roli: server vlastní a spravuje informační zdroje systému, klient je má možnost využívat. Kromě ukládání centralizované databáze zajišťuje databázový server většinu zpracování dat. Požadavek na data vydaný klientem (pracovní stanicí) spustí vyhledávání a načítání dat na serveru. Extrahovaná data jsou přenášena po síti ze serveru ke klientovi. Specifickým rysem architektury klient-server je použití dotazovacího jazyka SQL.

Databázový server je DBMS, který paralelně zpracovává dotazy přijaté ze všech pracovních stanic. Klient a server jsou od sebe zpravidla geograficky odděleny, v takovém případě tvoří distribuovaný systém zpracování dat.

1.2. Funkce DBMS

Vlastnosti DBMS jsou:

· produktivita;

· zajištění integrity dat na úrovni databáze;

· zajištění bezpečnosti dat;

· schopnost pracovat ve víceuživatelském prostředí;

· možnost importu a exportu dat;

· poskytování přístupu k datům pomocí jazyka SQL;

· schopnost vytvářet dotazy;

· Dostupnost nástrojů pro vývoj aplikačních programů.

Výkon DBMS je hodnocen:

· doba realizace požadavku;

· rychlost vyhledávání informací;

· čas importu databází z jiných formátů;

· rychlost operací (jako je aktualizace, vkládání, mazání);

· doba generování zprávy a další ukazatele.

· Zabezpečení dat je dosaženo:

· šifrování aplikačních programů;

· šifrování dat;

· ochrana dat heslem;

· omezení přístupu k databázi (k tabulce, do slovníku atd.).

Zajištění integrity dat znamená přítomnost prostředků, které zajistí, že informace v databázi zůstanou vždy správné a úplné. Integrita dat musí být zajištěna bez ohledu na to, jak jsou data vkládána do paměti (online, importem nebo pomocí speciálního programu). V současnosti používané DBMS mají prostředky k zajištění integrity dat a spolehlivého zabezpečení.

Systém správy databází spravuje data v externí paměti, poskytuje spolehlivé úložiště dat a podporuje příslušné databázové jazyky. Důležitou funkcí DBMS je funkce správy vyrovnávacích pamětí RAM. DBMS obvykle pracují s velkými databázemi, které často přesahují velikost paměti RAM počítače. Vyvinuté DBMS udržují vlastní sadu vyrovnávacích pamětí RAM s vlastní disciplínou pro jejich nahrazení.

Nejpoužívanějšími systémy pro správu databází jsou Microsoft Access a Oracle.

Fáze práce v DBMS jsou:

· vytvoření struktury databáze, tzn. určení seznamu polí tvořících každý záznam tabulky, typů a velikostí polí (číselné, textové, logické atd.), identifikace klíčových polí pro zajištění nezbytných spojení mezi daty a tabulkami;

· zadávání a editace dat v databázových tabulkách pomocí standardního formuláře prezentovaného standardně ve formě tabulky a pomocí obrazovkových formulářů speciálně vytvořených uživatelem;

· zpracování dat obsažených v tabulkách, na základě dotazů a na základě programu;

· výstup informací z počítače pomocí zpráv a bez použití zpráv.

Jmenované fáze práce se realizují pomocí různých příkazů.

Centralizovaná databáze poskytuje snadnou správu, lepší využití dat na místě pro vzdálené dotazy, vyšší souběžnost zpracování a nižší náklady na zpracování.

Distribuovaná databáze zahrnuje ukládání a provádění funkcí správy dat napříč více uzly a přenos dat mezi těmito uzly při provádění dotazů. V takové databázi mohou být na různých počítačích uloženy nejen její různé tabulky, ale také různé fragmenty jedné tabulky. Pro uživatele je přitom jedno, jak je datové úložiště organizováno, s takovou databází pracuje, jako by byla centralizovaná.

1.3.Modely pro popis databází

Existují tři typy modelů popisu databáze – hierarchický, síťový a relační, přičemž hlavním rozdílem mezi nimi je povaha popisu vztahů a interakcí mezi objekty a atributy databáze.

Hierarchický model zahrnuje použití stromových struktur skládajících se z určitého počtu úrovní k popisu databáze. "Strom" je hierarchie prvků nazývaných uzly. Prvky znamenají seznam, kolekci, sadu atributů, prvky, které popisují objekty.

Budování relačních databází

Základy budování relačních databází

Popis relačních dat

V procesu budování relační databáze je třeba vyřešit několik problémů. Nejprve je nutné popsat strukturu databáze pro DBMS. K tomu vývojář používá jazyk pro popis dat nebo nějaký ekvivalentní způsob popisu struktury (například grafické zobrazení). Poté je databáze zapsána na to či ono fyzické médium a naplněna daty. V této části se podíváme na každý z těchto úkolů, ale nejprve zavedeme nějakou relační terminologii.

Přehled terminologie

Jak je uvedeno v kapitole 5, přístup je tabulka s určitými vlastnostmi.

    Záznamy v relaci mohou mít pouze jednu hodnotu; více hodnot není povoleno. Na průsečíku řádku a sloupce je tedy pouze jedna hodnota.

    Všechny položky ve stejném sloupci jsou stejného typu. Jeden sloupec může například obsahovat jména zákazníků a jiný sloupec může obsahovat jejich data narození. Každý sloupec má jedinečný název a na pořadí sloupců nezáleží. Sloupce vztahu jsou pojmenovány atributy. Každý atribut má svůj vlastní kopule, což je fyzický a logický popis množiny platných hodnot.

3. Ve vztahu nemohou být dva stejné řádky a pořadí řádků není důležité (obr. 8.1). Vztahové linie se také nazývají v n-ticích.

Výkres 8.1 je příkladem nebo jedinou instancí relační struktury obsahující informace o klinickém pacientovi. Zobecněný formát TRPĚLIVÍ (název, Narozenídatum, Rod, Číslo účtu, Lékař) - toto je struktura vztahu; to je to, co většina lidí myslí tím pojmem přístup.(Pamatujte si z kapitoly 5, že atribut, který je klíčem vztahu, je podtržený.) Pokud do struktury vztahu přidáme omezení na možné hodnoty dat, dostaneme relační schéma(relační schéma). Všechny tyto termíny jsou uvedeny v tabulce. 8.1.

Nedorozumění ohledně pojmu „klíč“

Období klíč je často zdrojem zmatků, protože má různé významy během fází návrhu a implementace. V procesu návrhu je klíč definován jako jeden nebo více sloupců, které jednoznačně identifikují řádek ve vztahu. Jak víme z kapitoly 5, každý vztah má alespoň jeden klíč, protože každý řádek je jedinečný; v krajním případě je klíč kombinací všech sloupců vztahu. Klíč se obvykle skládá z jednoho nebo dvou sloupců.

Ve fázi realizace termín klíč použit v jiném významu. Ve většině relačních DBMS je klíčem sloupec, na jehož základě DBMS tvoří index a další datové struktury. To se provádí za účelem poskytnutí rychlého přístupu k hodnotám z tohoto sloupce. Tyto klíče nemusí být jedinečné a často nejsou. Jsou vytvořeny pouze pro zlepšení výkonu. (Informace o takových datových strukturách naleznete v příloze A.)

Zvažte například vztah OBJEDNÁVKA (číslo objednávky, datum objednávky, klientské číslo, množství). Z pohledu design, klíč k tomuto vztahu je Číslo objednávky, protože tučné písmo znamená, že atribut jednoznačně identifikuje řetězec vztahu. Z pohledu implementace, klíčem může být kterýkoli ze čtyř sloupců tohoto vztahu. Může to být například atribut Datum objednávky. V V tomto případě DBMS vytvoří datovou strukturu, která poskytuje rychlý přístup k datům ze vztahu OBJEDNAT podle data objednávky. S největší pravděpodobností jde o konkrétní hodnotu atributu Datum objednávky bude odpovídat mnoha řádkům. V V tomto smyslu definice atributu jako klíče nevypovídá nic o jeho jedinečnosti.

Někdy k rozlišení dvou významů slova klíč, použité termíny logický klíč(logický klíč) a fyzický klíč(fyzický klíč). Logický klíč je jedinečný identifikátor a fyzický klíč je sloupec, na kterém byl vytvořen index nebo jiná datová struktura pro zlepšení výkonu.

Indexy

Protože fyzickým klíčem je obvykle index, někteří si tento termín vyhrazují klíč hodnotu logického klíče a za termínem index- hodnota fyzického klíče. V V této knize uděláme právě to: termín klíč budeme používat význam „logický klíč“ a termín index - ve smyslu „fyzický klíč“.

V Ve prospěch vytváření indexů existují tři úvahy. Jedním z nich je poskytnout rychlejší přístup k řádkům o hodnotu indexovaného atributu. Dalším je usnadnit řazení řádků podle tohoto atributu. Například, PROTI respekt OBJEDNAT atribut lze definovat jako klíč Datum objednávky, výsledkem jsou zprávy PROTI jejichž objednávky jsou seřazeny podle data, budou generovány rychleji.

Třetím účelem konstrukce indexů je zajistit jedinečnost. Indexy nemusí být jedinečné, ale když vývojář chce, aby byl sloupec jedinečný, DBMS pro tento sloupec vytvoří index. Ve většině relačních DBMS lze sloupec nebo skupinu sloupců učinit jedinečnými zadáním klíčového slova při definování sloupce v tabulce. UNIKÁTNÍ.

Implementace relační databáze

A v této knize používáme relační model k popisu struktury databáze. Od návrhu databáze tedy můžeme přejít přímo k její implementaci. Ve fázi implementace nepotřebujeme strukturu žádným způsobem transformovat: vše, co je třeba udělat, je popsat existující relační strukturu pro DBMS.

Při implementaci databází pomocí DBMS, které nejsou založeny na relačním modelu, je situace odlišná. Například při implementaci databáze založené na modelu DL/I musíme transformovat relační strukturu na hierarchickou a poté převedenou strukturu popsat do DBMS.

Popis struktury databáze pro DBMS

Existuje několik způsobů, jak je struktura databáze pro DBMS popsána. Tyto metody závisí na tom, který konkrétní DBMS se používá. 13 Některé produkty vytvářejí textový soubor, který popisuje strukturu databáze. Jazyk používaný k definování takové struktury se někdy nazývá jazyk pro definici dat(jazyk pro definici dat, DDL). Textový soubor DDL uvádí názvy databázových tabulek, uvádí názvy sloupců těchto tabulek a popisuje jejich obsah, definuje indexy a také popisuje další struktury (omezení, bezpečnostní opatření). Výpis 8.1 popisuje jednoduchou relační databázi pro hypotetický DBMS využívající typický jazyk pro definici dat. Realističtější příklady používající standard nazvaný SQL jsou uvedeny v kapitolách 12 a 13.

Některé DBMS nevyžadují, aby byla struktura databáze definována pomocí DDL v textovém formátu. Nejčastější alternativou je grafický způsob upřesnění struktury databáze. Například v Accessu 2002 dostane vývojář grafickou strukturu ve formě seznamu, na jehož příslušná místa je třeba zadat názvy tabulek a sloupců. Příklad jsme viděli v kapitole 2 (viz obrázek 2.2).

Obecně řečeno, grafické prostředky pro popis dat jsou běžné v DBMS navržených pro provoz na osobních počítačích. Na serverech a sálových počítačích se používají grafické i textové nástroje. Například v Oracle a SQL Server lze k definování dat použít obě metody. Na Obr. 8 .2 představuje obecný diagram procesu popisu dat pro DBMS.

Při jakékoli metodě definování datové struktury musí návrhář pojmenovat každou tabulku, definovat sloupce pro tuto tabulku a popsat fyzický formát dat v každém sloupci (např. TEXT 10). Navíc v závislosti na možnostech použitého DBMS může vývojář specifikovat omezení, která musí DBMS implementovat. Hodnoty sloupců lze definovat například jako NENULA(není prázdný) popř UNIKÁTNÍ(unikátní). Některé produkty také umožňují nastavit omezení na možné hodnoty (atribut Část může nabývat hodnot nižších než 10 000, a atribut Barva může nabývat jedné z hodnot ["Červená"/Zelená"/Modrá"]). Nakonec lze zavést omezení integrity cizího klíče. Zde je příklad takového omezení: „Hodnota atributu Číslo oddělení ve stole ZAMĚSTNANEC se musí rovnat hodnotě atributu Číslo oddělení ve stole ODDĚLENÍ".

V mnoha DBMS může vývojář také nastavit hesla a používat další ovládací prvky a zabezpečení. Jak bude ukázáno v kapitole 11, K dispozici je mnoho různých bezpečnostních strategií. V některých strategiích jsou objekty kontroly datové struktury (například tabulka je chráněna heslem), v jiných - uživatelé (vlastník hesla X může číst a aktualizovat tabulky T1 A T2).

Rozložení prostoru na fyzickém médiu

Kromě definování struktury databáze musí vývojář alokovat prostor pro databázi na fyzickém médiu. Opět platí, že konkrétní akce závisí na tom, který DBMS se používá. U osobní databáze stačí přiřadit databázi adresář na disku a pojmenovat ji. Poté DBMS automaticky přidělí prostor pro ukládání dat.

Jiné DBMS, zejména ty, které jsou určeny pro servery a sálové počítače, vyžadují více úsilí. Chcete-li zlepšit výkon a kontrolu, musíte pečlivě navrhnout distribuci databázových informací mezi disky a kanály. Například v závislosti na konkrétním zpracování aplikace může být lepší umístit určité tabulky na stejný disk. Naopak může být důležité, aby některé tabulky nebyly na stejném disku.

Vezměme si například objekt objednávky složený z tabulek ORDER, LINE_ORDER A PRODUKT. Předpokládejme, že při zpracování objednávky aplikace načte jeden řádek z tabulky OBJEDNAT, několik řádků z tabulky ORDER_LINE a jeden řádek z tabulky PRODUKT pro každý řádek z tabulky ORDER_LINE. Dále řádky z tabulky ORDER_LINE, související se stejnou objednávkou jsou obvykle seskupeny a řádky v tabulce PRODUKT nejsou nijak seskupeny. Tato situace je znázorněna na Obr. 8.3.

Nyní si představte, že organizace zpracovává mnoho objednávek paralelně a že má dva disky: jeden velký a rychlý a druhý menší a pomalejší. Vývojář musí určit nejlepší umístění pro uložení dat. Výkon se může zlepšit, pokud tabulka PRODUKT budou uloženy na velkém disku s rychlým přístupem a tabulky ORDER_LINE A OBJEDNAT- na disku menší velikosti a rychlosti. Nebo možná výkon bude lepší, když vložíte data z tabulek OBJEDNAT A ORDER_LINE pro předchozí měsíce na pomalejší disk a pro aktuální měsíc - na rychlejší.

Na tyto otázky zde nemůžeme odpovědět, protože odpověď závisí na objemu dat, vlastnostech DBMS a operačního systému, velikosti a rychlosti disků a kanálů a požadavcích aplikací, které databázi využívají. Jde o to, že všechny tyto faktory je třeba vzít v úvahu při alokaci prostoru pro fyzickou databázi.

Kromě umístění a množství prostoru pro uživatelská data může návrhář také určit, zda má tento prostor růst podle potřeby, a pokud ano, o kolik. Typicky je velikost takového přírůstku indikována buď jako pevná hodnota, nebo jako procento původního množství obsazeného prostoru.

Při vytváření databáze bude muset vývojář alokovat souborový prostor pro databázové protokoly. O žurnálování se dozvíte v kapitolách 11-13; v této fázi stačí vědět, že DBMS uchovává protokol změn v databázi, který pak lze v případě potřeby použít k obnovení databáze. Souborový prostor pro protokoly je přidělen během vytváření databáze.

Vytvoření plánu údržby databáze

Plán údržby databáze je plán procedur, které musí být prováděny pravidelně. Tyto postupy zahrnují zálohování databáze, vyprázdnění obsahu protokolu databáze do archivních souborů, kontrolu narušení referenční integrity, optimalizaci místa na disku pro uživatelská data a indexy atd. Těmito problémy se také budeme zabývat v kapitole 11, ale mějte na paměti, že plán údržby databáze by měl být vytvořen během nebo krátce po vytvoření databáze.

Naplnění databáze informacemi

Jakmile byla databáze popsána a bylo přiděleno místo na fyzickém médiu pro její uložení, můžete začít naplňovat databázi informacemi. Způsob, jakým se to dělá, závisí na požadavcích aplikace a možnostech DBMS. V nejlepším případě jsou všechna data již v počítači čitelném formátu a DBMS má schopnosti a nástroje pro zjednodušení importu dat z magnetických médií. V nejhorším případě je nutné všechna data zadávat ručně přes klávesnici pomocí aplikačních programů vytvořených vývojáři od začátku. Většina situací, kdy je nutná konverze dat, spadá mezi tyto dva extrémy.

Po zadání údajů je nutné zkontrolovat jejich správnost. Tato kontrola je únavná a náročná na práci, ale je velmi důležitá. Často, zvláště ve velkých databázích, má smysl psát speciální programy pro kontrolu dat. Výhody používání těchto programů stojí za čas a peníze vynaložené vývojovým týmem na jejich vytvoření. Tyto programy se zabývají počítáním počtu řádků v různých kategoriích, výpočtem kontrolních součtů, prováděním kontroly platnosti datových hodnot a dalšími kontrolními procedurami.

Manipulace s relačními daty

Diskutovali jsme návrh relačních databází a způsoby, jakými je struktura databáze popsána pro DBMS. Až dosud jsme mluvili o relačních operacích zobecněným a intuitivním způsobem. To je v pořádku, pokud mluvíme o projektu, ale k implementaci aplikací potřebujeme jasný a konzistentní jazyk, který vyjadřuje logiku zpracování. Takové jazyky se nazývají Dánské manipulační jazyky(jazyky pro manipulaci s daty, DML).

K dnešnímu dni byly navrženy čtyři strategie pro manipulaci s relačními daty. První ze strategií relační algebra(relační algebra), definuje operátory působící na relace (jsou podobné operátorům vyšší algebry +, - atd.). Tyto operátory umožňují manipulovat se vztahy tak, aby bylo dosaženo požadovaného výsledku. Ale použití relační algebry je obtížné, částečně proto, že je procedurální. To znamená, že při použití relační algebry musíme vědět nejen Co děláme, ale také Jak dělá se to.

Relační algebra se v komerčních systémech pro zpracování databází nepoužívá. Ačkoli žádný komerčně úspěšný systém pro správu databází neobsahuje nástroje relační algebry, probereme to zde, protože vám to pomůže lépe porozumět manipulaci s relačními daty a poskytne základ pro výuku SQL.

Relační kalkul(relační kalkul) je druhou strategií pro manipulaci s relačními daty. Relační kalkul není procedurální; je to jazyk, který vyjadřuje co Co chceme udělat, aniž bychom to specifikovali Jak dosáhnout toho. Pamatujte na integrační proměnnou v integrálním počtu: tato proměnná nabývá hodnot z rozsahu, ve kterém k integraci dochází. V relačním počtu existuje podobná proměnná. V n-tice-relačním kalkulu je rozsah hodnot této proměnné relační n-tice a v doménově-relačním kalkulu jsou hodnoty domény. Relační počet je založen na větvi matematiky zvané predikátový počet.

Pokud se neplánujete stát vztahovým teoretikem, pravděpodobně nebudete muset studovat vztahový kalkul. Nikdy se nepoužívá v komerčních databázových systémech a jeho studium není pro naše účely nutné. Proto ji v této knize nebudeme rozebírat.

Přestože je relační kalkul obtížné pochopit a používat, jeho neprocedurální charakter je výhodou. Vývojáři DBMS proto začali hledat další neprocedurální strategie, což vedlo ke vzniku třetí a čtvrté kategorie jazyků pro manipulaci s relačními daty.

Transformačně orientované jazyky jsou třídou neprocedurálních jazyků, které transformují relační vstup do jediného relačního výstupu. Tyto jazyky mají snadno použitelné struktury, které vám umožňují určit akce, které mají být provedeny s poskytnutými daty. SQUARE, SEQUEL a SQL jsou příklady jazyků orientovaných na transformaci. Jazyk SQL budeme podrobně studovat v kapitolách 9, 12 a 13.

Čtvrtou kategorií jazyků pro manipulaci s relačními daty jsou grafické jazyky. Tato kategorie zahrnuje vzorová žádost(Dotaz po příkladu) a žádost z formuláře(Dotaz po formuláři). Produkty, které podporují tuto kategorii, zahrnují Approach (od Lotus) a Access. Uživateli se zobrazí grafické znázornění jednoho nebo více vztahů. Pohled může mít formu formuláře pro zadávání dat, tabulky nebo jiné struktury. DBMS převede reprezentaci na odpovídající vztah a generuje dotazy (nejspíše v SQL) jménem uživatele. Uživatelé pak zahájí provádění příkazů DML, aniž by o tom věděli. Čtyři kategorie jazyků pro manipulaci s relačními daty:

    relační algebra;

    vztahový kalkul;

    transformační jazyky ​​(například SQL);

    žádost pomocí vzorku, žádost z formuláře.

Rozhraní jazyka pro manipulaci s daty

V této části se podíváme na čtyři typy rozhraní, která manipulují s informacemi v databázi.

Manipulace s daty pomocí formulářů

Většina relačních DBMS má zařízení pro vytváření formulářů. Některé formuláře se generují automaticky při definování tabulky, jiné musí vytvořit vývojář. Pomoc v tomto procesu může poskytnout inteligentní asistent, přítomný například v Accessu. Formulář může být ve formě tabulky (tabulkového kalkulátoru), která zobrazuje více řádků vztahu současně. Existuje další typ formuláře, kde je každý řádek vztahu reprezentován samostatně. Na Obr. 8.4 a 8.5 jsou ukázky obou typů formulářů pro tabulku PACIENT na Obr. 8.1. Většina produktů poskytuje určitou flexibilitu při zpracování formulářů a sestav. Například řádky pro zpracování lze vybrat podle hodnot sloupců a lze je třídit. Tabulka na Obr. 8.4 je seřazeno podle hodnoty pole AccountNumber.

Mnoho výchozích formulářů obsahuje data pouze z jednoho vztahu. Pokud potřebujete získat data ze dvou nebo více vztahů, musíte zpravidla vytvořit speciální formuláře pomocí nástrojů DBMS. Takové nástroje umožňují vytvářet jak vícetabulkové, tak víceřádkové formuláře. Vzhledem k tomu, že použití těchto nástrojů je vysoce závislé na konkrétním DBMS, nebudeme je dále zvažovat.

Dotaz a aktualizace jazykového rozhraní

Druhým typem rozhraní k databázi je dotazovací a aktualizační jazyk(dotaz/aktualizační jazyk), nebo jednoduše dotazovací jazyk(dotazovací jazyk). (Ačkoli většina těchto jazyků umožňuje dotazovat i aktualizovat data, nejčastěji se označují jako dotazovací jazyky.) V tomto případě uživatel zadává příkazy, které určují, jaké akce je třeba s databází provést. DBMS tyto příkazy dešifruje a provede předepsané akce. Obrázek 8.6 ukazuje, které programy se podílejí na zpracování požadavku.

Nejdůležitější ze všech dotazovacích jazyků je SQL. Chcete-li si udělat představu o dotazovacích jazycích, zvažte následující příkaz SQL, který zpracovává vztah TRPĚLIVÍ, znázorněno na Obr. 8.1:

VYBERTE jméno. Datum narození OD PACIENTA

KDE lékař = "Levy"

Tento operátor extrahuje ze vztahu TRPĚLIVÍ všechny řádky, ve kterých je atribut Lékař má význam " Levy". Hodnoty atributů název A DatumNarození z těchto řádků jej pak umístí do druhé tabulky.

Uložené procedury

Postupem času uživatelé a vývojáři databází zjistili, že určité sekvence SQL příkazů je třeba spouštět pravidelně. Jediné, co se mění, jsou hodnoty uvedené ve větě KDE. Pokud se například platby načítají měsíčně, provedou se stejné příkazy SQL, ale s jiným datem uzávěrky. Pro zohlednění této potřeby zavedli výrobci DBMS tzv uložené procedury(uložené procedury). Tato procedura je sada příkazů SQL, která je uložena v souboru a lze ji provést jedním příkazem. Parametry uvedené v nabídce KDE atd., lze předat při volání procedury. Příklad by mohl být následující:

PROVEĎTE BILLING STORED_PROCEDURE FOR BILLDATE = "9/1/2000"

Tento řádek spustí uloženou proceduru s názvem ÚČTOVÁNÍ s hodnotou parametru BILLDATE, rovno "9/1/2000".

Jak vývojáři získávali zkušenosti, objevil se jeden problém. SQL byl vytvořen jako datový podjazyk a nebyl učiněn žádný pokus dát mu všechny prvky plnohodnotného programovacího jazyka. Některé z těchto prvků však byly nezbytné pro psaní uložených procedur a dodavatelé databází vytvořili vylepšené verze SQL, aby obsahovaly další funkce. Jeden takový jazyk, PL/SQL, byl vyvinut pro Oracle a další, nazvaný TRANSACT-SQL, byl vyvinut pro SQL Server. Více o těchto jazycích se dozvíte v kapitolách 12 a 13.

Speciální typ uložené procedury - spoušť(spouštěč) - DBMS je voláno, když je splněna zadaná podmínka. Například v aplikaci, která zpracovává objednávky, by vývojář vytvořil spouštěč, který se spustí, když je množství položky ve skladu pod stanoveným limitem (to znamená, že je čas objednat položku od velkoobchodního dodavatele). Více o uložených procedurách se dozvíte v kapitolách 12 a 13.

Aplikační programové rozhraní

Čtvrtým typem rozhraní pro přístup k datům je přístup prostřednictvím aplikačních programů napsaných v programovacích jazycích jako COBOL, BASIC, Perl, Pascal a C++. Některé aplikační programy jsou navíc napsány v jazycích zabudovaných do použitého DBMS. Z těchto programovacích jazyků je nejznámější dBASE.

Mezi aplikačními programy a DBMS existují dva styly rozhraní. První z nich se vyznačuje tím, že aplikační programy volají podprogramy z knihovny funkcí dodávaných s DBMS. Chcete-li například přečíst řádek z tabulky, aplikační program zavolá funkci čtení DBMS a předá jí parametry, které označují požadovanou tabulku, požadované sloupce, kritéria výběru řádků atd.

V některých případech se místo volání funkcí používá objektově orientovaná syntaxe. V níže uvedeném přístupovém kódu je ukazatel objektu db nastaven na aktuálně otevřenou databázi a ukazatel na objekt rs odkazuje na řádky tabulky TRPĚLIVÍ;

nastavit db = aktuálnídbC)

set rs = db.OpenRecordsetCPATIENT")

Pomocí posledního ukazatele máte přístup k vlastnostem openže soubor záznamů a spustit jeho metody. Například pomocí vlastnostirs. AllowDeletions můžete určit, zda lze záznamy ze sady záznamů odstranit TRPĚLIVÍ. Metoda MoveFirst přesune kurzor na první řádek.

Druhý, starší typ rozhraní se někdy používá v DBMS určených pro velké počítače a servery. Zde výrobce DBMS definuje sadu příkazů pro přístup k datům na vysoké úrovni. Tyto příkazy, které se týkají zpracování databáze a nejsou součástí žádného standardního jazyka, jsou zabudovány do kódu aplikačního programu.

Aplikační program s vestavěnými příkazy se přenese do předběžného kompilátoru, který je součástí balíčku DBMS. Převádí příkazy pro přístup k datům do platných volání funkcí a definuje datové oblasti, které budou sdíleny mezi aplikačními programy a DBMS. Prekompilátor také vloží do programu kód, který podporuje přístup k těmto datovým oblastem. Takto zpracovaný program se přenese do jazykového překladače. Na Obr. 8 .7 ukazuje interakci programů v tomto procesu.

Infologický model

Informační model je popis oblasti předmětu, vytvořený bez zaměření na software a hardware používaný v budoucnu. Infoologický model je model orientovaný na člověka, zcela nezávislý na fyzických parametrech prostředí a způsobu ukládání dat. Informační model se mění pouze tehdy, když změny v reálném světě vyžadují změny základního modelu. Hlavní výhody modelů ER:

· viditelnost;

· modely umožňují navrhovat databáze s velkým počtem objektů a atributů;

Základní prvky ER modelů:

· objekty (entity);

· atributy objektů;

· spojení mezi objekty.

Entita je objekt domény, který má atributy.

Vztah mezi entitami je charakterizován:

· typ připojení (1:1, 1:N, N:M);

· členská třída. Třída může být povinná nebo volitelná. Pokud je každá instance entity zapojena do vztahu, pak je třída členství povinná, jinak je volitelná.

V tomto diplomovém projektu je ER model implementován v počítačově podporovaném databázovém systému ERWin a je znázorněn na obrázku č. 2.3.


Obrázek č. 2.3. Infologický model


Datalogický model

Datalogický model je zobrazením logických spojení mezi datovými prvky bez ohledu na jejich obsah a prostředí úložiště. Tento model je založen na jazyku popisu dat (DDL) používaném ve specifickém DBMS, ve kterém je databáze navržena. Fáze vytváření datalogického modelu se nazývá datalogický design. Popis logické struktury databáze v jazyce DBMS se nazývá datalogické databázové schéma.

Při návrhu logické struktury databáze se výchozí informační model převede na datový model podporovaný konkrétní DBMS a kontroluje se přiměřenost výsledného datového modelu zobrazované předmětové oblasti.

Datalogický model zobrazuje logické vztahy mezi informačními daty v daném konceptuálním modelu. Při přechodu z infologického modelu na datalogický je třeba mít na paměti, že infoologický model zahrnuje všechny informace o předmětné oblasti, které jsou pro návrh databáze nezbytné a dostatečné. Datalogický model databáze produktového manažera je znázorněn na obrázku 2.3.



Obrázek č. 2.3. Datalogický model.


Software pro úkol (soubor úkolů)

Obecná ustanovení (strom funkcí a dialogový skript)

Strom funkcí je schéma, které zobrazuje všechny možné funkce a možnosti, které lze v programu provádět s příchozími a odchozími dokumenty, a také další možnosti nastavení automatizačního systému pro produktového manažera. Strom funkcí je schematicky znázorněn na obrázku 2.4.

Diagram scénáře dialogu představuje cesty dialogu mezi uživatelem programu a samotným softwarovým produktem. Tento diagram ukazuje, jak se uživatel může dostat ke konkrétnímu dokumentu nebo zavolat požadovanou funkci. Schéma dialogových scénářů je znázorněno na obrázku 2.5.




Horní