Windows 8

Co znamená vztahový? Existence klíčů v relační databázi

Co znamená vztahový?  Existence klíčů v relační databázi

Databáze (DB) je soubor informací o objektech, procesech, událostech nebo jevech souvisejících s určitou oblastí, organizovaný podle určitých pravidel a uchovávaný v paměti počítače. předmětová oblast, téma nebo úkol. Je organizován tak, aby vyhovoval informačním potřebám uživatelů i pohodlné skladování tento soubor dat, a to jako celek i jakoukoli jeho část.

Relační databáze je sada vzájemně propojených tabulek, z nichž každá obsahuje informace o objektech určitého typu. Každý řádek tabulky obsahuje údaje o jednom objektu (například auto, počítač, klient) a sloupce tabulky obsahují různé charakteristiky těchto objektů - atributy (například číslo motoru, značka procesoru, telefonní čísla společností nebo klientů).

Řádky tabulky se nazývají záznamy. Všechny záznamy tabulky mají stejnou strukturu – skládají se z polí (datových prvků), ve kterých jsou uloženy atributy objektu (obr. 1). Každé pole záznamu obsahuje jednu charakteristiku objektu a představuje zadaný datový typ (například textový řetězec, číslo, datum). Používá se k identifikaci záznamů primární klíč. Primární klíč je sada polí tabulky, jejichž kombinace hodnot jednoznačně identifikuje každý záznam v tabulce.

Rýže. 1. Názvy objektů v tabulce

Pro práci s daty se používají systémy pro správu databází (DBMS). Hlavní funkce DBMS:

Definice dat (popis struktury databáze);

Zpracování dat;

Správa dat.

Vývoj struktury databáze - nejdůležitější úkol, řešený při návrhu databáze. Struktura databáze (množina, forma a vztahy jejích tabulek) je jednou z hlavních konstrukční řešení při vytváření aplikací pomocí databáze. Struktura databáze vytvořená vývojářem je popsána v jazyce DBMS pro definici dat.

Jakýkoli DBMS vám umožňuje provádět následující operace s daty:

Přidávání záznamů do tabulek;

Odstranění záznamů z tabulky;

Aktualizace hodnot některých polí v jednom nebo více záznamech v databázových tabulkách;

Vyhledá jeden nebo více záznamů, které splňují zadanou podmínku.

K provádění těchto operací se používá dotazovací mechanismus. Výsledek provádění dotazů je buď vybrán pomocí určitá kritéria mnoho záznamů nebo změn v tabulkách. Dotazy do databáze jsou vytvářeny v jazyce speciálně vytvořeném pro tento účel, který se nazývá „jazyk strukturované dotazy"(SQL - Structured Query Language).

Správa dat obvykle znamená ochranu dat před neoprávněným přístupem, podporu zpracování dat pro více uživatelů a zajištění integrity a konzistence dat.

Databáze (DB) - Jedná se o pojmenovaný soubor strukturovaných dat vztahujících se ke konkrétní předmětné oblasti a určených k ukládání, akumulaci a zpracování pomocí počítače.

Relační databáze (RDB) je množina relací, jejichž názvy se shodují s názvy relací schématu v databázovém schématu.

Základní pojmy relační databáze:

· Datový typ– typ hodnot konkrétního sloupce.

· Doména(doména) – množina všech platných hodnot atributů.

· Atribut(atribut) – záhlaví sloupce tabulky charakterizující pojmenovanou vlastnost objektu, například příjmení studenta, datum objednávky, pohlaví zaměstnance atd.

· Průvod– řádek tabulky představující sadu hodnot logicky souvisejících atributů.

· přístup(relation) – tabulka odrážející informace o objektech reálný svět, například o studentech, objednávkách, zaměstnancích, obyvatelích atp.

· Primární klíč(primární klíč) – pole (nebo sada polí) tabulky, které jednoznačně identifikuje každý její záznam.

· Alternativní klíč je pole (nebo sada polí), které neodpovídá primárnímu klíči a jednoznačně identifikuje instanci záznamu.

· Externí klíč je pole (nebo sada polí), jehož hodnoty se shodují s existujícími hodnotami primárního klíče jiné tabulky. Když propojíte dvě tabulky, primární klíč první tabulky se propojí s cizím klíčem druhé tabulky.

· Relační model data (RMD)- organizování dat ve formě dvourozměrných tabulek.

Každá relační tabulka musí mít následující vlastnosti:

