Kontakty

Terminológia a základné pojmy relačných databáz. Celkové charakteristiky modelu relačného dát. Úvod do normalizácie údajov

Podporné databázové jazyky

Špeciálne jazyky sa používajú na prácu s databázou vo všeobecnosti, nazývané databázové jazyky.

V prvej databázach boli 2 jazyky:

1. Predvolený jazyk SDL základného diagramu.

2. Jazyk manipulácie s údajmi DML.

Prvá slúžila na určenie logickej štruktúry databázy a druhá obsahovala súbor prevádzkovateľov, čo umožnilo manipulovať s údajmi, to znamená, že do databázy a odstrániť. V moderných DBMS je zvyčajne podporovaný jeden jazyk obsahujúci všetko. požadované finančné prostriedky Pracovať s databázou. Tento jazyk vám umožňuje vytvoriť databázu a poskytnúť používateľovi databázu.

K dnešnému dňu je najbežnejší jazyk

S.vytratuovaný.

L.aNGUAGE.

Tento jazyk podporuje a vytvorí databázovú schému a umožňuje tieto údaje manipulovať. Obsahuje všetky potrebné prostriedky na zabezpečenie integrity databázy. Tieto obmedzenia integrity sú obsiahnuté v špeciálnych adresároch, čo umožňuje v jazykovej úrovni kontrolovať celý stav databázy. Špeciálne operátori jazyk SQL Určite takzvané zobrazenia databázy. Zobraziť - ϶ᴛᴏ požiadavky, ktoré sú uložené v databáze. Pre zobrazenie používateľa - ϶ᴛᴏ Tabuľka, s ktorou môžete obmedziť alebo rozšíriť viditeľnosť databázy pre konkrétny užívateľ údajov. Jazyk SQL obsahuje tak špeciálne operandy, ktoré poskytujú autorizáciu prístupu k databázam objektom. Keďže rôzni používatelia majú rôzne právomoci na prácu s údajmi, tieto právomoci sú opísané v špeciálnych tabuľkách - adresároch, ktoré sú podporované v jazykovej úrovni.

Hlavnými koncepciami relačných databáz sú: Typ dát, doména, atribút, n-ticial, primárny kľúč, postoj.

V rámci typu údajov v relačnom modeli je obvyklé pochopiť to isté ako typ údajov v programovacích jazykoch, to znamená, že údaje sú symbolické, numerické, bitové reťazce, špeciálne numerické údaje (peniaze), ako aj špeciálne časové údaje (čas, časový interval).

Veľmi všeobecný Doména je určená úlohou určitého základného typu údajov, ku ktorým prvky tejto domény zahŕňajú koncepciu domény, sa vzťahuje na jeho porozumenie ako prípustnú databázu s viacerými hodnotami. Doména má sémantické zaťaženie. Údaje sa považujú za porovnateľné len v prípade, keď sa týkajú jednej domény.

Podľa n-n-nite je zvykom pochopiť mnoho párov databázových prvkov, ktoré obsahujú jeden záznam každého atribútu semien do systému vzťahov.

Relaction Scheme - ϶ᴛᴏ Pomenovaný viac pár prvkov. A B.

cORGGET \u003d Názov atribútu Hodnota, t.j. n-nite je množina pomenovaných hodnôt pre tento typ.

Pomer je ϶ᴛᴏ súbor nôh zodpovedajúcich určitej jednoduchej schéme, to znamená, že relačná databáza - ϶ᴛᴏ súbor vzťahov, ktorých mená sa zhodujú s menami vzťahov v databázovej štruktúre.

Prednáška 4.

· Základné pojmy relačných databáz

Stanoviť tieto základné pojmy relačných databáz: dátový typ, doména, atribút, súdny dvor, postoj, primárny kľúč.

Ak chcete začať, ukážeme význam týchto konceptov na príklade vzťah Zamestnanci obsahujúci informácie o zamestnancoch určitého podniku (obr. 1).

Obr. 2.1.

· Dátový typ

Hodnoty údajov Uložené v relačná databázasú typifikované, t.j. Je známe, že typ každej uloženej hodnoty. Koncepcia dátový typ v model relačného dát Úplne zodpovedá konceptu dátový typ V programovacích jazykoch. Pripomeňme, že tradičná definícia (nezvládnu) dátový typ Pozostáva z troch hlavných zložiek: určenie množiny hodnôt tohto typu; Stanovenie súboru operácií uplatniteľných na hodnotové hodnoty; Určenie spôsobu vonkajšieho znázornenia hodnôt typu (literály).

Zvyčajne v modernom relačných databáz Ukladanie symbolických, číselných údajov (presné a približné), špecializované číselné údaje (napríklad "peniaze"), ako aj špeciálne "časové" dáta (dátum, čas, časový interval). Okrem toho, relačné systémy zachovávajú schopnosť určiť svojich vlastných používateľov dátový typ .

V príklade na obr. 1 Zaoberáme sa tri údaje typy: struny znakov, celé čísla a "peniaze".

· Doména

Koncepcia doména Špecifickejšie pre databázy, hoci v niektorých programovacích jazykoch existujú analógie s podtypmi. Všeobecne doména stanovené nastavením niektorých základných dátový typK ktorých sa prvky týkajú doménaa ľubovoľný logický výraz aplikovaný na prvku tohto prvku dátový typ (obmedzenia domény ). Dátový prvok je prvok doména V tom a len vtedy, ak výpočet tohto logického výrazu dáva výsledok pravda (Pre logické hodnoty, budeme striedavo používať označenie pravda a falošný alebo pravda. a falošný). S každým doména Názov je spojený, jedinečný medzi menami všetkých domény príslušná databáza.

Najspravodlivej intuitívnej interpretácii konceptu doména Je to jeho vnímanie prípustného potenciálu, obmedzenej podmnožiny hodnôt tohto typu. Napríklad, doména Mená V našom príklade je definovaný na základnom type reťazcov znakov, ale jedna z jeho hodnôt môže obsahovať iba tie čiary, ktoré môžu predstavovať názvy (najmä pre možnosť reprezentácie ruských mien, takéto riadky nemôžu začať s a Mäkké alebo pevné znamienko a nemôže byť dlhšie, napríklad 20 znakov). Ak niektorí atribút vzťah Určené na niektorých doma (ako napríklad na obr. 1 atribút Sids Definované doma Mená ) Potom v budúcnosti obmedzenie domény pôsobiaci obmedzenia integrityzmysle atributa.

Treba tiež poznamenať sémantické bremeno konceptu doména: Údaje sa považujú za porovnateľné len vtedy, keď sa týkajú jedného doména. V našom príklade domény Čísla pasáže a oddelenia Toto sú typ celých čísel, ale nie sú porovnateľné (by to bolo zmyselné, aby im umožnili porovnať).

· Prvky vzťahu

Koncepcia vzťah je najzákladnejší relačný prístup k organizácii databáz, pokiaľn. - postoj je jediná všeobecná štruktúra údajov uložená v relačná databáza. To sa odráža vo všeobecnom mene prístup - termín relačné (relačné) odvodené od vzťah. Samotný termín postoj je mimoriadne nepresný, pretože, hovorí o všetkých uložených údajoch, musíme mať na pamäti typ Tieto údaje, hodnosť z toho typ a premennév ktorých sa hodnoty uložia. Na objasnenie pojmu postoj Koncepty vyniknúť vzťahy, hodnoty vzťahu a premenlivý vzťah. Okrem toho budeme potrebovať pomocnú koncepciu. corget.

Tak, vzťah názvu (alebo schémy) r (Hr. ) Nazývaný Dinite Mnoho objednaných párov typu kde. nazývaný názov atributa, aleT. označuje názov niektorých základných typ alebo predtým definované doména. Podľa definície vyžaduje všetky mená atribúty v vzťah hlavičky Bol iný. V príklade na obr. 2.1 vzťah názvu Sluha je veľa par{<слу_номер, номера_пропусков>, <слу_имя, имена>, <слу_зарп, размеры_выплат>, <слу_отд_номер, номера_отделов>} .

