Databázy sú relačné. Koncepcia relačnej databázy
Nástup výpočtovej techniky v našomModernosť označila informačnú revolúciu vo všetkých sférach ľudskej činnosti. Ale ku všetkým informáciám nestane zbytočné plytvanie na internete, bol vynájdený v databázovom systéme, v ktorom sú zoradené materiály, organizoval, s tým výsledkom, že sú ľahko k nájdeniu a odoslať následné spracovanie. Existujú tri hlavné druhy - prideliť databázy relačná, hierarchickej, sieť.
Základné modely
Návrat k vytváraniu databáz, stojí za tože tento proces bol dosť komplikovaný, začína sa vývojom programovateľných zariadení na spracovanie informácií. Preto nie je prekvapujúce, že počet ich modelov v súčasnosti dosahuje viac ako 50, ale hlavné sú hierarchické, relačné a sieťové, ktoré sa v praxi stále používajú. Čo sú to?
Hierarchická databáza má stromštruktúra a je zostavená z údajov rôznych úrovní, medzi ktorými sú prepojenia. Sieťový model databázy je zložitejšou šablónou. Jeho štruktúra pripomína hierarchickú štruktúru a schéma je rozšírená a rafinovaná. Rozdiel medzi nimi spočíva v tom, že dedičné údaje hierarchického modelu môžu byť spojené iba s jedným predkom a sieť môže mať niekoľko. Štruktúra relačnej databázy je oveľa komplikovanejšia. Preto by mal byť rozobraný podrobnejšie.
Základná koncepcia relačnej databázy
Tento model bol vyvinutý v sedemdesiatych rokochdoktorka vedy Edgar Codd. Je to logicky štruktúrovaná tabuľka s políčkami popisujúcimi údaje, ich vzájomné vzťahy, vykonávané operácie a najdôležitejšie pravidlá, ktoré zaručujú ich integritu. Prečo je model nazvaný relačná? Je založená na vzťahoch (z latinského vzťahu) medzi údajmi. Existuje mnoho definícií tohto typu databázy. Odkazové tabuľky s informáciami sú oveľa jednoduchšie organizovať a dať spracovanie ako v sieti alebo v hierarchickom modeli. Ako sa to dá urobiť? Stačí stačiť poznať vlastnosti, štruktúru modelu a vlastnosti relačných tabuliek.
Proces modelovania a zloženia základných prvkov
Ak chcete vytvoriť vlastné DBMS, mali by stepoužite jednu z modelovacích nástrojov uvažovať s tým, čo informácie, ktoré potrebujete k práci, navrhnúť relačné tabuľky a jedno a viac odkazov medzi dátovými subjektmi zaplniť bunky a nastaviť primárny alebo cudzie kľúče.
Modelovanie tabuliek a navrhovanie vzťahovdatabázy sa vykonávajú pomocou bezplatných nástrojov, ako napríklad Workbench, PhpMyAdmin, Case Studio alebo dbForge Studio. Po podrobnom návrhu by ste mali uložiť graficky pripravený relačný model a preložiť ho do dokončeného SQL kódu. V tejto fáze môžete začať pracovať so zoradením, spracovaním a systematizáciou dát.
Funkcie, štruktúra a pojmy spojené s relačným modelom
Každý zdroj opisuje jeho prvky vlastným spôsobom, takže pre menej zmätok by som chcel dať malú stopu:
- relačná doska = entita;
- layout = atribúty = názvy polí = názov stĺpcov entity;
- entity instance = tuple = record = riadok štítku;
- hodnota atribútu = entity cell = pole.
Ak chcete prejsť na vlastnosti relačnej databázy, mali by ste vedieť, z ktorých základných komponentov pozostáva a na čo sú určené.
- Esencia. Tabuľka relačnej databázy môže byť jedna a môže byť celá sada tabuliek, ktoré charakterizujú opísané objekty vďaka dátam uloženým v nich. Majú pevný počet polí a variabilný počet záznamov. Tabuľka modelov relačných databáz sa skladá z riadkov, atribútov a usporiadania.
- Záznam je variabilný počet riadkov, ktoré reprezentujú údaje charakterizujúce opísaný objekt. Záznamy sú automaticky očíslované systémom.
- Atribúty sú údaje, ktoré zobrazujú opis stĺpcov subjektu.
- Field. Predstavuje stĺpec jednotky. Ich počet je pevná hodnota, ktorá je nastavená v čase vytvorenia alebo úpravy tabuľky.
Teraz, keď poznáte základné prvky tabuľky, môžete prejsť na vlastnosti databázy relačných modelov:
- Jednotky relačnej DB sú dvojrozmerné. Kvôli tejto vlastnosti s nimi je ľahké robiť rôzne logické a matematické operácie.
- Poradie hodnôt atribútov a záznamov v relačnej tabuľke môže byť ľubovoľné.
- Stĺpec v rámci jednej relačnej tabuľky musí mať svoje vlastné individuálne meno.
- Všetky údaje v stĺpci entity majú pevnú dĺžku a rovnaký typ.
- Každý záznam v podstate sa považuje za jeden údajový prvok.
- Základné prvky liniek sú jedinečné vo svojom druhu. V relačnej entite nie sú identické riadky.
Na základe vlastností relačných DBMS je jasné, že hodnoty atribútov musia byť rovnakého typu, dĺžky. Pozrime sa na vlastnosti hodnôt atribútov.
Hlavné charakteristiky polí relačných databáz
Názvy polí musia byť jedinečné v rámcijednu podstatu. Typy atribútov alebo polia relačnej databázy opisujú, ktoré údaje kategórie sú uložené v poliach entity. Pole relačnej databázy musí mať pevnú veľkosť, započítaná v znakoch. Parametre a formát hodnôt atribútov určujú spôsob, akým opravujú údaje. Napriek tomu existuje taký koncept ako "maska" alebo "šablóna vstupu". Je určená na definovanie konfigurácie zadávania údajov do hodnoty atribútu. Nepochybne, ak píšete nesprávny typ údajov, v poli by sa malo uviesť chybové hlásenie. Niektoré obmedzenia sa vzťahujú aj na prvky poľa - podmienky na kontrolu presnosti a presnosti zadávania údajov. Existuje povinná hodnota atribútu, ktorá musí byť jednoznačne vyplnená údajmi. Niektoré atribúty môžu byť vyplnené hodnotami NULL. Povolenie je zadávanie prázdnych údajov do atribútov poľa. Rovnako ako upozornenie na chyby existujú hodnoty, ktoré systém automaticky vyplní - to sú predvolené údaje. Na urýchlenie vyhľadávania akýchkoľvek údajov je určené indexované pole.
Dvojrozmerná schéma tabuľky relačných databáz
Názov atribútu 1 | Názov atribútu 2 | Názov atribútu 3 | Názov atribútu 4 | Názov atribútu 5 |
Element_1_1 | Element_1_2 | Element_1_3 | Element_1_4 | Element_1_5 |
Element_2_1 | Element_2_2 | Element_2_3 | Element_2_4 | Element_2_5 |
Element_3_1 | Element_3_2 | Element_3_3 | Element_3_4 | Element_3_5 |
Podrobné pochopenie systému riadeniamodel s pomocou SQL je najlepšie zvážiť schému pre príklad. Už vieme, čo je relačná databáza. Záznam v každej tabuľke je jedna dátová položka. Aby sa zabránilo prepúšťaniu údajov, je potrebné vykonať normalizačné operácie.
Základné pravidlá pre normalizáciu relačnej entity
1. Hodnota názvu poľa pre relačnú tabuľku musí byť jedinečná, jedinečná (prvý normálny tvar je 1NF).
2. Pre tabuľku, ktorá je už znížená na 1НФ, by mal byť názov neidentifikujúceho stĺpca závislý od jedinečného identifikátora tabuľky (2NF).
3. Pre celú tabuľku, ktorá je už v 2NF, každé neidentifikujúce pole nemôže závisieť od prvku inej neidentifikovanej hodnoty (entity 3NF).
Databázy: relačné vzťahy medzi tabuľkami
Existujú 2 hlavné typy vzťahov medzi relačnými tabuľkami:
- "One-many". Vyskytuje sa, keď sa jeden kľúčový záznam v tabuľke č. 1 zhoduje s niekoľkými inštanciami druhej entity. Ikona kľúča na jednom konci riadku znamená, že entita je na jednej strane, druhý koniec riadku je často označený symbolom nekonečna.
- Vzťah "viacnásobný" sa vytvorí, keď existuje jasná logická interakcia medzi niekoľkými riadkami jednej entity s počtom záznamov z inej tabuľky.
- Ak existuje spojenie medzi dvoma entitamizjednotenie "jeden k jednému", to znamená, že identifikátor kľúča jednej tabuľky je prítomný v inej entite, potom by mala byť jedna z tabuliek odstránená, je zbytočná. Ale niekedy, z bezpečnostných dôvodov, programátori zámerne rozdelia dve entity. Z tohto dôvodu môže hypoteticky existovať vzťah jedného k jednému.
Existencia kľúčov v relačnej databáze
Definujú sa primárne a sekundárne kľúčepotenciálnych databázových vzťahov. Vzťahy relatívnych dátových modelov môžu mať iba jeden potenciálny kľúč, to je primárny kľúč. Čo je to? Primárny kľúč je stĺpec entity alebo skupina atribútov, pomocou ktorých môžete pristupovať k údajom konkrétneho riadka. Musí byť jedinečný, jedinečný a jeho polia nemôžu obsahovať prázdne hodnoty. Ak primárny kľúč pozostáva len z jedného atribútu, potom sa nazýva jednoduchý, inak to bude súčasť.
Okrem primárneho kľúča existuje aj externý kľúč(cudzí kľúč). Mnohí nechápu, aký je rozdiel medzi nimi. Pozrime ich podrobnejšie na príklade. Existujú teda 2 tabuľky: "Dekanova kancelária" a "Študenti". Podstata "Dekanátu" obsahuje polia: "ID študenta", "Meno" a "Skupina". Tabuľka "Študenti" má také atribútové hodnoty ako "Name", "Group" a "Average Ball". Keďže identifikácia študenta nemôže byť rovnaká pre niekoľkých študentov, toto pole bude primárnym kľúčom. "Meno" a "Skupina" z tabuľky "Študenti" môžu byť pre niekoľko ľudí rovnaké, odkazujú na identifikačné číslo študenta od subjektu "Deanery", takže môžu byť použité ako cudzí kľúč.
Príklad modelu relačnej databázy
Pre zrozumiteľnosť uvádzame jednoduchý príklad relačného databázového modelu pozostávajúceho z dvoch entít. K dispozícii je tabuľka s názvom "Deanery".
Podstata "dekanátu" | ||
ID študenta | celé meno | Skupina |
111 | Ivanov Oleg Petrovič | IN-41 |
222 | Lazarev Ilya Alexandrovich | IN-72 |
333 | Konoplev Petr Vasilievich | IN-41 |
444 | Kushnereva Natalia Igorevna | IN-72 |
Musíte vytvoriť spojeniakompletnú relačnú databázu. Vstup "IN-41", rovnako ako "IN-72", môže byť prítomný viac ako raz v tabuľke "Dean" ako priezvisko, meno a priezviskom študentov, v zriedkavých prípadoch, môžu byť rovnaké, takže tieto polia nemožno vykonať primárny kľúč. Ukážme podstatu "študentov".
Tabuľka "Študenti" | |||
celé meno | Skupina | Priemerná lopta | Telefónne číslo |
Ivanov Oleg Petrovič | IN-41 | 3,0 | 2-27-36 |
Lazarev Ilya Alexandrovich | IN-72 | 3,8 | 2-36-82 |
Konoplev Petr Vasilievich | IN-41 | 3,9 | 2-54-78 |
Kushnereva Natalia Igorevna | IN-72 | 4,7 | 2-65-25 |
Ako vidíte, typy polí relačných databázsú úplne odlišné. Existujú digitálne aj symbolické záznamy. Preto v nastaveniach atribútov by ste mali špecifikovať hodnoty integer, char, vachar, date a ďalšie. V tabuľke "Deccan" je jedinečná ID študenta jedinečná hodnota. Toto pole je možné považovať za primárny kľúč. Meno, skupina a telefónne číslo od entity "Študenti" možno považovať za cudzí kľúč, ktorý sa vzťahuje na ID študenta. Vytvorená komunikácia. Toto je príklad modelu one-to-one. Hypoteticky jedna z tabuliek je nadbytočná, môžu sa ľahko skombinovať do jednej entity. Na ID čísla študentov sa nestalo všeobecne známe, je dosť reálna existencia dvoch tabuliek.