1. Každý záznam tabulky je jedinečný, tzn. sada hodnot v polích se neopakuje.

2. Každá hodnota zapsaná na průsečíku řádku a sloupce je atomická (neoddělitelná).

3. Hodnoty každého pole musí být stejného typu.

4. Každé pole má jedinečný název.

5. Pořadí položek není důležité.

Hlavní prvky databáze:

Pole- základní jednotka logické organizace dat. K popisu pole se používají následující charakteristiky:

· jméno, například Příjmení, Křestní jméno, Patronymické, Datum narození;

· zadejte například řetězec, znak, číslici, datum;

· délka, například v bajtech;

· přesnost pro číselná data, jako jsou dvě desetinná místa pro zobrazení zlomkové části čísla.

Záznam- sada hodnot logicky souvisejících polí.

Index– prostředek pro urychlení operace vyhledávání záznamů, používaný k navazování vztahů mezi tabulkami. Tabulka, pro kterou se používá index, se nazývá indexovaná. Při práci s indexy je třeba dbát na organizaci indexů, která je základem pro klasifikaci. Jednoduchý index je reprezentován jediným polem resp logický výraz, zpracování jednoho pole. Složený index představuje několik polí, která lze použít různé funkce. Indexy tabulek jsou uloženy v souboru indexu.


Integrita dat– jedná se o prostředek ochrany dat na komunikačních polích, který umožňuje udržovat tabulky v konzistentním (konzistentním) stavu (tj. neumožňuje existenci záznamů v podřízené tabulce, které nemají odpovídající záznamy v nadřazené tabulce). stůl).

Žádost– formulovaná otázka pro jednu nebo více vzájemně propojených tabulek obsahujících kritéria vzorkování dat. Žádost se provádí pomocí strukturovaného jazyka SQL dotazy(Strukturovaný dotazovací jazyk). Načítání dat z jedné nebo více tabulek může vést k sadě záznamů nazývaných pohled.

Prezentace dat– pojmenovaný dotaz uložený v databázi pro načtení dat (z jedné nebo více tabulek).

Pohled je v podstatě dočasná tabulka vytvořená jako výsledek dotazu. Samotnou žádost lze zaslat na samostatný soubor, sestava, dočasná tabulka, tabulka na disku atd.

Zpráva– systémová komponenta, jejímž hlavním účelem je popis a tisk dokumentů na základě informací z databáze.

obecné charakteristiky práce s RDB:

Zdá se, že nejběžnější interpretací relačního datového modelu je Dat, který jej reprodukuje (s různými upřesněními) téměř ve všech svých knihách. Podle Date se relační model skládá ze tří částí, které popisují různé aspekty relačního přístupu: strukturální část, manipulační část a holistická část.

Strukturální část modelu uvádí, že jedinou datovou strukturou používanou v relačních databázích je normalizovaná n-ární relace.

Manipulační část modelu potvrzuje dva základní mechanismy pro manipulaci s relačními databázemi – relační algebru a relační kalkul. První mechanismus je založen převážně na klasické teorii množin (s určitými upřesněními) a druhý je založen na klasickém logickém aparátu predikátového počtu prvního řádu. Všimněte si, že hlavní funkcí manipulační části relačního modelu je poskytnout míru relativnosti jakéhokoli specifického jazyka relačních databází: jazyk se nazývá relační, pokud nemá o nic menší expresivitu a sílu než relační algebra nebo relační kalkul.


28. ALGORITMICKÉ JAZYKY. PŘEKLADATELÉ (tlumočníci a překladači). ZÁKLADNÍ ALGORITMICKÝ JAZYK. STRUKTURA PROGRAMU. IDENTIFIKÁTORY. PROMĚNNÉ. OPERÁTORŮ. ZPRACOVÁNÍ JEDNOROZMĚRNÝCH A DVOJROZMĚRNÝCH POL. UŽIVATELSKÉ FUNKCE. PODPROGRAMY. PRÁCE S DATOVÝMI SOUBORY.

Jazyk vysoká úroveň - programovací jazyk, jehož koncepce a struktura jsou vhodné pro lidské vnímání.

Algoritmický jazyk(Algorithmic language) - programovací jazyk - umělý (formální) jazyk určený pro psaní algoritmů. Programovací jazyk je specifikován svým popisem a implementován do formuláře speciální program: kompilátor nebo interpret. Příklady algoritmických jazyků jsou Borland Pascal, C++, Basic atd.