Ak všetci atribúty vzťahy Definované na rôznych domény, aby nevytvorili zbytočné mená, primerane používané na pomenovanie atribúty Sú relevantné domény (Nezabudnite, samozrejme, že je to len pohodlná metóda pomenovania, ktorá neodstraňuje rozdiely medzi koncepciami doména a atributa).

Násobný trhať zodpovedajúci hlavička Hr. , nazývaný mnoho objednaných typov typu , jeden taký triplet pre každého atributa vHr. . Tretí prvok -v - triplet musí byť prípustná hodnota dátový typ alebo doména T. . Vzťah názvu Sluha zodpovedajú, napríklad nasledujúce cortezzi: {<слу_номер, номера_пропусков, 2934>, <слу_имя, имена, Иванов>, <слу_зарп, размеры_выплат, 22.000>, <слу_отд_номер, номера_отделов, 310>} , {<слу_номер, номера_пропусков, 2940>, <слу_имя, имена, Кузнецов>, <слу_зарп, размеры_выплат, 35.000>, <слу_отд_номер, номера_отделов, 320>} .

Tel Br. vzťah R. nazývaný ľubovoľný súbor násobný trhať . Jeden z možných vzťah Sluha Na obr. 2.1. Všimnite si, že vo všeobecnom prípade, ako sa uvádzajú najmä na obr. 2.1 A príklad predchádzajúceho odseku môže existovať cortezzi trhať ktoré zodpovedajúHR, ale nie sú zahrnuté v Br.

Význam VR. vzťah R. Nazýva sa pár sadyHR a BR. . Jeden z prípustných hodnoty vzťahov Sluha Na obr. 2.1.

Premenlivý relačná databáza Uložiť vzťah, hodnosť časom. Premenlivý Varr. nazývaný pomenovaný kontajner, ktorý môže obsahovať akékoľvek prípustné hodnota VR. . Pri určovaní akéhokoľvekVarr. Vyžaduje sa určiť zodpovedajúce vzťah názvu Hr.

Stojí za to zdôrazniť, že akúkoľvek aktualizáciu prijatú v praxi databáza – Vložte. (vložte corget v premenlivý vzťah), Vymazať. (Odstrániť corget z hodnoty vzťah premenlivý vzťah) I.Aktualizáciu. (modifikácia corget hodnosť vzťah premenlivý vzťah) - Z modelu pohľadu je operácia priradenia premenlivý vzťah Nový význam vzťah. To neznamená, že uvedené operácie by sa mali vykonávať týmto spôsobom v DBMS: hlavnou vecou je, že výsledok operácií zodpovedá tejto modelovej sémantike.

Všimnite si, že v budúcnosti v prípadoch, keď je presný význam termínu jasný z kontextu, použijeme termín postoj ako v zmysle hodnota vzťahuav zmysle premenlivý vzťah.

A-Priory, alebo "Aronym" , vzťahy, corgetzodpovedá hlavička, vzťahy na telo, hodnoty vzťahu a premenlivý vzťah je moc vzťahy. Napríklad, stupeň vzťahu Sluha rovná štyrom, t.j. je 4-arral kvartérny).

S definíciami definícií sa primerane zvažujú schéma relačnej databázy Sada par<имя_VARr, Hr> vrátane mená a titulkov všetkých variabilné vzťahyktorí sú definované databáza. Relačná databáza - Toto je súbor párov (Samozrejme premenlivý vzťah Kedykoľvek obsahuje niektoré postoj, Najmä prázdny).

Všimnite si, že v klasike relačných databáz Po určení databázové obvody Mohli by sa zmeniť iba hodnoty variabilné vzťahy. Teraz však vo väčšine implementácií sa môže zmeniť databázové obvody: Definícia nových a meniacich sa názvov existujúcich variabilné vzťahy. To sa nazýva evolúciadatabázové obvody.

· Primárny kľúč

A-Priory, primárny kľúč premenlivý vzťah Toto je podmnožina S. Nasadiť sa atribúty jej hlavička, ktorá v akomkoľvek časovej hodnote primárny kľúč (kompozitný, ak kompozícia primárny kľúč Zahŕňa viac ako jednu atributa) v hocijakom corgeta vzťahy na telo sa líši od hodnoty primárny kľúč v akomkoľvek inom corgeta telo z toho vzťaha žiadna podskupina S. Táto vlastnosť nemá. V ďalšej časti ukážeme túto existenciu primárny kľúč v hocijakom hodnoty vzťahu je dôsledkom jednej zo základných vlastností vzťahu, konkrétne, že majetok vzťahy na telo je sada násobný.

Obvyklým každodenným myšlienkom vzťah je stôl, titulok ktorý je schéma vzťah, ale reťazcecortezzi vzťah-Enoxpiler; V tomto prípade mená atribúty zodpovedať názvu stĺpec Táto tabuľka. Preto niekedy hovoria o "stĺpoch tabuľky", čo znamená " atribúty vzťah».

Samozrejme, je to dosť drsná terminológia, pretože bežné tabuľky a riadky a stĺpce sú objednané počas atribúty a cortezzi vzťahu sú prvky neusporiadaných súprav. Avšak, keď sa obrátime na zváženie praktické otázky Organizácie relačných databáz a riadenie prostriedky, použijeme túto "každodennú" terminológiu. Takáto terminológia sa priľne k väčšine komerčných relačných DBMS. Niekedy sa používajú aj podmienky. spis Ako analógový stôl, záznam ako analógová čiara a lúka Ako analógový stĺpec. Dovoľte mi pripomenúť, že sme použili túto terminológiu v prednáškach 1.

· Základné vlastnosti vzťahov

Pozrime sa teraz na niektoré dôležité vlastnosti. vzťahuktorí sledujú predtým definované definície.

Nedostatok duplikátov duplikátov,
Primárne a možné vzťahy

Potom nehnuteľnosť telo ktokoľvek vzťah nikdy neobsahuje násobný-Delikatov, vyplýva z definície vzťahy na telo toľko násobný. V klasickej teórii súborov, podľa definície, akákoľvek sada pozostáva z rôznych prvkov.

Je to z tejto nehnuteľnosti, že prítomnosť každého hodnoty vzťahu primárny kľúč - minimálny súbor atribútyktoré subs hlavička Toto vzťahZlúčenina hodnota ktoré určujú súdny dvor vzťah. Naozaj, pretože kedykoľvek všetko cortezzi telo ktokoľvek vzťah Inak hodnoty vzťahu Prinajmenšom má vlastnosť jedinečnosti plný set jeho atribúty. Vo formálnej definícii primárny kľúč Vyžaduje jeho "minimálnosť", t.j. v súbore atribúty primárny kľúč by nemali obsahovať atribútyktoré sa môžu zlikvidovať bez toho, aby boli dotknuté hlavné nehnuteľnosti - jednoznačná definícia corget. O niečo neskôr ukážeme, prečo minimálna nehnuteľnosť primárny kľúč Je to kritické. Je jasné, že ak existuje vzťah Je nastavená atribútys majetkom jedinečnosti, potom existuje minimálny súbor atribútys majetkom jedinečnosti.

Samozrejme, môže existovať hodnoty vzťahu S niekoľkými nekonzistentnými minimálnymi súbormi atribútymajú vlastnosti jedinečnosti. Napríklad, ak sa vrátite k predpokladom prednášky 1 na jedinečnosť hodnôt atribúty Zbočiera a servis vzťah Sluha Potom pre každého hodnosť z toho vzťah Máme dve sady atribútytvrdenie primárny kľúč(Service) a (S) . V tomto prípade dizajnér databáza musí rozhodnúť, ktorý z alternatívnych súborov atribúty zavolať primárny kľúča zvyšok minimálnych súborov atribútyMať vlastnosť jedinečnosti sa nazýva možné kľúče 1).