Základní pojmy algoritmický jazyk:

Složení jazyka:

Obyčejný hovorový se skládá ze čtyř hlavních prvků: symbolů, slov, frází a vět. Algoritmický jazyk obsahuje podobné prvky, pouze slova se nazývají elementární konstrukce, fráze se nazývají výrazy a věty se nazývají operátory.

Symboly, tvoří elementární konstrukce, výrazy a operátory hierarchická struktura, protože elementární struktury jsou tvořeny posloupností symbolů.

Výrazy je sled elementárních struktur a symbolů,

Operátor- sled výrazů, elementárních struktur a symbolů.

Popis jazyka:

Popis znaků se skládá ze seznamu platných znaků jazyka. Popisem elementárních struktur se rozumí pravidla jejich tvorby. Popis výrazů je pravidla pro tvoření jakýchkoli výrazů, které mají v daném jazyce význam. Popis operátorů se skládá ze zvážení všech typů operátorů povolených v daném jazyce. Popis každého jazykového prvku je dán jeho SYNTAXÍ a SÉMANTIKOU.

Syntaktický definice stanoví pravidla pro konstrukci jazykových prvků.

Sémantika definuje význam a pravidla použití těch jazykových prvků, pro které byly uvedeny syntaktické definice.

Jazykové symboly- to jsou základní nedělitelné znaky, kterými jsou psány všechny texty v jazyce.

Elementární struktury- to jsou minimální jednotky jazyka, které mají nezávislý význam. Jsou tvořeny ze základních symbolů jazyka.

Výraz v algoritmickém jazyce se skládá z elementárních struktur a symbolů, určuje pravidlo pro výpočet určité hodnoty.

Operátor sady Plný popis nějakou akci, kterou je třeba provést. Pro popis komplexní akce může být vyžadována skupina operátorů.

V tomto případě jsou operátory sloučeny do Složený operátor nebo Blok. Akce, specifikované operátory, jsou prováděny na datech. Příkazy algoritmického jazyka, které poskytují informace o datových typech, se nazývají deklarace nebo nespustitelné příkazy. Sada popisů a operátorů spojených jediným algoritmem tvoří program v algoritmickém jazyce. V procesu studia algoritmického jazyka je nutné odlišit algoritmický jazyk od jazyka, kterým se provádí popis studovaného algoritmického jazyka. Obvykle se studovaný jazyk nazývá jednoduše jazyk a jazyk, ve kterém je uveden popis studovaného jazyka - Metajazyk.

Překladatelé - (anglicky translator - překladatel) je překladatelský program. Převádí program napsaný v jednom z jazyků vysoké úrovně na program sestávající ze strojových instrukcí.

Program napsaný v libovolném algoritmickém jazyce na vysoké úrovni nelze přímo spustit na počítači. Počítač rozumí pouze jazyku strojových příkazů. V důsledku toho musí být program v algoritmickém jazyce přeložen (přeložen) do příkazového jazyka konkrétního počítače. Takový překlad je prováděn automaticky speciálními překladatelskými programy vytvořenými pro každý algoritmický jazyk a pro každý typ počítače.

Existují dva hlavní způsoby vysílání - kompilace a interpretace.

1. Kompilace: Překladač(anglický kompilátor - kompilátor, kolektor) načte celý program, přeloží jej a vytvoří kompletní verzi programu ve strojovém jazyce, která se následně provede.

Na sestavení celý původní program je okamžitě převeden na sekvenci strojových instrukcí. Poté je výsledný výsledný program spuštěn počítačem s dostupnými zdrojovými daty. Výhodou této metody je, že překlad se provede jednou a (vícenásobné) spuštění výsledného programu lze provést pomocí vysoká rychlost. Výsledný program přitom může zabírat hodně místa v paměti počítače, protože jeden jazykový operátor je při překladu nahrazen stovkami nebo dokonce tisíci příkazů. Ladění a úpravy vysílaného programu jsou navíc velmi náročné.

2. Tlumočení: Tlumočník(anglický interpret - interpret, interpret) překládá a provádí program řádek po řádku.

Na výklady zdrojový program je uložen v paměti počítače téměř beze změny. Program interpret dekóduje příkazy původní program jeden po druhém a okamžitě zajistí jejich provedení s dostupnými daty. Interpretovaný program zabírá málo místa v paměti počítače a lze jej snadno ladit a upravovat. Provádění programu je však poměrně pomalé, protože s každým spuštěním se interpretace všech operátorů provádí znovu.