Koncepcia primárny kľúč je mimoriadne dôležité v súvislosti s koncepciou integrity databázy. Všimnite si, že aj keď formálne existencia primárny kľúč hodnoty vzťahu je dôsledkom toho, čo vzťahy na telo - Toto je veľa, v praxi primárny (a možný) Kľúče variabilné vzťahy v dôsledku explicitných pokynov dizajnéra vzťah. Určený premenlivý vzťah, dizajnér simuluje časť oblasti predmetu, z ktorých budú obsahovať databáza. A samozrejme, dizajnér by mal poznať povahu týchto údajov. Mal by napríklad byť známe, že žiadny dvaja zamestnanci v žiadnom okamihu nemôžu mať osvedčenie s rovnakým číslom. Takže môže (a dokonca by mal, ako sa bude ukázať trochu neskôr) jasne deklarovať(Prípad) možný kľúč. Ak spoločnosť zistila, že všetci zamestnanci by mali mať rôzne celé mená, dizajnér môže (a opäť by mal vyhlásiť možný kľúč a(Strana) . Potom musí dizajnér oceniť, ktorý z možné kľúče je spoľahlivejší (majetok jeho jedinečnosti nikdy nebude zrušená) a vybrať najspoľahlivejšie možný kľúč ako primárny (V našom prípade by kľúč bol kľúčom(Prípad) Vzhľadom k tomu, že rozhodnutie o jedinečnosti celých mien zamestnancov vyzerá umelé a môže byť ľahko zrušené riadením podniku).

Teraz vysvetlíme, prečo návrhár by mal výslovne vyhlásiť primárne a možné kľúče variabilných vzťahov 2). Faktom je, že v dôsledku toho DBMS vyhlasuje informácie, ktoré sa použijú ako obmedzenia integrity 3). DBMS nikdy nedovoľujú vzhľad premenlivý vzťah hodnosť vzťahobsahujúce dva corget S rovnakým významom atributa Biedni (Definícia primárny kľúč Pre daný premenlivý vzťah Zrušenie nemôže byť zrušené). Výskyt dvoch násobný S rovnakým významom atributa Sids Bude to tiež nemožné, pokiaľ zostane definícia(Strana) ako možný kľúč. Oznámenia primárny a možné kľúče Dajte DBMS možnosť zachovať integritu databáza Aj v prípade pokusov o pristúpenie nesprávnych údajov do nej.

Nakoniec, späť do minimálneho majetku primárny a možné kľúče. Ako je uvedené vyššie, táto vlastnosť je kritická a dôležitosť sa prejavuje v interpretácii primárny a možné kľúče ako obmedzenia interquality. V našom príklade vzťah Sluha Nielen mnohí budú mať vlastnosť jedinečnosti. atribúty (Prípad) , ale aj veľa(SIDMER, SID_OTD_NOMER). Ale keby sme boli postavení ako obmedzenia integrity Požiadavka jedinečnosti(SIDMER, SID_OTD_NOMER)Potom by DBMS zaručili neprítomnosť násobný S rovnakým významom atributa Biedni nie je rovnakým spôsobom vzťah Sluha , ale len v skupinách násobný s rovnakým významom atributa Plachetnica . Je jasné, že to nezodpovedá významu simulovanej oblasti predmetu.

Spustiť dopredu, všimnite si, že v mnohých praktické implementácie Relačné DBMS umožnili porušenie majetku jedinečnosti násobný Pre medziprodukt vzťahuimplicitne pri vykonávaní dotazov. Taký vzťah nie sú nastavené, ale multisety, ktoré v niektorých prípadoch umožňuje dosiahnuť určité výhody, ale často vedie k vážnym problémom. Budeme sa na to podrobnejšie zamerať pri diskusii o jazyku SQL.

Nedostatok poriadku

Samozrejme, formálne majetok nedostatku poriadku násobný v hodnota vzťahu je tiež dôsledkom stanovenia vzťahy na telo toľko násobný. Táto vlastnosť sa však môže tiež pozrieť na druhú stranu. Áno, skutočnosť, že vzťahy na telo je sada násobný, uľahčuje výstavbu kompletného mechanizmu model relačného dát, vrátane základných prostriedkov manipulácie dát - relačného algebry a kalkulu. Ale podľa môjho názoru, hlavný dôvod nie je v tomto.

Často dosť používateľov relačných DBMS a vývojárov informačné systémy spôsobuje podráždenie skutočnosti, že nemôžu uložiť cortezzi vzťahu Na fyzickej úrovni v požadovanom poradí. A odkazy na požiadavky relačnej teórie tu nie sú veľmi vhodné. Bolo by možné rozvíjať inú teóriu, v ktorej nariadila " vzťah" Uchovávajte však objednané zoznamy násobný v podmienkach intenzívne aktualizovaných databáza Je oveľa zložitejšie technicky a podpora objednávania znamená významnú nad hlavou.

Žiadna požiadavka na udržanie objednávky na súpravu násobný vzťah Poskytuje DBMS dodatočnú flexibilitu počas skladovania databázy v externá pamäť a pri vykonávaní požiadaviek databáza. To nie je v rozpore so skutočnosťou, že pri formulovaní žiadosti o databázu, napríklad v SQL, môžete si zariešiť výslednú tabuľku podľa hodnôt niektorých stĺpcov. Tento výsledok, všeobecne, nie je vzťaha niektoré objednané zoznam násobnýA môže byť len konečným výsledkom, že požiadavky už možno adresovať.

Nedostatok ochranných atribútov

Atribúty vzťahu nie je objednané, pretože podľa definície vzťah názvu Existuje mnoho par<имя атрибута, имя домена> . Na referenciu na hodnotu atributa v corgeta vzťah Vždy používané meno atributa. Ľahko si všimnúť explicitnú analógiu medzi tituly vzťahov a konštrukčné typy v programovacích jazykoch. Dokonca aj v programovacom jazyku c s jeho prakticky neobmedzenými možnosťami práce s ukazovateľmi, sa stále odporúča obrátiť na oblasti štruktúr iba ich menami. Ak je napríklad konštrukčná premenná definovaná v jazyku c

struct (int a; char b; int c) d;

tento jazykový štandard sa neodporúča používať na prístup na pole Symbol.b DESIGN * (& D + SITEF (INT)) (Urobte adresu konštrukčnej premennejd. , Pridajte k nemu počet bajtov v mnohých číslach a vyberte si hodnotu bajtu na prijatej adresy). Toto je vysvetlené skutočnosťou, že s reálnym miestom v pamäti polí tak, že je to konštrukčná premenná v poradí podľa definície, v mnohých počítačoch bude potrebné zosúladiť polec. Bajtom s rovnomernou adresou. Preto jeden bajt len \u200b\u200bzmizne. Keď sa konštrukčná premenná nachádza v pamäti, ekonomický kompilátor (alebo skôr optimalizátor) preskupuje poleb a C. a vyššie uvedený dizajn neposkytne prístup do poľab. . Pre správne zaobchádzanie s poľab Variabilná D. Musíte použiť konštrukcied.B alebo a D-\u003e B , t.j. výslovne zadajte názov poľa.

Podobné praktické úvahy odôvodňujú nedostatok poriadku atribúty v vzťah hlavičky. V tomto prípade samotné DBMS rozhodne o tom, aký by sa mal skladovať fyzický poriadok atribúty násobný (Aj keď je zvyčajne rovnaký fyzický poriadok pre všetkých násobný Každý vzťah). Okrem toho táto vlastnosť uľahčuje fungovanie úpravy systémov existujúcich vzťahu nielen pridaním nového atribútyAle aj odstránením existujúcich.