Kompilované programy běží rychleji, ale interpretované programy se snáze opravují a mění.

Každý konkrétní jazyk je orientován buď na kompilaci nebo interpretaci – podle účelu, pro který byl vytvořen. Například Pascal se obvykle používá k řešení poměrně složitých problémů, ve kterých je důležitá rychlost programu. Proto daný jazyk obvykle implementován pomocí kompilátoru.

Na druhou stranu BASIC vznikl jako jazyk pro začínající programátory, pro které má řádkové provádění programu nesporné výhody.

Někdy existuje kompilátor i interpret pro stejný jazyk. V tomto případě můžete použít tlumočník k vývoji a testování programu a poté kompilovat laděný program, abyste zvýšili rychlost jeho provádění.

RELAČNÍ DATABÁZE A JEJÍ VLASTNOSTI. TYPY VZTAHŮ MEZI VZTAHOVÝMI TABULKAMI

Relační databáze je kolekce vzájemně propojených tabulek, z nichž každá obsahuje informace o objektech určitého typu. Řádek tabulky obsahuje data o jednom objektu (například produkt, zákazník) a sloupce tabulky popisují různé charakteristiky těchto objektů - atributy (například název, kód produktu, informace o zákazníkovi). Záznamy, tedy řádky tabulky, mají stejnou strukturu – skládají se z polí, která ukládají atributy objektů. Každé pole, tedy sloupec, popisuje pouze jednu charakteristiku objektu a má striktně určitý typ data. Všechny záznamy mají stejná pole, pouze se liší informační vlastnosti objekt.

V relační databáze data, každá tabulka musí mít primární klíč – pole nebo kombinaci polí, které jednoznačně identifikují každý řádek tabulky. Pokud se klíč skládá z několika polí, nazývá se složený. Klíč musí být jedinečný a musí jednoznačně identifikovat položku. Pomocí hodnoty klíče můžete najít jeden záznam. Klíče také slouží k uspořádání informací v databázi.

Tabulky relační databáze musí splňovat požadavky na normalizaci vztahů. Normalizace vztahů je formální aparát omezení tvorby tabulek, který eliminuje duplicitu, zajišťuje konzistenci dat uložených v databázi a snižuje mzdové náklady na údržbu databáze.

Nechte vytvořit tabulku Student obsahující následující pole: číslo skupiny, celé jméno, číslo záznamu studenta, datum narození, název odbornosti, název fakulty. Taková organizace ukládání informací bude mít řadu nevýhod:

  • duplikace informací (u každého studenta se opakuje název odbornosti a fakulty), objem databáze se proto zvýší;
  • postup aktualizace informací v tabulce je komplikovaný kvůli nutnosti úpravy každé z nich záznamy v tabulce.

Normalizace tabulek je navržena tak, aby tyto nedostatky vyřešila. Dostupný tři normální formy vztahů.

První normální forma. Relační tabulka je redukována na první normální formu tehdy a pouze tehdy, pokud žádný z jejích řádků neobsahuje více než jednu hodnotu v žádném z jejích polí a žádné z jejích klíčových polí není prázdné. Pokud tedy potřebujete získat informace z tabulky Student podle jména studenta, pole Celé jméno by mělo být rozděleno na části Příjmení, Jméno a Patronyma.

Druhá normální forma. Relační tabulka je definována ve druhé normální formě, pokud splňuje požadavky první normální formy a všechna její pole, která nejsou zahrnuta v primárním klíči, mají plnou funkční závislost na primárním klíči. Pro zmenšení tabulky na druhou normální formu je nutné určit funkční závislost polí. Funkční závislost polí je závislost, která se vyskytuje v instanci informačního objektu určitou hodnotu Atribut key odpovídá pouze jedné hodnotě popisného atributu.

Třetí normální forma. Tabulka je ve třetí normální formě, pokud splňuje požadavky druhé normální formy, že žádné z jejích neklíčových polí není funkčně závislé na jakémkoli jiném neklíčovém poli. Například v tabulce Student (Číslo skupiny, Celé jméno, Číslo třídníku, Datum narození, Ředitel) jsou v tranzitivní závislosti tři pole - č. třídní knihy, č. skupiny, ředitel. Číslo skupiny závisí na čísle třídní knihy a ředitel závisí na čísle skupiny. Pro odstranění tranzitivní závislosti je nutné přenést některá pole tabulky Student do jiné tabulky Group. Stoly budou akceptovány další pohled: Student (číslo skupiny, celé jméno, číslo ročníkové knihy, datum narození), Skupina (číslo skupiny, ředitel).

Na relačních tabulkách jsou možné následující operace:

  • Sloučit tabulky se stejnou strukturou. Výsledkem je společná tabulka: nejprve první, pak druhá (zřetězení).
  • Průnik tabulek se stejnou strukturou. Výsledek - jsou vybrány ty záznamy, které jsou v obou tabulkách.
  • Odečítání tabulek se stejnou strukturou. Výsledek - jsou vybrány ty záznamy, které nejsou v odečteném.
  • Ukázka (horizontální podmnožina). Výsledek - jsou vybrány záznamy, které splňují určité podmínky.
  • Projekce (vertikální podmnožina). Výsledkem je relace obsahující některá pole ze zdrojových tabulek.
  • Kartézský součin dvou tabulek Výsledné záznamy tabulky se získají kombinací každého záznamu první tabulky s každým záznamem druhé tabulky.

Relační tabulky mohou být vzájemně propojeny, a proto lze data získávat z více tabulek současně. Tabulky jsou vzájemně propojeny, aby se v konečném důsledku zmenšila velikost databáze. Každá dvojice tabulek je spojena, pokud mají stejné sloupce.

Existují následující typy informační odkazy:

  • jedna ku jedné;
  • one-to-many;
  • mnoho-k-mnoho.

Komunikace jeden na jednoho předpokládá, že jeden atribut první tabulky odpovídá pouze jednomu atributu druhé tabulky a naopak.

Komunikace jeden k mnoha předpokládá, že jeden atribut první tabulky odpovídá několika atributům druhé tabulky.

Komunikace mnoho s mnoha předpokládá, že jeden atribut první tabulky odpovídá několika atributům druhé tabulky a naopak.

V relačních databázích jsou data uložena ve formě tabulek skládajících se z řádků a sloupců. Každá tabulka má svou vlastní, předdefinovanou sadu pojmenovaných polí. Sloupce tabulky relační databáze mohou obsahovat skalární data pevný typ, jako jsou čísla, řetězce nebo data. Tabulky v relační databázi mohou souviset ve vztahu jedna k jedné nebo jedna k mnoha. Počet řádků záznamů v tabulce je neomezený a každý záznam odpovídá samostatné entitě.

Dominantní postavení nyní zaujímají relační databáze. Hierarchické a síťové databázové struktury jsou minulostí a ustupují relačním databázím, pro které je postavena většina moderních DBMS (MS SQL Server, MS Access, InterBase, FoxPro, PostgreSQL, Paradox a další).

Podrobnosti

Relační model se zaměřuje na organizaci dat ve formě dvourozměrných tabulek. Každá relační tabulka je dvourozměrné pole a má následující vlastnosti:

  • Každý prvek tabulky je jeden datový prvek
  • Každý sloupec má svůj jedinečný název
  • V tabulce nejsou žádné shodné řádky
  • Všechny sloupce v tabulce jsou homogenní, to znamená, že všechny prvky ve sloupci jsou stejného typu
  • Pořadí řádků a sloupců může být libovolné

Relační DBMS, zaměřené na implementaci operačních systémů pro zpracování dat, jsou v úlohách méně efektivní analytické zpracování než multidimenzionální databáze. To je způsobeno zaprvé přítomností poměrně přísných omezení vyplývajících ze stávající implementace jazyka SQL. Příklad toho je skutečný stávající omezení je předpoklad, že data v relační databázi nejsou uspořádaná (nebo přesněji uspořádaná náhodně). Jejich řazení zároveň vyžaduje další čas strávený tříděním při každém přístupu do databáze. V analytických systémech se data zadávají a načítají ve velkých částech. Jakmile data vstoupí do databáze, zůstanou nezměněna po dlouhou dobu. A zde je efektivnější ukládat data ve formě částečně denormalizovaných tabulek, do kterých lze pro zvýšení výkonu ukládat nejen podrobné, ale i předem vypočítané agregované hodnoty. A pro navigaci a vzorkování lze využít specializované metody adresování a indexování, založené na předpokladu nízké variability a nízké mobility dat v databázi. Tato metoda organizace dat se někdy nazývá předpočítaná, čímž se zdůrazňuje její odlišnost od normalizovaného relačního přístupu, který zahrnuje dynamický výpočet. různé typy výsledky (agregace) a navazování spojení mezi detaily z různé tabulky(operace připojení).