Opäť beží dopredu, poznamenávame, že v SQL v niektorých prípadoch je povolená indikácia indexu atribútya ako implicitná objednávka atribúty Využíva ich objednávku v lineárnej forme určovania schémy vzťah (Toto je jedna z odsúdených charakteristík jazyka SQL).

Atomicity hodnôt atribútov
Prvá normálna forma

Hodnoty všetkých atribúty sú atómové (alebo skôr skalárne). Vyplýva to z definície doména Ako potenciálny súbor skalárnych hodnôt dátový typ, t.j. Medzi hodnotami doména Nesmie existovať žiadne hodnoty s viditeľnou štruktúrou, vrátane sady hodnôt ( vzťah). Všimnite si, že to nie je v rozpore s tým, čo bolo uvedené v časti "Základné pojmy relačných databáz" o potenciálnom používaní používania špecifikácie atribúty dátový typdefinované používateľmi. Napríklad by bolo možné pridať do schémy vzťah Sluha atribút Bočný definované doma (alebo typ údajov) Fotografia . Hlavná vec v atómom hodnôt atribúty Je to, že relačné DBMS by nemali poskytovať užívateľom explicitnú viditeľnosť vnútornej štruktúry hodnoty. So všetkými hodnotami možno aplikovať len pomocou operácií definovaných v príslušnom typ údajov.

Je zvyčajné povedať, že v relačných databáz Povolené sú iba normalizované vzťahalebo vzťahreprezentovaný B. prvá normálna forma.

Príklad je abnormalizovaný vzťah znázornené na obr. 2.2. Môžeme povedať, že tu máme binárne postojV ktorých hodnoty atributa Oddelenia vzťah. Všimnite si, že originál postoj Sluha Je to normalizovaná možnosť vzťah Oddelenia slúžia . Normalizovaný variant je znázornený na obr. 2.3.

Normalizovaný vzťah Tvoria základ klasických relačný prístup k organizácii databáz. Majú niektoré obmedzenia 1) (nie všetky informácie sú vhodné pre reprezentáciu vo forme plochých stolov), ale výrazne zjednodušujú manipuláciu s údajmi. Zvážte napríklad dve identické prevádzkovatelia aplikácií corget:

n. zapísanie zamestnancov Kuznetsov (Pass Number 3000, platu 25000.00) na číslo 320;

n. zapíšte zamestnanec Kuznetsov (preskočiť číslo 3000, platu 25000.00) na číslo 310.


Obr. 2.


Obr. 3. Vzťahová služba: Normalizovaná možnosť
Služby

Ak sú informácie o zamestnancoch prezentované ako vzťah Sluha Obidva operátori sa budú vykonávať rovnako (vložiť súdny dvor v postoj Sluha ). Ak pracujete s abnormalizovaným vzťah Oddelenia slúžia Potom prvý operátor povedie k jednoduchým vložením corgeta druhý na pridanie corget v hodnote postoj atributa ODDELENIE corget z primárny kľúč 310 .

Pri práci s abnormalizovaným vzťahy Podobné ťažkosti sa vyskytujú pri vykonávaní odstraňovania a modifikácie násobný.

· Model relačného dát

Keď sme v predchádzajúcich častiach hovorili o základných konceptoch relačných databázZmierili sme žiadne špecifické implementácie. Tieto argumenty sa rovnako týkajú akéhokoľvek systému, keď bola použitá výstavba relačný prístup.

Inými slovami, použili sme koncepcie tzv. model relačného dát. Dátový model (v kontexte regiónu databázy) opisuje určitý súbor generických konceptov a podpisuje, že všetky špecifické DBMS a ich databázaAk sú založené na tomto modeli. Prítomnosť dátového modelu vám umožňuje porovnávať špecifické implementácie pomocou jedného spoločného jazyka.

Hoci koncepcia dátového modelu je všeobecný, a môžeme hovoriť o hierarchických, sieťových, sémantických a iných dátových modeloch, treba poznamenať, že v oblasti databázy Tento koncept zaviedol Edgar Coddo vo vzťahu k relačným systémom a v tomto kontexte sa najúčinnejšie používa. Pokusy o priame používanie podobných modelov pre organizácie Duulant ukazujú, že relačný model Aj "skvelé" a pre strelecké organizácie sa ukáže, že je "malý".

všeobecné charakteristiky

Hoci koncept model relačného dát Prvý zaviedol zakladateľa relačný prístup Edgar CODD, najbežnejšia interpretácia model relačného dátZdá sa, že patrí k dobre známemu populácii myšlienok codda cristofour, ktorý ho reprodukuje (s rôznymi objasneniami) takmer všetky jeho knihy (pozri napríklad K. Dátum. Úvod do databázového systému., M., St. Petersburg: Williams.- 2000). Podľa výkladu dátumu, \\ t relačný model pozostáva z troch častí popisujúcich rôzne aspekty relačný prístup: Štrukturálna časť, manipulačná časť a holistická časť.

V štrukturálnej časti modely Je stanovená, že jediná všeobecná štruktúra údajov použitých v relačnej databáze sa normalizujen. - postoj. Definované koncepty domény, atribúty, násobný, hlavička, telo a premenlivý vzťah. V podstate sme v dvoch predchádzajúcich častiach tejto prednášky považovali za koncepty a vlastnosti štrukturálnej zložky relačný model.

V manipulácii modely Druhý základný mechanizmus manipulácie relačných databáz sa určuje - relačná algebra a relačný kalkul. Prvý mechanizmus je založený najmä na klasickej teórii súborov (s niektorými objasneniami a prídavkami) a druhá je na klasickom logickom prístroji výpočtu predikátov prvého rádu. Tieto mechanizmy budeme podrobnejšie zvážiť v nasledujúcich prednáškach, ale pre nás len všimneme, že hlavná funkcia manipulačnej časti relačný model je zabezpečiť vzťah vzťahu akéhokoľvek konkrétneho jazyka relačných databáz: jazyk sa nazýva vzťah, ak nemá menej expresivity a moci ako relačné algebry alebo relačný kalkul.

Integrita subjektu a odkazov

Nakoniec, v holistickej časti model relačného dát Zaznamenajú sa dve základné požiadavky integrity, ktoré musia byť podporované v akomkoľvek relačnom DBMS. Prvá požiadavka sa nazýva požiadavka esencie integrity (integrity subjektov). Objekt alebo podstata reálneho sveta v relačných databázach zodpovedá cortezzi vzťahu. Konkrétne je to požiadavka súdny dvor akýkoľvek význam vzťah akýkoľvek premenlivý vzťah by sa mali odlíšiť od iných corget z toho hodnoty vzťahu Podľa hodnôt základných hodnôt vopred určeného množstva atribúty premenlivý vzťah, t.j. inými slovami premenlivý vzťah musieť mať primárny kľúč. Ako sme videli v predchádzajúcej časti, táto požiadavka je automaticky splnená, ak v systéme nie sú porušené základné vlastnosti. vzťahu.

V skutočnosti, požiadavka integrity esencie Úplne znie takto: premenlivý vzťah musí existovať primárny kľúča žiadny význam primárny kľúč v cortech hodnosť vzťah premenlivý vzťah by nemali obsahovať neisté hodnoty. Aby bolo toto znenie plne pochopené, musíme aspoň stručne diskutovať o koncepcii neistý význam (NULOVÝ).

Samozrejme, teoreticky súdny dvorvyrazený postojmusí obsahovať všetky vlastnosti podstaty reálneho sveta, ktoré chceme udržať databáza. V praxi však nie všetky tieto vlastnosti môžu byť známe v čase, keď sa vyžaduje, aby sa podstata stanovila databáza. Jednoduchý príklad Môžu existovať postup pre prácu na prácu, ktorej mzdy ešte nie sú definované. V tomto prípade zamestnanec personálneho oddelenia, ktorý vstúpi do postoj Sluha súdny dvorPopis nového zamestnanca jednoducho nemôže poskytnúť hodnotu atributa Sidmarp (Akákoľvek hodnota doména Rozmery_Text Bude to nesprávne charakterizovať platu nového zamestnanca).

Edgar CODD navrhol používať v takýchto prípadoch neisté hodnoty. Neistú hodnotu Nepatrí dátový typ a môžu byť prítomné medzi hodnotou akéhokoľvek atributadefinované na akomkoľvek typ údajov (Ak je to zjavne zakázané pri určovaní atributa). Aka. - Toto je niektoré dátový typ aleboNull, op. - akákoľvek dvojrozmerná "aritmetická" prevádzka dátový typ (napr.+) a lop - prevádzkovanie porovnávania hodnôt tohto typ (napr.= ), potom podľa definície:

oP null \u003d null

Null op a \u003d null

lopa null \u003d neznáme

Null lop a \u003d neznáme

Tu neznáme - Toto je tretia hodnota logických, alebo booleov, ako sú tieto vlastnosti:

Nie je neznámy \u003d neznáme

pravdivé a neznáme \u003d neznáme

pravdivé alebo neznáme \u003d true

falošné a neznáme \u003d false

falošné alebo neznáme \u003d neznáme

(Pripomeňme, že operácie a alebo alebo sú komutatívne) 2). V tejto prednáške máme dosť krátky úvod neisté hodnotyAle v nasledujúcich prednáškach sa opakovane vrátime k tejto téme.

Prvá z požiadaviek je teda požiadavka integrity esencie - znamená to primárny kľúč musí plne identifikovať každý subjekt, a teda v zložení akejkoľvek hodnoty primárny kľúč Nie je povolená žiadna prítomnosť neisté hodnoty. (V klasickom relačný model Táto požiadavka sa vzťahuje na možné kľúče; \\ T Ako bude uvedené v nasledujúcich prednáškach, v SQL-orientované DBMS takáto požiadavka na možné kľúče Nie je podporované.)

Druhá požiadavka požiadavka referenčnej integrity (referenčná integrita), je zložitejší. Samozrejme, keď súlad s normalizáciou vzťahu Komplexné esencie reálneho sveta sú prezentované v relačnej databáze vo forme niekoľkých násobný niekoľko vzťahu. Predstavte si napríklad, čo sa vyžaduje relačná databáza PodstataODDELENIE z atribúty Reminner (počet oddelení), oddelenie (počet zamestnancov) aOdchod (Mnohí zamestnanci oddelenia). Pre každý zamestnanec je potrebné uložiťBiedni (číslo zamestnanca),Sids (meno zamestnanca) aSidmarp (mzda zamestnanca). Ako uvidíme v prednáške 7, s správnym návrhom zodpovedajúcej databázy sa objaví dva vzťah: Oddelenia (odlet, oddelenie) (primárny kľúč(Odchod)) a Zamestnanci (Sidmer, Sids, Sidmarp, Sids) (primárny kľúč(Sidser)).

Ako je vidieť, atribút SID_OTD_NA zavedené B. postoj Sluha nie preto, že číslo oddelenia je vlastným majetkom zamestnanca, a to len na to, aby bolo možné obnoviť plnú podstatu v prípade potrebyODDELENIE . Hodnota atributa SID_OTD_NA v hocijakom corgeta vzťah Sluha Musí zodpovedať hodnote atributa Remu v niektorých corgeta vzťah Oddelenia . Atribút Tento druh (možno kompozitný) sa nazýva zahraničný kľúč (cudzí kľúč) Pretože jeho hodnoty jednoznačne charakterizujú subjekty prezentované cortays Niečo iné vzťah (t.j. Nastavte ich hodnoty primárny kľúč). Samozrejme, externý kľúč môže byť kompozitný, t.j. pozostáva z niekoľkých atribúty. Hovoria to postojv ktorom sa určuje externý kľúč, odkazuje na príslušné postojv ktorom rovnaké atribút je primárny kľúč.

Dopyt integrita alebo požiadavky na integrity externý kľúčje to pre každú hodnotu externý kľúčvznikajúci corgeta hodnosť vzťah smiešny premenlivý vzťahalebo v hodnote postoj premenlivý vzťahNa ktorom sa odkazuje na odkaz súdny dvor s rovnakým významom primárny kľúčAlebo hodnota externého tlačidla musí byť úplne nedefinovaná (t.j. nič neznamená) 3). Pre náš príklad to znamená, že ak je špecifikované číslo služby, musí toto oddelenie existovať.

Všimnite si to primárny kľúč, externý kľúč musia byť špecifikované pri určovaní premenlivý vzťah a je obmedzenie prípustných hodnôt vzťah Toto premenlivý. Inými slovami, definícia externý kľúč je definícia obmedzenia integrity databáza.

Obmedzenia integrity esencie a podľa odkazov Musia byť podporované DBMS. Pre dodržiavanie predpisov integrity esencie Na to, aby zaručili absenciu premenlivý vzťah hodnosť vzťahuobsahujúce cortezzi s rovnakým významom primárny kľúč (a zakázať vstup do hodnoty primárny kľúč neisté hodnoty). Z integrita Situácia je trochu zložitejšia.

Je jasné, že pri aktualizácii odkazu vzťah (vložka nových násobný Alebo modifikácie hodnoty externý kľúč existujúci cortech) Stačí zabezpečiť, aby sa nezobrazili nesprávne hodnoty. externý kľúč. Ale ako byť pri odstraňovaní corget z vzťahČo je to link olovo?

Tam sú tri prístupy, z ktorých každý podporuje integrita. Prvým prístupom je, že je zakázané odstrániť corgetpre ktoré sú odkazy (t.j., musíte najprv odstrániť referencie cortezzialebo zmeniť svoje hodnoty externý kľúč). Pri odstraňovaní corgetNa ktorom sú odkazy vo všetkých odkazujúcich cortech hodnota externý kľúč automaticky sa stáva úplne neistý. Nakoniec, tretí prístup (odstránenie kaskádov) je, že pri odstraňovaní corget z vzťahktorý sa odkazuje od odkazu vzťah Všetky odkazy sa automaticky vymažú. cortezzi.

V rozvinutých relačných dbms si môžete zvyčajne vybrať, ako udržať integrita Pre každý prípad definície externý kľúč. Samozrejme, že takéto rozhodnutie je potrebné analyzovať požiadavky konkrétnej aplikovanej oblasti.

· Záver

S najväčšou pravdepodobnosťou, potenciálni čitatelia tohto kurzu pracujú alebo budú pracovať s akýmikoľvek DBMS orientovanými na SQL. Akákoľvek spoločnosť, ktorá produkuje podobné DBMS, si ich volá relačné systémy. Je veľmi dôležité jasne pochopiť, ktoré vlastnosti takýchto systémov sú skutočne relačné, a že nie sú úplne zodpovedajú zdrojom, jasným a prísnym nápadám relačný prístup A dokonca ich odporuje. Pomôže to viac správne organizovať databáza a budovať aplikácie v prostredí DBMS orientovanej na SQL.

V niekoľkých prednáškach tohto kurzu sú možnosti aktuálnych jazykov SQL dostatočne podrobne diskutované: SQL: 1999 a SQL: 2003. Ale prví čitatelia sú ponúkané materiálu, ktorý predstavuje relačný prístup v čistej forme. V tejto prednáške je zavedený koncepčný základ relačný prístup; \\ T Hlavné podmienky sú určené; Skúmali sa základné vyšetrovania základné definície. Uvažovaný model relačného dát Je určený predovšetkým na posúdenie súladu rôznych implementácií celkovej sumy DBMS relačný prístup.

Úvod

Začiatok XXI storočia, odborníci odkazujú na storočie počítačová technológia. Ľudstvo vstupuje do zásadne novej informačnej éry. Všetky zložky životného štýlu ľudí sa menia. Úroveň informácií sa stáva jednou z charakteristík úrovne rozvoja štátu.