Hlavní nevýhody

Kromě nízké efektivity, která byla zmíněna dříve, patří mezi nevýhody tradičních relačních DBMS skutečnost, že jako hlavní a často jediný mechanismus, který poskytuje rychlé hledání a vzorek samostatné řádky tabulka (nebo propojená přes cizí klíče tabulky), se obvykle používají různé modifikace indexů na základě B-stromů. Toto řešení je efektivní pouze při zpracování malých skupin záznamů a vysoké intenzitě úprav dat v databázích.

Systémy pro správu relačních databází možná nikdy nezmizí, ale dny jejich dominance jsou jistě sečteny, říká Paul Creel, který o tom napsal článek do InfoWorld v září 2011. Cituje analytika Robina Blorea, který tvrdí, že architektura relačních DBMS je zastaralá, protože byla vytvořena v minulé době a nesplňuje moderní požadavky.

Systémy zpracování finančních transakcí stále dominují relační DBMS, ale dnes společnosti stále více využívají DBMS nové architektury NoSQL – horizontálně škálovatelné, distribuované a vyvíjené v open source. Příklady takových systémů jsou Hadoop, MapReduce a VoltDB. Podle analytiků Forrester tvoří přibližně 75 % dat v podnicích buď polostrukturované informace (XML, E-mailem a EDI), nebo nestrukturovaná (text, obrázky, zvuk a video), a pouze 5 % těchto dat je uloženo v relačních DBMS a zbytek je uložen v jiných typech databází nebo ve formě souborů a nepodléhá ke zpracování relačními systémy.

Podle Blore, relační DBMS„mohou zemřít, aniž by si toho někdo všiml“ – například pokud Oracle ve svém DBMS jednoduše nahradí SQL engine za NoSQL. Analytik se domnívá, že by se takovým mechanismem mohl stát jeden ze stávajících sloupcových DBMS.

Relační databáze umožňují ukládat informace do několika „plochých“ (dvourozměrných) tabulek, propojených prostřednictvím sdílených datových polí nazývaných klíče. Relační databáze poskytují snadnější přístup k průběžným zprávám (typicky prostřednictvím SQL) a poskytují zvýšenou spolehlivost a integritu dat odstraněním nadbytečných informací.

Každý ví, co je to jednoduchá databáze: telefonní seznamy, katalogy produktů a slovníky jsou databáze. Mohou být strukturované nebo jinak organizované: jako ploché soubory, jako hierarchické soubory, popř síťové struktury nebo jako relační tabulky. Organizace nejčastěji používají k ukládání informací relační databáze.

Databáze je kolekce tabulek složených ze sloupců a řádků, podobně jako tabulkový procesor. Každý řádek obsahuje jednu položku; každý sloupec obsahuje všechny výskyty konkrétní části dat ze všech řádků. Například typický telefonní seznam se skládá ze sloupců obsahujících telefonní čísla, jména volajících a adresy volajících. Každý řádek obsahuje číslo, jméno a adresu. Tento jednoduchá forma nazývaný plochý soubor kvůli své dvourozměrné povaze a skutečnosti, že všechna data jsou uložena v jediném souboru.

V ideálním případě má každá databáze alespoň jeden sloupec s unikátní identifikátor, nebo klíč. Uvažujme telefonní seznam. Pro volajícího Jana Nováka může být několik záznamů, ale žádné z telefonních čísel se neopakuje. Telefonní číslo slouží jako klíč.

Ve skutečnosti není všechno tak jednoduché. Dva nebo více lidí používají totéž telefonní číslo, mohou být uvedeny v telefonní seznam odděleně, což způsobí, že se telefonní číslo zobrazí na dvou nebo více místech, takže existuje několik řetězců klíčů, které nejsou jedinečné.

Data dělají problémy

V nejvíce jednoduché základy data, každý záznam zabírá jeden řádek, jinými slovy, telefonní společnost je potřeba začít samostatný sloupec pro každou účetní informaci. Tedy jeden pro druhého účastníka „spárovaného“ telefonu, druhý pro třetího atd., podle toho, kolik další předplatitelé bude potřeba.