Mnohé rozvojové krajiny si uvedomili na správnej úrovni výhody, ktoré nie sú pokryté šírením a rozvojom informačných a komunikačných technológií. A niet pochýb o tom, že skutočnosť, že hnutie do informačnej spoločnosti je druh cesty, ktorá je zameraná na budúcnosť ľudskej civilizácie.

Na základe relačného modelu je databáza špecifický súbor tabuliek, nad ktorými sa vykonávajú operácie, ktoré sú formulované z hľadiska relačnej algebry a relačného počtu.

V relačnom modeli operácie vzhľadom na databázové objekty existuje teoretický charakter jadrom akejkoľvek databázy. Model predstavuje rôzne štrukturálne dáta, obmedzenia integrity a operácie manipulácie s údajmi.

Základné koncepty modelu relačného dát

Hlavné koncepcie zvláštne pre relačné údaje sa považujú za typ dát, domény, atribút, n-n-n-nEPOZÍzdOním, primárnym kľúčovým vzťahom. Spočiatku si všimneme význam týchto konceptov na príklad vzťahu "zamestnancov", ktorý obsahuje informácie o zamestnancoch niektorých organizácií

Koncepcia typu údajov je úmerná v modeli relačného dát s koncepciou typu údajov v programovacích jazykoch. V moderných relačných databázach, skladovanie symbolických číselných údajov, bitových reťazcov, ako aj špeciálnych "časových" dát, ktoré sa celkom aktívne rozvíjajú v procese rozširovania možností relačných systémov.

Koncepcia domény má určitú špecifickosť pre databázy, hoci majú nejakú antológiu s kurzom, pokiaľ ide o niektoré programovacie jazyky. Všeobecne platí, že doména je určená úlohou nejakého základného typu, ku ktorému je prvok domény a ľubovoľný logický výraz súvisia s aplikáciou v položke typu údajov. V prípade, že výpočet tohto logického výrazu predstavuje "pravdu" výsledok, prvok je prvokom domény.

Správne interpretácia koncepcie domény sa považuje za pochopenie domény, ako jeden z prípustných potenciálnych súborov hodnôt tohto typu.

Napríklad doména "mená" v našom prípade, na základnom type symbolu, je definovaný, ale počet jeho hodnôt bude zahŕňať iba tie termíny, ktoré sú schopné zobrazovať meno) takéto dátumy nemožno začať s a mäkké znamenie). Je tiež potrebné si všimnúť sémantické zaťaženie koncepcie domény: len v prípade, že údaje budú porovnateľné, keď budú relevantné pre doménu, ale len jeden

V našom prípade nemôžu byť porovnateľné hodnoty domén "čísla" a "skupinových čísel", ktoré súvisia s typom celého čísla. Všimnite si, že v niektorých prípadoch sa koncepcia samotnej domény nenájde samotnú aplikáciu, pretože V Oracle V.7.

Schéma vzťahu je osobné viacero párov: ktorý zahŕňa: názov atribútu, typ, ale len vtedy, ak koncepcia domény nie je podporovaná. Stupeň "umeliny" je systém vzťahov - to určitá sila Sú to nastavené.

Zároveň sa vzťahy "zamestnanci" rovná štyrom a počítať so 4-arrum. A ak sú všetky atribúty jedného vzťahu definované na relatívne odlišných domén, je to inteligentne na pomenovanie názvov atribútov príslušných domén bez toho, aby ste zabudli, že sa to považuje za len jednu z výhodnej metódy pomenovania a neposkytuje príležitosť na odstránenie rozdielov týkajúcich sa koncepcia domény a atribútu. Databázový diagram je špecifický súbor vzťahových obvodov.

Nič, ktorý zodpovedá tejto schéme vzťahu, je súbor párov, čo sa odráža v zápise každého názvu atribútu vo vlastníctve systému vzťahov.

"Hodnota" sa považuje za prípustnú hodnotu domény tohto atribútu, v prípade, že koncepcia domény nie je podporovaná. Výsledkom je stupeň zúženia, t.j. Počet určitých prvkov sa zhoduje so stupňom príslušného systému vzťahov

Truple je sada nominálnych hodnôt zadaného typu.

Postoj je veľký počet Novinky, ktoré zodpovedajú jednému systému vzťahov. V skutočnosti, koncepcia systému vzťahov je bližšie k koncepcii štrukturálneho typu údajov v programovacích jazykoch, a postoj ako sada dcízok bol vzťah tela. Preto by bolo logické vyriešiť systém vzťahov samostatne, a neskôr jeden alebo viac vzťahov s touto schémou, ale relačné databázy nie sú akceptované.

Názov prepravného obvodu v porovnaní s týmito databázami vo väčšine prípadov sa zhoduje s názvom zodpovedajúceho vzorca. V klasických relačných databázach, po špecifickej databázovej schéme, sa menia iba inštancie vzťahy. Môžu sa objaviť nové a existujúce trsy. Ale v mnohých implementáciách sa však nachádza zmena v databázovej schéme: určenie novej a zmene už existujúcich vzťahových obvodov, čo je zvyk nazývané vývoj databázovej schémy.

Zvyčajný pohľad na vzťah je považovaný za tabuľku, ktorej názov je považovaný za systém vzťahov, a reťazce - kortex inštancie inštancie, v tomto prípade sa názvy atribútov nazývajú stĺpce tejto tabuľky. V tomto ohľade niekedy hovoria "stĺpec tabuľky", čo znamená "atribút vzťahu". Ako možno vidieť, hlavné štrukturálne koncepty modelu relačného dát (okrem koncepcie domény) majú veľmi jednoduchú intuitívnu interpretáciu, hoci v teórii relačnej databázy sú všetky rozhodne formálne a presne.

Ako už bolo uvedené, modely relačného dát sú najobľúbenejšie. V súlade s modelom relačného dát sa údaje predkladajú vo forme súboru tabuliek, počas ktorých môžu byť operácie vykonávať formulované z hľadiska relačnej algebry alebo relačného počtu.

Na rozdiel od hierarchických a sieťových modelov údajov v relačnom modeli operácií nad objektmi sú teoretický a viacnásobný znak. To umožňuje používateľom formulovať svoje požiadavky viac kompaktnejšie, pokiaľ ide o väčšie dátové jednotky.

Zvážte terminológiu používanú pri práci s relačným databázam.

Primárny kľúč.Primárnym kľúčom je pole alebo sada polí, jednoznačne identifikuje záznam.

Často existuje niekoľko možností na výber primárneho kľúča. Napríklad v malej organizácii primárnych kľúčov entity zamestnanca, ako číslo tabuľky a kombinácia priezviska, meno a patronymného čísla (s dôverou, že neexistuje žiadna úplná práca v organizácii), alebo číslo a séria cestovného pasu (ak existujú pasy pre všetkých zamestnancov). V takýchto prípadoch sa pri výbere primárneho kľúča, uprednostňuje najjednoduchšie kľúče (v tomto príklade - číslo tabuľky). Ostatní kandidáti na úlohu primárneho kľúča sa nazývajú alternatívne klávesy.

Požiadavky na primárny kľúč:

    jedinečnosť - to znamená, že tabuľka by nemala existovať dva alebo viac záznamov s rovnakou hodnotou primárneho kľúča;

    primárny kľúč by nemal obsahovať prázdne hodnoty.

Pri výbere primárneho kľúča sa odporúča zvoliť atribút, ktorých hodnota sa nemení počas celého času inštancie existencie (v tomto prípade, číslo tabuľky je vhodnejšie ako priezvisko, pretože je možné zmeniť , Zvýšenie IT).

V poliach, ktoré sa často používajú pri vyhľadávaní a triedenie údajov sekundárne kľúče: Pomôžu tomuto systému nájsť potrebné údaje oveľa rýchlejšie. Na rozdiel od primárnych polí polí pre indexy (sekundárne kľúče) môžu obsahovať ne-jedinečné hodnoty.

Primárne kľúče sa používajú na vytvorenie odkazov medzi tabuľkami v relačnej databáze. V tomto prípade zodpovedá primárny kľúč jednej tabuľky (rodičovský) externý kľúčĎalšia tabuľka (dcérska spoločnosť). Externý kľúč obsahuje hodnoty pridruženého poľa, ktoré je primárnym kľúčom. Hodnoty vo vonkajšom človeku môžu byť neprimerané, ale nemali by byť prázdne. Primárne a externé klávesy musia byť rovnaký typ.

Medzi tabuľkami. Záznamy v tabuľke môžu závisieť od jednej alebo viacerých záznamov o inej tabuľke. Takéto vzťahy medzi tabuľkami sa nazývajú spojenia.Komunikácia je definovaná nasledovne: pole alebo niekoľko polí jednej tabuľky, nazývané externý kľúčoznačuje primárny kľúč inej tabuľky. Príkladom. Keďže každá objednávka musí pochádzať zo špecifického klienta, každá položka tabuľky Príkazov.(Objednávky) musia odkazovať na príslušnú položku tabuľky Zákazníkov.(Zákazníci). Toto je spojenie medzi tabuľkami Príkazov.a Zákazníkov.. Stôl Príkazov.musí existovať pole, v ktorých sú uložené odkazy na tie alebo iné položky tabuľky. Zákazníkov..

Typy pripojení. Medzi tabuľkami sú tri typy pripojení.

Jeden na jedného -každé nahrávanie rodičovskej tabuľky je spojené len s nahrávaním jedného dieťaťa. Takéto spojenie sa nachádza v praxi oveľa menej často jeden pre mnohýcha implementovaný určením jedinečného cudzieho kľúča. Komunikácia jeden na jednéhopoužite, ak nechcú, tabuľka "prevrátená" z veľkého počtu polí. Databázy, ktoré zahŕňajú tabuľky s takýmto väzbou, nemožno považovať za úplne normalizované.

Jeden pre mnoho -každé nahrávanie rodičovskej tabuľky je spojené s jedným alebo viacerými dcérskymi záznamami. Napríklad jeden klient môže urobiť niekoľko objednávok, ale niekoľko zákazníkov nemôže urobiť jednu objednávku. Komunikácia O. dean to Mnohoje to najčastejšie pre relačné databázy.

Mnohí na mnoho -niekoľko záznamov jednej tabuľky je spojených s niekoľkými záznamami. Napríklad jeden autor môže napísať niekoľko kníh a niekoľko autorov - jedna kniha. V prípade takejto spojenia vo všeobecnosti nie je možné určiť, ktorý záznam jednej tabuľky zodpovedá vybranému záznamu inej tabuľky, čo robí nemožné fyzické (na úrovni indexov a spúšťačov) implementáciu takéhoto vzťahu príslušných tabuliek. Preto, pred prechodom na fyzický model, musia byť všetky odkazy "Mnohé až mnohé" prevedené (niektoré prípadové prostriedky, ak sa používajú pri navrhovaní údajov, urobte to automaticky). Podobný vzťah medzi oboma tabuľkami je implementovaný vytvorením tretieho stola a implementácie typu "jeden až mnoho" každej z dostupných tabuliek s medziľahlou tabuľkou.

Databáza (databáza) -ide o pomenovanú sadu štruktúrovaných údajov týkajúcich sa určitej oblasti predmetu a určená na skladovanie, akumuláciu a spracovanie pomocou počítačov.

Relačná databáza (RBD) - Toto je súbor vzťahov, ktorých mená sa zhodujú s menami systémov v systéme DB.

Základné pojmyrelačné databázy:

· Dátový typ - Typ špecifických hodnôt stĺpcov.

· Doména (Doména) - sada všetkých platných hodnôt atribútov.

· Atribút (Atribút) - názov stĺpca stola, ktorý charakterizuje vlastnosť pomenovaného objektu, ako je napríklad študentské priezvisko, dátum objednania, miesto zamestnanec atď.

· Súdny dvor - reťazec tabuľky, ktorý je súborom hodnôt logicky súvisiacich atribútov.

· Postoj (Vzťah) - tabuľka odrážajúca informácie o objektoch reálneho sveta, napríklad o študentoch, objednávkach, zamestnancoch, obyvateľoch atď.

· Primárny kľúč (Primárny kľúč) - pole (alebo sada polí) tabuľky, jednoznačne identifikuje každú zo svojich záznamov.

· Alternatívny kľúč - Toto je pole (alebo sada polí), nekonzistentné s primárnym kľúčom a jednoznačne identifikovateľnou inštanciou záznamov.

· Externý kľúč - Toto je pole (alebo sada polí), ktorých hodnoty sa zhodujú s existujúcimi hodnotami primárneho tlačidla inej tabuľky. Pri písaní dvoch tabuliek s primárnym kľúčom prvej tabuľky je spojený externý kľúč druhej tabuľky.

· Model relačného dát (RMD)- Organizácia údajov vo forme dvojrozmerných tabuliek.

Každá relačná tabuľka musí mať tieto vlastnosti:

1. Každá položka tabuľky je jedinečná, t.j. Sada hodnôt v poliach sa neopakuje.

2. Každá hodnota sa zaznamenáva na priesečníku reťazca a stĺpca - je atómový (neoddeliteľný).

3. Hodnoty každej oblasti musia byť jeden typ.

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

5. Postup umiestnenia záznamov je zanedbateľný.

Základné BD prvky:

Lúka - Základná jednotka logická organizácia údaje. Na opis poľa sa používajú tieto vlastnosti:

· Meno, napríklad priezvisko, krstné meno, patronymický, dátum narodenia;

Typ, napríklad reťazec, symbol, číselný, dátum;

· Dĺžka, napríklad v bajtoch;

· Presnosť pre numerické údaje, napríklad dve desatinné príznaky na zobrazenie frakčnej časti čísla.

Záznam - súbor hodnôt logicky súvisiacich polí.

Index - Zrýchlite vyhľadávaciu prevádzku záznamov používaných na inštaláciu pripojení medzi tabuľkami. Tabuľka, pre ktorú sa index používa, sa nazýva indexovaný. Pri práci s indexmi je potrebné venovať pozornosť organizácii indexov, ktorá je základom pre klasifikáciu. Jednoduchý index je reprezentovaný jedným poľom alebo logickým výrazom spracovaním jedného poľa. Kompozitný index predstavuje niekoľko polí s možnosťou použitia rôznych funkcií. Indexy tabuľky sú uložené v indexovom súbore.


Integrita údajov - Toto je nástroj na ochranu údajov v komunikačných oblastiach, čo umožňuje podporovať tabuľky v konzistentnom (konzistentnom) stave (to znamená, že neumožňuje existenciu v podriadenej tabuľke položiek, ktoré nemajú vhodné záznamy v materskej tabuľke).

Vyšetrovanie - formulovaná otázka jednej alebo viacerých vzájomne prepojených tabuliek obsahujúcich kritériá odberu vzoriek údajov. Žiadosť sa vykonáva pomocou štruktúrovaného jazyka. sQL dotazy Jazyk srturucred dotazov). V dôsledku vzoriek údajov z jednej alebo viacerých tabuliek sa dá získať rôzne záznamy, nazývané zobrazenie.

Prezentácia údajov - Databáza je uložená v databáze voľby údajov (z jednej alebo viacerých tabuliek).

Prezentácia je v podstate dočasná tabuľka vytvorená v dôsledku vykonávania žiadosti. Samotná požiadavka môže byť odoslaná samostatný súbor., Správa, dočasná tabuľka, tabuľka na disku atď.

správa- Zložka systému, ktorých hlavným účelom je popis a výstup na tlač dokumentov na základe informácií z databázy.

Všeobecné charakteristiky práce s RBD:

Najbežnejší výklad modelu relačného dát, zrejme patrí k dátumu, ktorý ho reprodukuje (s rôznymi objasneniami) takmer vo všetkých jej knihách. Podľa dátumu, relačného modelu pozostáva z troch častí popisujúcich rôzne aspekty relačného prístupu: štrukturálna časť, manipulačná časť a holistická časť.

V štrukturálnej časti modelu sa stanoví, že jedinou štruktúrou údajov použitých v relačnej databáze je normalizovaný N-AROUS ATTITOSTI.

V manipulácii s modelom sú schválené dva základné mechanizmy manipulácie vzťahovacej databázy - relačná algebra a relačný kalkul. Prvý mechanizmus je založený najmä na klasickej teórii súborov (s niektorými objasneniami) a druhá je na klasickom logickom prístroji výpočtu predikátov prvého rádu. Všimnite si, že hlavnou funkciou manipulačnej časti relačného modelu je zabezpečiť vzťah medzi akýmkoľvek konkrétnym jazykom relačných databáz: jazyk sa nazýva vzťah, ak nemá menej expresivity a moci ako relačné algebry alebo relačný kalkul.


28. Algoritmické jazyky. Prekladatelia (tlmočníci a kompilátori). Algoritmický jazyk Baysik. Štruktúra programu. Identifikátory. Premenné. Operátorov. Spracovanie jednorozmerných a dvojrozmerných polí. Používateľská funkcia. Podprogramy. Práca s dátovými súbormi.

Jazyk vysoký stupeň - Programovací jazyk, koncepty a štruktúra, ktorá je vhodná na vnímanie človeka.

Algoritmický jazyk (Algoritmický jazyk) - programovací jazyk - umelý (formálny) jazyk určený na nahrávanie algoritmov. Programovací jazyk je daný jeho opisom a je implementovaný ako Špeciálny program: kompilátor alebo tlmočník. Príklady algoritmických jazykov slúžia - Borland Pascal, C ++, Basic atď.

Základné pojmy algoritmický jazyk:

Zloženie jazyka:

Rovnaký hovorený jazyk pozostáva zo štyroch hlavných prvkov: symbolov, slov, fráz a návrhov. Algoritmický jazyk obsahuje podobné prvky, iba slová sa nazývajú základné štruktúry, frázy - výrazy, ponuky - operátori.

SymbolyZákladné štruktúry, výrazy a operátori sú hierarchickou štruktúrou, pretože elementárne štruktúry sú vytvorené zo sekvencie znakov.

Výrazy - Toto je sekvencia elementárnych štruktúr a symbolov, \\ t

Operátor - Sekvencia výrazov, elementárnych štruktúr a symbolov.

Popis jazyka:

Popis znakov je vymenovať prípustné znaky jazyka. Podľa opisu základných štruktúr sa porozumenia pravidlá pre ich vzdelávanie. Popis výrazu je pravidlá pre vytvorenie akýchkoľvek výrazov, ktoré dávajú zmysel v tomto jazyku. Opis prevádzkovateľov pozostáva z hľadiska všetkých typov prevádzkovateľov, ktoré sú povolené v jazyku. Popis každého jazykového prvku je nastavený na jeho syntaxe a sémantiku.

Syntax Definície stanovujú pravidlá pre stavebné jazykové prvky.

Sémantika Určuje význam a pravidlá používania týchto prvkov jazyka, pre ktoré boli podané syntaktické definície.

Jazykové symboly - Toto sú základné nedeliteľné príznaky, z ktorých všetky texty v jazyku sú napísané.

Základné štruktúry - Toto sú minimálne jednotky jazyka s nezávislým významom. Sú vytvorené zo základných znakov jazyka.

Vyjadrenie Algoritmický jazyk sa skladá z elementárnych štruktúr a symbolov, špecifikuje pravidlo na výpočet určitej hodnoty.

Operátor Špecifikácia Úplný popis Niektoré opatrenia, ktoré treba vykonať. Pre popis komplikované akcie Môže sa vyžadovať skupina operátorov.

V tomto prípade sa prevádzkovatelia spojí Kompozitný operátor alebo Blok. Konanie, opýtali sa prevádzkovateliasa vykonávajú na údajoch. Návrhy algoritmického jazyka, ktoré poskytujú informácie o typoch údajov, sa nazývajú opisy alebo nesledované prevádzkovatelia. Kombinovaný algoritmus kombinované popisy a operátori tvoria program na algoritmickom jazyku. V procese štúdia algoritmického jazyka je potrebné rozlišovať algoritmický jazyk z jazyka, ktorým je opísaný opísaný algoritmický jazyk. Zvyčajne študovaný jazyk sa nazýva jednoducho podľa jazyka a jazyka, z ktorých je opísaný jazyk - Prispôsobenie.

Prekladateľ - (Anglický prekladateľ - prekladateľ) je program prekladateľa. Konvertuje program napísaný v jednom z jazykov na vysokej úrovni do programu pozostávajúceho z príkazov stroja.

Program napísaný na algoritmickom jazyku na vysokej úrovni nemožno priamo vykonávať na počítači. EUM chápe len jazyk strojov. V dôsledku toho musí byť program na algoritmickom jazyku preložený (preložený) do jazyka konkrétneho príkazu EUM. Takýto preklad sa vykonáva automaticky špeciálnych programov prekladateľov vytvorených pre každý algoritmický jazyk a pre každý typ počítačov.

Existujú dva hlavné spôsoby vysielania - kompilácie a tlmočenie.

1. Dokončenie: kompilátor (English. Compiler - kompilátor, kolektor) Číta celý program úplne, robí to preklad a vytvorí kompletnú verziu programu v zariadení, ktorá sa potom vykoná.

Pre kompilácia Celý zdrojový program sa okamžite zmení na sekvenciu príkazov stroja. Potom sa výsledný výsledný program vykonáva počítač s existujúcimi zdrojovými údajmi. Výhodou tejto metódy je, že vysielanie sa vykonáva raz, a (viacnásobné) vykonávanie výsledného programu sa môže uskutočniť pri vysokej rýchlosti. Zároveň môže výsledný program mať veľa miesta v pamäti počítača, pretože jeden operátor jazyka je nahradený stovkami alebo dokonca tisíce príkazov. Okrem toho sú debugovanie a úpravy preloženého programu veľmi ťažké.

2. Interpretácia: tlmočník (Anglický tlmočník - tlmočník, tlmočník) prekladá a vykonáva program reťazca programu.

Pre interpretácia Zdrojový program je uložený v pamäti počítača takmer nezmenený. Program tlmočníka dekóduje operátorov zdrojový program Jeden po druhom a okamžite zabezpečuje ich implementáciu s dostupnými údajmi. Interpretačný program zaberá malé miesto v pamäti počítača, je ľahké vykladať a upravovať. Vykonanie programu sa však vyskytuje pomerne pomaly, pretože každému každému vykonaniu sú všetci prevádzkovatelia akceptovaní.

Zostavované programy fungujú rýchlejšie, ale interpretované ľahšie na opravu a zmenu

Každý konkrétny jazyk je orientovaný buď na kompilácii, alebo na tlmočenie - v závislosti od toho, aký účel bol vytvorený. Napríklad Pascal sa zvyčajne používa na riešenie pomerne zložitých úloh, v ktorých je rýchlosť programov dôležitá. teda tento jazyk Zvyčajne implementované pomocou kompilátora.

Na druhej strane, Beysik bol vytvorený ako jazyk pre začínajúcich programátorov, pre ktorých má výstavba programu nepopierateľnú výhodu.

Niekedy je tu kompilátor pre jeden jazyk a tlmočník. V tomto prípade, na vývoj a testovanie programu, môžete použiť tlmočníka a potom zostaviť ladný program na zvýšenie rýchlosti jeho vykonávania.



Páči sa vám článok? Zdieľaj to