To znamená, že každý záznam v databázi musí mít všechny tyto sloupce navíc, i když nejsou nikde jinde použity. To také znamená, že databáze musí být reorganizována vždy, když společnost nabízí nová služba. Služba se zavádí tónová volba- a struktura základny se mění při přidávání nový sloupec. Zavádí se podpora pro identifikaci volajícího, čekání hovoru atd. – a databáze je znovu a znovu přestavována.

V 60. letech jen nejvíce velké společnosti si mohli dovolit koupit počítače pro správu svých dat. Kromě toho může být údržba databází se statickými datovými modely a procedurálními programovacími jazyky, jako je Cobol, nákladná a ne vždy spolehlivá. Procedurální jazyky definují sled událostí, kterými musí počítač projít, aby dokončil úkol. Programování takových sekvencí bylo náročné, zvláště pokud bylo potřeba změnit strukturu databáze popř nový druh zprávy.

Výkonná spojení

Edgar Codd, výzkumník ve výzkumné laboratoři IBM San Jose Research Laboratory, v podstatě vytvořil a popsal koncept relačních databází ve své klíčové práci Relational Model of Data for Large Shared Data Banks, Communications of the ACM, červen 1970).

Codd navrhl model, který umožňuje vývojářům rozdělit své databáze do samostatných, ale souvisejících tabulek, což zlepšuje výkon při zachování stejného vzhledu jako původní databáze. Od té doby je Codd považován za zakladatele průmyslu relačních databází.

Tento model funguje následovně. Telefonní společnost by mohla vytvořit hlavní tabulku s použitím telefonního čísla jako primárního klíče a uložit ji s dalšími základními informacemi o zákaznících. Společnost může definovat samostatnou tabulku se sloupci pro tento primární klíč a pro Doplňkové služby, jako je podpora identifikace volajícího a čekajícího hovoru. Může také vytvořit další tabulku pro kontrolu účtů za hovory, kde každý záznam obsahuje telefonní číslo a údaje o ceně hovoru.

Koncoví uživatelé mohou snadno získat informace, které chtějí, tak, jak je chtějí, i když jsou data uložena v různých tabulkách. Zástupce zákaznického servisu telefonní společnosti tedy může na stejné obrazovce zobrazit informace o účtování účastníka a také stav hovoru. speciální služby nebo kdy byla přijata poslední platba.

Codd formuloval 12 pravidel pro relační databáze, z nichž většina se týká integrity dat, aktualizace a přístupu. První dva jsou poměrně jasné i pro netechnické uživatele.

Pravidlo 1, informační pravidlo, určuje, že všechny informace v relační databázi jsou reprezentovány jako sada hodnot uložených v tabulkách.

Pravidlo 2, pravidlo záruky přístupu, určuje, že ke každému datovému prvku v relační databázi lze přistupovat pomocí názvu tabulky, primárního klíče a názvu sloupce. Jinými slovy, všechna data jsou uložena v tabulkách, a pokud znáte název tabulky, primární klíč a sloupec, kde se požadovaná datová položka nachází, lze je vždy získat.

Podstatou Coddovy práce bylo, že bylo navrženo používat s relačními databázemi spíše deklarativní než procedurální programovací jazyky. Deklarativní jazyky Dotazovací jazyky SQL (Structured Query Language) dávají uživatelům možnost v podstatě sdělit počítači: „Chci načíst další bity dat ze všech záznamů, které splňují určitou sadu kritérií.“ Počítač sám „pochopí“, jaké kroky je třeba podniknout, aby tyto informace z databáze získal.

Pracovat s obrovské množství jsou aplikovány aktivně používané databáze softwarových systémů software pro správu relačních databází od renomovaných výrobců, jako jsou Oracle, Sybase, IBM, Informix a Microsoft.

Ačkoli většina implementace SQL lze nazvat interoperabilními pouze do určité aproximace, tato je schválena jako mezinárodní standard mechanismus umožňuje vytvářet komplexní systémy, které jsou založeny na databázích. Umožňuje to snadno programovatelné rozhraní mezi webovými stránkami a relačními databázemi koneční uživatelé schopnost přidávat nové záznamy a aktualizovat stávající a vytvářet zprávy pro různé služby, jako je provádění online obchodních transakcí a přístup do katalogů online knihoven.

Relační model

Relační databáze používá sadu tabulek, které spolu vzájemně souvisí prostřednictvím specifického klíče (in v tomto případě toto je pole PhoneNumber)