Pojem relačných údajov a podúdajov. Databázy a subdatabázy

  • 29.07.2019

Relačný DBMS – DBMS, ktorý spravuje relačné databázy.

Relačný model sa zameriava na organizáciu údajov vo forme dvojrozmerných tabuliek. Každá relačná tabuľka je dvojrozmerné pole a má nasledujúce vlastnosti:

    Každý prvok tabuľky je jedným údajovým prvkom.

    všetky bunky v stĺpci tabuľky sú homogénne, to znamená, že všetky prvky v stĺpci sú rovnakého typu (číselné, znakové atď.)

    každý stĺpec má jedinečný názov

    V tabuľke nie sú žiadne rovnaké riadky

    poradie riadkov a stĺpcov môže byť ľubovoľné

Riadok tabuľky sa nazýva záznam, stĺpec je pole.

Primárny kľúč je minimálna množina atribútov, ktorá je podmnožinou hlavičky daného vzťahu, ktorej zložená hodnota jednoznačne definuje vzťahovú n-ticu. V praxi sa pojem primárny kľúč vzťahuje na pole alebo skupinu polí v databázovej tabuľke, ktorej hodnota (alebo kombinácia hodnôt) sa používa ako jedinečný identifikátor pre záznam v tejto tabuľke. V relačnej teórii je tabuľka neusporiadaná zbierka záznamov. Jediným spôsobom, ako identifikovať konkrétny záznam v tejto tabuľke, je zadať množinu hodnôt pre jedno alebo viacero polí, ktoré sú pre daný záznam jedinečné. Odtiaľ pochádza koncept primárneho kľúča - množiny polí tabuľky, ktorých množina hodnôt je definovaná pre ľubovoľný záznam (riadok) tejto tabuľky a je odlišná pre akékoľvek dva záznamy.

Cudzí kľúč je pole tabuľky určené na uloženie hodnoty primárneho kľúča inej tabuľky s cieľom usporiadať vzťah medzi týmito tabuľkami.

Nech sú tabuľky A a B. Tabuľka A obsahuje polia a, b, c, d, z ktorých pole a je primárny kľúč. Tabuľka B obsahuje polia x, y, z. Pole y obsahuje hodnotu poľa a jedného zo záznamov v tabuľke A. V tomto prípade sa pole y nazýva cudzí kľúč tabuľky A v tabuľke B.

Tento SQL dotaz vráti všetky súvisiace páry záznamov z tabuliek A a B:

vyberte * z A, B, kde A.a = B.y;

Cudzí kľúč v tabuľke môže odkazovať aj na tabuľku samotnú. V takýchto prípadoch hovoríme o rekurzívnom cudzom kľúči. Nevyhnutné na implementáciu stromovej dátovej štruktúry v relačnej tabuľke.

DBMS podporujú automatickú kontrolu referenčnej integrity cudzích kľúčov.

Typy vzťahov medzi tabuľkami

Existujú tri typy vzťahov medzi tabuľkami.

Spojenie so vzťahom jeden k mnohým. Je to najčastejšie používaný typ vzťahu medzi tabuľkami. V takomto vzťahu môže mať každý záznam v tabuľke A viacero záznamov v tabuľke B a záznam v tabuľke B nemôže mať viac ako jeden zodpovedajúci záznam v tabuľke A. Napríklad na jednom oddelení môže pracovať niekoľko zamestnancov, ale žiadny zamestnanec nemôže pracovať na viacerých oddeleniach naraz. Akceptovaný zápis (1 – ∞).

Vzťah medzi mnohými. V tomto vzťahu môže jeden záznam v tabuľke A zodpovedať niekoľkým záznamom v tabuľke B a jeden záznam v tabuľke B môže zodpovedať niekoľkým záznamom v tabuľke A. Túto schému je možné implementovať iba pomocou tretej (prepojovacej) tabuľky, kľúča ktorý pozostáva aspoň z dvoch polí, čo sú polia cudzieho kľúča v tabuľkách A a B. Napríklad vzťah medzi tabuľkami Inšpektori a Border Crossers je definovaný vzťahom many-to-many. S jedným deklarantom môže konzultovať viacero inšpektorov, pričom inšpektor môže zároveň obsluhovať viacero osôb. Takýto vzťah je definovaný vytvorením dvoch vzťahov so vzťahom jeden k mnohým pre tabuľku Inspector_Declarant, ktorá musí obsahovať polia Inspector Key a Declarant Key.

Vo vzťahu jedna k jednej môže mať záznam v tabuľke A najviac jeden súvisiaci záznam v tabuľke B a naopak. Tento typ vzťahu sa nepoužíva príliš často, pretože takéto údaje môžu byť umiestnené v jednej tabuľke. Vzťah jedna k jednej sa používa na rozdelenie veľmi širokých tabuliek alebo na oddelenie časti tabuľky z bezpečnostných dôvodov.

Na začiatok

Databázy a DBMS

Informačné systémy

Jednou z najdôležitejších podmienok pre zabezpečenie efektívneho fungovania každej organizácie je prítomnosť rozvinutého informačného systému. Informačný systém implementuje automatizovaný zber, spracovanie a manipuláciu s údajmi, obsahuje technické prostriedky na spracovanie údajov, softvér a personál údržby.

Modernou formou informačných systémov sú databanky, ktoré zahŕňajú počítačový systém, jednu alebo viac databáz (DB), systém správy databáz (DBMS) a súbor aplikačných programov (AP). Hlavné funkcie databáz sú:

Ukladanie a ochrana údajov;

Zmena (aktualizácia, pridávanie a mazanie) uložených údajov;

Vyhľadávanie a výber údajov na základe požiadaviek používateľov;

Spracovanie údajov a výstup výsledkov.

Databázaposkytuje ukladanie informácií a ide o pomenovanú kolekciu údajov organizovanú podľa určitých pravidiel vrátane všeobecných zásad pre popis, ukladanie a manipuláciu s údajmi.

Systém správy databáz je balík aplikačných programov a sada jazykových nástrojov určených na vytváranie, údržbu a používanie databáz.

Aplikačné programy (aplikácie) ako súčasť databánk slúžia na spracovanie dát, výpočty a generovanie výstupných dokumentov v danej forme.

Aplikáciaje program alebo súbor programov, ktoré využívajú databázu a zabezpečujú automatizáciu spracovania informácií z určitej tematickej oblasti. Aplikácie je možné vytvárať v prostredí DBMS aj mimo DBMS – pomocou programovacieho systému napr.Delphi alebo C++Staviteľ, pomocou nástrojov na prístup k databáze.

Na prácu s databázou môžete v mnohých prípadoch použiť iba nástroje DBMS, napríklad vytváranie dopytov a zostáv. Aplikácie sú vyvíjané najmä v prípadoch, keď je potrebné zabezpečiť pohodlie práce s databázou pre nekvalifikovaných používateľov alebo používateľovi nevyhovuje rozhranie DBMS.

Najdôležitejšou výhodou používania databáz v informačných systémoch je zabezpečenie nezávislosti údajov od aplikačných programov. Nie je potrebné riešiť otázky umiestňovania údajov do pamäte, spôsobov prístupu k nim atď.

Takáto nezávislosť sa dosahuje viacúrovňovou prezentáciou údajov v databáze na logickej (používateľskej) a fyzickej úrovni podporovanej DBMS.

Hlavným kritériom optimálneho fungovania databázy sú spravidla časové charakteristiky implementácie užívateľských požiadaviek aplikačnými programami.

Nástroje na vytváranie databáz

Súborové systémy

Vývoj základných pojmov reprezentácie údajov

Akýkoľvek výpočtový proces je mapovanie niektorých vstupných údajov na výstupné údaje.

Pomer zložitosti reprezentácie spracovávaných údajov a výpočtového algoritmu určuje dve triedy problémov:

- výpočtové úlohy - pomerne jednoduchá prezentácia údajov a zložitý proces výpočtu;

- úlohy spracovania údajov (nevýpočtové úlohy) – jednoduchý a zložitý algoritmus spracovania údajovprezentáciu spracovaných údajov.

V súlade s tým je potrebné venovať pozornosť tak vývoju algoritmu na riešenie problému, ako aj metódam prezentácie spracovaných údajov.

Od konca 60. rokov sa počítače intenzívne využívajú na riešenie takzvaných nevýpočtových problémov spojených so spracovaním rôznych typov dokumentov. Pri používaní súborových systémov sa údaje ukladajú do súboru určeného len na túto úlohu. V tomto prípade je popis údajov zahrnutý v aplikačnom programe. Zmena formátu záznamu súboru vyžaduje zmenu aplikačného programu. Softvérový systém, ktorý problém rieši, teda definuje a spravuje svoje vlastné údaje.

Nevýhody súborových systémov

1. Záznamovú štruktúru súboru pozná iba program, v ktorom bol vytvorený. Zmena štruktúry vyžaduje zmenu programov, ktoré používajú tento dátový súbor. teda programy sú závislé od údajov .

2. Problémy s autorizáciou prístupu. Na obmedzenie prístupu môžete použiť nástroje OS. Toto riešenie je možné, ale nepohodlné. Potrebujeme centralizované metódy prístupu k informáciám.

3. Problémy s organizáciou prístupu pre viacerých používateľov. Systémy správy súborov poskytujú režim pre viacerých používateľov, ale majú funkcie, ktoré sťažujú ich použitie v databázach. Pri čítaní údajov od viacerých používateľov nie sú žiadne problémy. Vykonanie zmien vyžaduje synchronizáciu akcií používateľa. Typicky sa pri otváraní súboru zobrazí režim (čítanie/zápis). Ak je v tomto bode súbor otvorený iným procesom v režime úprav, operačný systém buď hlási, že súbor nemožno otvoriť, alebo je akcia zablokovaná, kým sa druhý proces nezavrie. V každom prípade buď nemôže viacero používateľov upravovať databázu súčasne, alebo je proces pomalý.

V aplikačnom programe, ktorý používa jeden alebo viacero samostatných súborov na vyriešenie problému, bol za bezpečnosť a spoľahlivosť údajov zodpovedný programátor pracujúci s touto úlohou. Používanie databázy zahŕňa prácu s ňou v niekoľkých aplikačných programoch, ktoré riešia problémy rôznych používateľov.

Prirodzene, programátor, ktorý rieši niektorý z aplikovaných problémov, už nemôže byť zodpovedný za bezpečnosť a spoľahlivosť integrovaných dát. Okrem toho, rozšírenie okruhu úloh riešených pomocou databázy môže viesť k vzniku nových typov záznamov a vzťahov medzi nimi. Takáto zmena v štruktúre databázy by nemala viesť k zmenám v množstve predtým vyvinutých a úspešne fungujúcich aplikačných softvérových systémov, ktoré s databázou pracujú. Na druhej strane prípadná zmena v niektorom z aplikačných programov by zas nemala viesť k zmene dátovej štruktúry. Všetko vyššie uvedené určujepotreba oddeliť dáta od aplikačných programov.

Systémy na správu databáz

Úlohu rozhrania medzi aplikačnými programami a databázou, zabezpečujúceho ich nezávislosť, zohráva softvérový balík - systém správy databáz (DBMS).

DBMS je softvérový balík na podporu integrovaného súboru údajov, určený na vytváranie, údržbu a používanie databázy mnohými používateľmi (aplikačné programy).

Základné funkcie systému správy databáz.

1. Určenie štruktúry vytváranej databázy, jej inicializácia a počiatočné načítanie

2. Poskytnutie možnosti používateľom manipulovať s údajmi (výber potrebných údajov, vykonávanie výpočtov, vývoj vstupno/výstupného rozhrania, vizualizácia).

3. Zabezpečenie nezávislosti aplikačného programu a (logickej a fyzickej nezávislosti).

4. Ochrana logickej integrity databázy.

5. Ochrana fyzickej integrity.

6. Správa používateľských oprávnení na prístup k databáze.

7. Synchronizácia práce viacerých používateľov.

8. Správa zdrojov úložného prostredia.

9. Podpora činnosti systémového personálu.

1. Určenie štruktúry vytváranej databázy, jej inicializácia a počiatočné načítanie. Vo väčšine moderných DBMS je databáza reprezentovaná ako kolekcia tabuliek.

2. Poskytnutie možnosti používateľom manipulovať s údajmi (výber potrebných údajov, vykonávanie výpočtov, vývoj vstupno/výstupného rozhrania, vizualizácia). Takéto schopnosti v DBMS sú prezentované buď pomocou špeciálneho programovacieho jazyka zahrnutého v DBMS, alebo pomocou grafického rozhrania.

3. Zabezpečenie nezávislosti aplikačných programov a dát (logická a fyzická nezávislosť). Najdôležitejšou vlastnosťou DBMS je schopnosť podporovať dva nezávislé pohľady na databázu – „užívateľský pohľad“, stelesnený v logickej reprezentácii údajov a jeho odraz v aplikačných programoch; a „systémový pohľad“ - fyzická reprezentácia údajov v pamäti počítača. Zabezpečenie nezávislosti logických údajov poskytuje možnosť meniť (v rámci určitých limitov) logickú reprezentáciu databázy bez toho, aby ste museli meniť fyzické štruktúry ukladania údajov. Zmena logickej reprezentácie údajov v aplikačných programoch teda nevedie k zmenám v štruktúrach ukladania údajov. Zabezpečenie fyzickej nezávislosti údajov umožňuje meniť (v rámci určitých limitov) spôsoby usporiadania databázy v pamäti počítača bez toho, aby bolo potrebné meniť „logickú“ reprezentáciu údajov. Zmena spôsobu organizácie databázy teda nezmení aplikačné programy.

4. Ochrana logickej integrity databázy.

Hlavným účelom implementácie tejto funkcie je zvýšiť spoľahlivosť údajov v databáze. Spoľahlivosť údajov môže byť ohrozená pri ich vkladaní do databázy alebo v dôsledku nezákonných činností postupov spracovania údajov, ktoré prijímajú a vkladajú nesprávne údaje do databázy. Pre zvýšenie spoľahlivosti údajov sú v systéme deklarované takzvané integritné obmedzenia, ktoré v určitých prípadoch „zachytia“ nesprávne údaje. Vo všetkých moderných DBMS sa teda kontroluje súlad zadávaných údajov s ich typom opísaným pri vytváraní štruktúry. Systém vám nedovolí zadať znak do poľa číselného typu, nedovolí zadať neplatný dátum atď. Vo vyvinutých systémoch sú obmedzenia integrity opísané programátorom na základe zmysluplného významu problému a sú kontrolované pri každej aktualizácii údajov. Detailne

5. Ochrana fyzickej integrity. Pri prevádzke počítača sú možné poruchy (napríklad v dôsledku výpadku prúdu) a poškodenie pamäťových médií počítača. V tomto prípade môže dôjsť k prerušeniu spojenia medzi údajmi, čo vedie k nemožnosti ďalšej práce. Vyvinuté DBMS majú nástroje na obnovu databázy. Najdôležitejším použitým konceptom je „transakcia“. Transakcia je jednotka akcií vykonaných s databázou. Transakcia môže obsahovať viacero príkazov na úpravu databázy, ale buď sa vykonajú všetky, alebo sa nevykoná žiadny. DBMS okrem údržby samotnej databázy vedie aj protokol transakcií.

Potrebu využívania transakcií v databázach ilustrujeme na zjednodušenom príklade. Predpokladajme, že databáza sa používa v určitej banke a jeden z klientov chce previesť peniaze na účet iného klienta banky. Databáza uchováva informácie o množstve peňazí, ktoré má každý klient. V databáze musíme urobiť dve zmeny – znížiť množstvo peňazí na účte jedného z klientov a podľa toho zvýšiť množstvo peňazí na druhom účte. Samozrejme, skutočný prevod peňazí v banke je oveľa zložitejší proces, ktorý zahŕňa veľa tabuliek a možno aj veľa databáz. Podstata však zostáva rovnaká - musíte buď vykonať všetky akcie (zvýšiť účet jedného klienta a znížiť účet iného), alebo nevykonať žiadnu z týchto akcií. Nemôžete znížiť množstvo peňazí na jednom účte, ale nemôžete zvýšiť množstvo peňazí na inom.

Predpokladajme tiež, že po vykonaní prvej akcie (zníženie sumy peňazí na účte prvého klienta) došlo k zlyhaniu. Napríklad spojenie medzi klientskym počítačom a databázou mohlo byť prerušené alebo mohlo dôjsť k zlyhaniu systému na klientskom počítači, čo spôsobilo reštart operačného systému. Čo sa v tomto prípade stalo s databázou? Príkaz na zníženie peňazí na účte prvého klienta bol vykonaný, ale druhý príkaz na zvýšenie peňazí na druhom účte nebol, čo by viedlo k nekonzistentnému, neaktuálnemu stavu databázy.

Použitie transakčného mechanizmu umožňuje nájsť riešenie v tomto a podobných prípadoch. Pred vykonaním prvej akcie sa vydá príkaz na spustenie transakcie. Transakcia zahŕňa operáciu výberu peňazí z jedného účtu a zvýšenie sumy na inom účte. Vyhlásenie, ktorým sa dokončujú transakcie, sa zvyčajne nazýva COMMIT. Keďže transakcia nebola dokončená od prvej akcie, v databáze nebudú vykonané žiadne zmeny. Zmeny sa vykonajú (potvrdia) až po dokončení transakcie. Do vydania tohto výpisu nebudú v databáze uložené žiadne údaje. V našom príklade, keďže nebolo vydané potvrdenie o potvrdení transakcie, databáza sa „vráti“ do pôvodného stavu – inými slovami, sumy na zákazníckych účtoch zostanú rovnaké, ako boli pred začatím transakcie. Administrátor databázy môže monitorovať stav transakcií a v prípade potreby transakcie manuálne vrátiť späť.

Okrem toho sa v zjavných prípadoch DBMS nezávisle rozhodne transakciu „vrátiť späť“.

Transakcie nemusia byť krátke. Existujú transakcie, ktoré trvajú niekoľko hodín alebo dokonca niekoľko dní. Zvýšenie počtu akcií v rámci jednej transakcie vyžaduje zvýšenie obsadených systémových zdrojov. Preto je vhodné, aby transakcie boli čo najkratšie. Všetky transakcie sú zaznamenané v protokole transakcií – potvrdené aj dokončené „vrátením späť“. Udržiavanie protokolu transakcií spolu s vytváraním záloh databázy vám umožňuje dosiahnuť vysokú spoľahlivosť databázy.

Predpokladajme, že databáza bola poškodená v dôsledku zlyhania hardvéru počítača, na ktorom bol nainštalovaný server DBMS. V tomto prípade musíte použiť najnovšiu zálohu databázy a protokol transakcií. Okrem toho musíte do databázy použiť iba tie transakcie, ktoré boli potvrdené po vytvorení zálohy. Väčšina moderných DBMS umožňuje správcovi znovu vytvoriť databázu na základe zálohy a protokolu transakcií. V takýchto systémoch sa v určitom bode databáza skopíruje na záložné médium. Všetky prístupy k databáze sa programovo zaznamenávajú do denníka zmien. Ak je databáza zničená, spustí sa procedúra obnovy, počas ktorej sa vykonajú všetky vykonané zmeny v záložnej kópii z protokolu zmien.

6. Správa používateľských oprávnení na prístup k databáze.

Rôzni používatelia môžu mať rôzne oprávnenia na prácu s údajmi (niektoré údaje musia byť nedostupné, niektorí používatelia nemajú povolené údaje aktualizovať atď.). DBMS poskytuje mechanizmy na vymedzenie prístupových právomocí, ktoré sú založené buď na princípoch hesiel alebo na popise právomocí.

7. Synchronizácia práce viacerých používateľov.

Pomerne často môže nastať situácia, keď niekoľko používateľov súčasne vykoná operáciu aktualizácie na rovnakých údajoch. Takéto kolízie môžu viesť k narušeniu logickej integrity údajov, preto systém musí zabezpečiť opatrenia, ktoré zabránia iným používateľom aktualizovať údaje, kým používateľ pracujúci s týmito údajmi úplne neukončí prácu s nimi. Hlavným konceptom, ktorý sa tu používa, je „blokovanie“. Zámky sú potrebné, aby sa zabránilo rôznym používateľom pracovať s databázou súčasne, pretože to môže viesť k chybám.

Na implementáciu tohto zákazu DBMS nastaví zámok na objekty, ktoré transakcia používa. Existujú rôzne typy zámkov – tabuľkové, stránkové, riadkové a iné, ktoré sa navzájom líšia počtom zamknutých záznamov.

Zamykanie riadkov sa používa najčastejšie - keď transakcia pristúpi k jednému riadku, uzamkne sa iba tento riadok, zvyšné riadky ostanú k dispozícii na zmenu.

Proces vykonávania zmien v databáze teda pozostáva z nasledujúcej postupnosti akcií: vydá sa príkaz na začatie transakcie, vydá sa príkaz na zmenu údajov, DBMS analyzuje príkaz a pokúsi sa vytvoriť zámky potrebné na jeho vykonanie, ak zablokovanie je úspešné, príkaz sa vykoná, potom sa proces zopakuje pre ďalšieho operátora transakcie. Po úspešnom dokončení všetkých príkazov v rámci transakcie sa vykoná príkaz na potvrdenie transakcie. DBMS potvrdí zmeny vykonané transakciou a uvoľní zámky. Ak niektorý z operátorov zlyhá, transakcia sa „vráti späť“, údaje získajú predchádzajúce hodnoty a zámky sa uvoľnia.

8. Správa zdrojov úložného prostredia.

Databáza je umiestnená v externej pamäti počítača. Pri práci v databáze sa zadávajú nové údaje (pamäť je obsadená) a údaje sa vymazávajú (uvoľňuje sa pamäť). DBMS prideľuje pamäťové zdroje pre nové dáta, prerozdeľuje uvoľnenú pamäť, organizuje fronty požiadaviek na externú pamäť atď.

9. Podpora činnosti systémového personálu.

Pri prevádzke databázy môže vzniknúť potreba zmeniť parametre DBMS, zvoliť nové metódy prístupu, zmeniť (v rámci určitých limitov) štruktúru uložených údajov, ako aj vykonať množstvo ďalších celosystémových akcií. DBMS poskytuje možnosť vykonávať tieto a ďalšie akcie na podporu aktivít databázy systémovému personálu obsluhujúcemu databázu, nazývanému správca databázy.

Klasifikácia DBMS

DBMS sa zvyčajne delia podľa použitého dátového modelu (ako databázy) do nasledujúcich typov: hierarchické, sieťové, relačné a objektovo orientované.

Podľa charakteru použitia sa DBMS delia na osobné(DBDP) a viacužívateľský(DBDM).

Osobné DBMS zahŕňajúVizuálne FoxPro, Paradox, Clipper, dBase, Prístupatď. Medzi DBMS pre viacerých používateľov patrí napríklad DBMSOracle A Informix.DBMS pre viacerých používateľov obsahujú databázový server a klientsku časť, fungujú v heterogénnom výpočtovom prostredí – povolené sú rôzne typy počítačov a rôzne operačné systémy. Preto je možné na báze DBMS vytvoriť informačný systém fungujúci na technológii klient-server. Všestrannosť systémov DBMS pre viacerých používateľov sa zodpovedajúcim spôsobom odráža vo vysokej cene a počítačových zdrojoch potrebných na ich podporu.

DBMS je súbor jazykových a softvérových nástrojov určených na vytváranie, údržbu a používanie databázy.

Osobné DBMS poskytujú možnosť vytvárať osobné databázy a lacné aplikácie, ktoré s nimi pracujú, a v prípade potreby vytvárať aplikácie, ktoré pracujú s databázovým serverom.

Riadiacim komponentom mnohých DBMS je jadro, ktoré vykonáva nasledujúce funkcie:

- správa údajov v externej pamäti;

- správa vyrovnávacej pamäte RAM (pracovné oblasti, do ktorých sa čerpajú údaje z databázy na zvýšenie rýchlosti práce);

- riadenie transakcií.

Transakcia - ide o postupnosť operácií s databázou, ktorú DBMS považuje za jeden celok. Pod transakcie sa vzťahuje na vplyv na databázu, jej prenos z jedného integrálneho stavu do druhého. Vplyv je vyjadrený zmenami údajov v databázových tabuľkách.

Ak jedna zo zmien vykonaných v databáze v rámci transakcie zlyhá, musí sa vykonať návrat do stavu databázy, ktorý nastal pred začatím transakcie. V dôsledku toho sa všetky zmeny vykonané v databáze v rámci transakcie buď súčasne potvrdia, alebo sa nepotvrdí žiadna z nich.

Po vykonaní môže byť transakcia buď úspešne dokončená a DBMS zaznamená vykonané zmeny do externej pamäte. Ak zlyhá hardvér počítača, žiadna zo zmien sa v databáze neprejaví. Koncept transakcie je nevyhnutný na zachovanie logickej integrity databázy.

Zabezpečenie integrity databázy - nevyhnutnou podmienkou pre úspešné fungovanie databázy. Integrita databázy- vlastnosť databázy, čo znamená, že databáza obsahuje úplné a konzistentné informácie potrebné a postačujúce pre správne fungovanie aplikácií. Na zabezpečenie integrity databázy sú stanovené obmedzenia integrity vo forme určitých podmienok, ktoré musia spĺňať údaje uložené v databáze. Príkladom takýchto podmienok je obmedzenie rozsahov možných hodnôt pre atribúty objektov, o ktorých sú informácie uložené v databáze, alebo absencia duplicitných záznamov v tabuľkách relačnej databázy.

Bezpečnosť To sa v DBMS dosahuje šifrovaním aplikačných programov, údajov, ochranou heslom a podporou úrovní prístupu k databáze a samostatnej tabuľke.

Rozšírenie možností používateľa DBMS sa dosiahne prepojením systémov na vytváranie grafov a diagramov, ako aj prepojením modulov napísaných v jazykoch programovanie.

Sieťovú podporu poskytuje:

prostriedky na riadenie prístupu užívateľov k zdieľaným údajom, t. j. prostriedky na blokovanie súborov (tabuľky), záznamov, polí, ktoré sú implementované v rôznej miere v rôznych DBMS;

prostriedky transakčného mechanizmu, ktorý zabezpečuje integritu databázy pri prevádzke v sieti.

Podpora interakcie s Windows aplikácie umožňuje DBMS vložiť informácie do správy, ktorá je uložená v súboroch vytvorených pomocou iných aplikácií, napríklad v dokumenteSlovoalebo v pracovnom zošiteExcel, vrátane grafiky a zvuku. Na tento účel DBMS podporuje mechanizmy vyvinuté pre životné prostredieWindows, ako napríklad: DDE { Dynamický Údaje Výmena - dynamická výmena údajov) aOLE { Objekt Prepojenie a Vkladanie - viazanie a vkladanie objektu).

Úrovne prezentácie údajov

Moderné prístupy k tvorbe databáz zahŕňajú ich trojúrovňovú organizáciu. Tento spôsob organizácie databázy bol navrhnutý Americký národný inštitút pre normalizáciu (ANSI) ) a používa sa všade.

Na najvyššej (vonkajšej) úrovni môže byť veľa modelov. Táto úroveň definuje pohľad jednotlivých používateľov (aplikácií) na databázu. Každá aplikácia vidí a spracováva len tie údaje, ktoré potrebuje.

Na koncepčnej úrovni je databáza prezentovaná v najvšeobecnejšej forme, ktorá zjednocuje všetky vonkajšie reprezentácie predmetnej oblasti. Na koncepčnej úrovni máme zovšeobecnený model predmetnej oblasti, pre ktorú bola databáza vytvorená. Existuje len jedna koncepčná reprezentácia. Pri vývoji koncepčného modelu sa úsilie zameriava na štruktúrovanie údajov a identifikáciu vzťahov, bez zohľadnenia špecifík implementácie a efektívnosti vývoja.

Interná (fyzická) úroveň sú skutočné údaje umiestnené na externom pamäťovom médiu. Interný model určuje umiestnenie údajov, metódy prístupu a techniky indexovania.

Trojúrovňová organizácia databázy umožňuje logickú a fyzickú nezávislosť pri práci s dátami. Logická nezávislosť znamená možnosť zmeniť jednu aplikáciu bez úpravy iných aplikácií pracujúcich s rovnakou databázou.

Fyzická nezávislosť znamená schopnosť prenášať uložené informácie z jedného média na druhé pri zachovaní funkčnosti všetkých aplikácií, ktoré túto databázu využívajú.

Klasifikácia dátových modelov

Dátový model je súbor pravidiel, podľa ktorých sú dáta organizované.

Táto veľmi jednoduchá definícia sa dá spresniť. Dátový model je abstrakcia, ktorá pri aplikácii na konkrétne údaje umožňuje používateľom a vývojárom zaobchádzať s nimi ako s informáciami, teda informáciami, ktoré obsahujú nielen údaje, ale aj vzťahy medzi nimi.

Je zvykom rozlišovať tri skupiny dátových modelov: infologické, dátové a fyzické.

Obr.1 Dátové modely

Infologicky(sémantický) model je zovšeobecnený popis predmetnej oblasti, ktorý nie je viazaný na žiadny počítač alebo DBMS. Tento popis s využitím prirodzeného jazyka, matematických vzorcov, tabuliek, grafov a iných nástrojov spája súkromné ​​chápanie obsahu databázy používateľa s porozumením údajov vývojárov, ktoré môžu byť potrebné v budúcich aplikáciách.

Tento model zameraný na človeka je úplne nezávislý od fyzických parametrov prostredia ukladania údajov. Informačný model by sa preto nemal meniť, pokiaľ primerane odráža predmetnú oblasť, to znamená, kým v predmetnej oblasti nenastanú zmeny.

Datalogickymodely sú počítačovo orientované a sú podporované špecifickými DBMS. S ich pomocou DBMS umožňuje používateľom prístup k uloženým údajom bez obáv o ich fyzickú polohu. Keďže prístup k údajom sa vykonáva pomocou špecifického DBMS, datalogické modely sú opísané v jazyk popisu údajov použitý DBMS.

Potrebné údaje nájde DBMS na externých úložných zariadeniach pomocou fyzické dátové modely. Fyzický model funguje v kategóriách súvisiacich s organizáciou vonkajšej pamäte a štruktúr ukladania dát, ktoré sa používajú v danom operačnom prostredí.

Datalogické modely

Do tejto skupiny patria také známe modely ako hierarchické, sieťové, relačné a objektovo orientované.

Klasifikácia modelov a ich popis sa objavil po vývoji relačného modelu. Predtým boli databázy vyvíjané pomocou existujúcich technológií. A oveľa neskôr analyzovali existujúce databázy a dokončili ich teoretický popis.

Grafo-teoretické modely odrážajú zbierku objektov reálneho sveta vo forme grafu. V závislosti od typu grafu sa rozlišujú hierarchické a sieťové modely. Hierarchické a sieťové dátové modely sa v DBMS začali používať začiatkom 60. rokov 20. storočia. V súčasnosti sa používajú menej často ako relačný dátový model.

Aby sa matematici vysporiadali s komplexnými súbormi údajov, vyvinuli hierarchický údajový model. Tento model sa objavil skôr ako iné datalogické modely. Práve tento dátový model bol použitý v prvom oficiálne uznanom priemyselnom DBMS od IBM.

Hierarchický model zahŕňa ukladanie údajov vo forme podobnej organizácii adresárov v systéme MS DOS: všetky adresáre začínajú od koreňa a vetvia sa ako strom. Ku každému súboru existuje len jedna cesta, to znamená, že súboru zodpovedá jeden názov adresára.

V reálnom svete sú niektoré objekty vo svojej podstate hierarchické štruktúry: niektoré objekty sú rodičia, iné deti. Hierarchia je jednoduchá a prirodzená na zobrazenie vzťahov medzi objektmi. Stačí pripomenúť početné klasifikácie používané v rôznych oblastiach poznania, napríklad vyššie uvedenú klasifikáciu dátových modelov. Ďalším príkladom je dátová štruktúra podniku.

V hierarchickej databáze sa všetky záznamy vetvia z jedného koreňa. Záznam má vždy len jedného rodiča a sám môže byť aj rodičom iného záznamu.

Hlavnou výhodou hierarchického modelu je rýchlosť. Keďže všetky vzťahy medzi tabuľkami sú preddefinované a statické, vyhľadávanie a ďalšie operácie na množine údajov sa vykonávajú veľmi rýchlo.

Najvýznamnejšou nevýhodou je nepružnosť. Pretože vzťahy sú uložené v každom zázname, údaje majú zmysel len v konkrétnom kontexte. Ďalšou nevýhodou je náročnosť prenosu dát z počítača do počítača. Treťou nevýhodou je, že globálne zmeny údajov sú takmer nemožné. Zmena vyžaduje, aby sa každý záznam vrátane rodičovských a podradených záznamov upravil individuálne.

Práca s týmto dátovým modelom si vyžaduje značné množstvo vedomostí. Väčšina databáz, ktoré používajú hierarchický model, si vyžaduje špeciálne vyškolený personál na zabezpečenie správneho fungovania.

Navrhuje sa sieťový model, ktorý poskytuje flexibilitu pri správe údajov. Vývoj tohto modelu výrazne ovplyvnil americký vedec Charles Bachman.

Základné princípy sieťového dátového modelu boli sformulované v polovici 60. rokov. Referenčná verzia sieťového dátového modelu bola opísaná v správach pracovnej skupiny CODASYL (CONference on DAta SYstem Languages) v polovici 70. rokov.

Sieťový model sa líši od hierarchického modelu v tom, že umožňuje definovať viac ako jeden skupinový vzťah pre záznam. Tento model pozostáva z mnohých záznamov, ktoré môžu byť vlastníkmi alebo členmi skupinových vzťahov. Sieťový model umožňuje vyhľadávanie v rôznych štruktúrach a podporuje vzťah jeden k mnohým pre záznamy.

Rovnako ako v hierarchickej databáze sú informácie o vzťahoch uložené v záznamoch a musia byť preddefinované. Preto má sieťový dátový model rovnaké obmedzenia ako hierarchický.

Relačný dátový model

Základné pojmy a definície relačného modelu

Relačný model

V roku 1970 E.F. Treska ( E. F. Codd ) zaviedol model relačnej databázy. Koncept tohto modelu je založený na skutočnosti, že organizácia údajov v databáze by mala byť flexibilná, dynamická a ľahko použiteľná. Používateľ by mal pracovať len s logickou reprezentáciou údajov a o fyzickú štruktúru údajov sa postará databázový systém. Codd sformuloval základné princípy relačných databáz.

Relačný model používa tabuľky a je založený na dvoch tvrdeniach:

· databáza musí pozostávať z tabuliek a iba tabuliek. Operácie databázy určujú iba obsah tabuliek;

· popis údajov a manipulácia s nimi musí byť nezávislá od spôsobu ukladania údajov na nižšej úrovni. Inými slovami, systémy riadenia relačných databáz (RDBMS) musia poskytovať svoj vlastný systém riadenia založený iba na logickej reprezentácii údajov.

Codd vo svojom príspevku opísal jazyk na prácu s relačnými štruktúrami. Postupom času sa tento jazyk vyvinul do toho, čo sa dnes nazýva štruktúrovaný dopytovací jazyk SQL (Structured Query Language).

Codd odvodil súbor základných pravidiel, ktoré musí relačný model DBMS spĺňať. Celkovo je ich 12. Skutočne existujúce databázy úplne nespĺňajú všetky Coddove pravidlá. Každý vývojár implementuje relačný model inak. V dôsledku toho sa vlastnosti relačných databáz veľmi líšia.

Coddove pravidlá možno rozdeliť do 4 kategórií:

1) základné schopnosti – popis údajov a programovací jazyk;

2) prístup k údajom – pravidlá prístupu, uchovávania a vyhľadávania,

3) flexibilita – pravidlá pre zmenu (úpravu) údajov;

4) integrita – pravidlá na zabezpečenie kvality a bezpečnosti údajov.

Pri použití relačného DBMS modelu používateľ pracuje s logickou dátovou štruktúrou. Na prechod na nižšiu (fyzickú) úroveň Codd navrhol koncept dátového slovníka.

Dátový slovník je centrálna tabuľka a úložisko informácií o databáze, obsahuje informácie o umiestnení údajov, názvy polí, typy údajov, mapy vzťahov. Dátový slovník pracuje s operačným systémom a prepája tabuľky (logické údaje) so súbormi (fyzické údaje).

E. Codd ako vyštudovaný matematik navrhol na spracovanie údajov použiť aparát teórie množín (zjednotenie, prienik, rozdiel, karteziánsky súčin). Ukázal, že akákoľvek reprezentácia údajov je redukovaná na množinu dvojrozmerných tabuliek špeciálneho typu, v matematike známych ako postoj– relácia (anglicky) Najmenšia jednotka údajov v relačnom modeli je samostatná atómový(nerozložiteľná) hodnota údajov pre daný model. Takže v jednej tematickej oblasti možno priezvisko, meno a patronymiu považovať za jeden význam av inom za tri rôzne významy.

doména je súbor atómových hodnôt rovnakého typu. Význam domén je nasledovný. Ak sú hodnoty dvoch atribútov prevzaté z rovnakej domény, potom sú porovnania pomocou týchto dvoch atribútov pravdepodobne zmysluplné. Ak sú hodnoty dvoch atribútov prevzaté z rôznych domén, potom sú porovnania medzi nimi pravdepodobne bezvýznamné.

Vzťah na doménach D1, D2, ..., Dn (nemusí byť všetky odlišné) pozostáva z hlavičky a tela.

Smerovanie pozostáva z takej pevnej množiny atribútov A1, A2, ..., An, že existuje vzájomná zhoda medzi týmito atribútmi Ai a doménami Di (i=1,2,...,n), ktoré definujú ich.

Telo pozostáva z časovo premennej množiny tuples, kde každá n-tica pozostáva zo sady párov atribút-hodnota (Ai:Vi), (i=1,2,...,n), jeden takýto pár pre každý atribút Ai v hlavičke. Pre každý daný pár atribút-hodnota (Ai:Vi) je Vi hodnota z jedinej domény Di, ktorá je spojená s atribútom Ai.

Stupeň vzťahu je počet jeho atribútov. Vzťah prvého stupňa sa nazýva unárny, stupeň dva sa nazýva binárny, stupeň tri sa nazýva ternárny, ... a stupeň n sa nazýva n-árny. Stupeň vzťahu

Základná číslovka alebo pomer výkonu je počet jeho n-tic. Kardinálne číslo pomeru sa na rozdiel od jeho stupňa v priebehu času mení.

Keďže vzťah je množina a množiny podľa definície neobsahujú zhodné prvky, žiadne dve n-tice vzťahu nemôžu byť navzájom duplikované v akomkoľvek danom časovom bode. Nech R je relácia s atribútmi A1, A2, ..., An. Množina atribútov K=(Ai, Aj, ..., Ak) vzťahu R sa považuje za možný kľúč R vtedy a len vtedy, ak sú splnené dve časovo nezávislé podmienky:

  1. Jedinečnosť: v žiadnom danom čase žiadne dve rôzne n-tice R nemajú rovnakú hodnotu pre Ai, Aj, ..., Ak.
  2. Minimalita: žiadny z atribútov Ai, Aj, ..., Ak nemožno vylúčiť z K bez porušenia jedinečnosti.

Každý vzťah má aspoň jeden možný kľúč, pretože aspoň kombinácia všetkých jeho atribútov spĺňa podmienku jedinečnosti. Jeden z možných kľúčov (vybraný náhodne) sa považuje za primárny kľúč. Zostávajúce možné kľúče, ak existujú, sa nazývajú alternatívne kľúče.

Vyššie uvedené a niektoré ďalšie matematické koncepty poskytli teoretický základ pre vytvorenie relačných DBMS, vývoj vhodných jazykových nástrojov a softvérových systémov, ktoré zabezpečia ich vysoký výkon, a vytvorenie základov teórie návrhu databáz. Pre masového používateľa relačných DBMS však možno úspešne použiť neformálne ekvivalenty týchto konceptov:

Vzťah – Tabuľka (niekedy Súbor),
Tuple – String (niekedy Record),
Atribút – Stĺpec, Pole.

Predpokladá sa, že „záznam“ znamená „inštanciu záznamu“ a „pole“ znamená „názov a typ poľa“.

1. Každá tabuľka pozostáva z riadkov rovnakého typu a má jedinečný názov.

2. Riadky majú pevný počet polí (stĺpcov) a hodnôt (viaceré polia a opakujúce sa skupiny nie sú povolené). Inými slovami, na každej pozícii tabuľky na priesečníku riadka a stĺpca je vždy presne jedna hodnota alebo nič.

3. Riadky tabuľky sa musia navzájom líšiť minimálne o jednu hodnotu, čo umožňuje jednoznačne identifikovať ktorýkoľvek riadok takejto tabuľky.

4. Stĺpce tabuľky majú jednoznačne priradené názvy a každý z nich obsahuje homogénne hodnoty údajov (dátumy, priezviská, celé čísla alebo peňažné sumy).

5. Kompletný informačný obsah databázy je reprezentovaný vo forme explicitných údajových hodnôt a tento spôsob prezentácie je jediný. Najmä neexistujú žiadne špeciálne "odkazy" alebo ukazovatele spájajúce jednu tabuľku s druhou.

6. Pri vykonávaní operácií s tabuľkou môžu byť jej riadky a stĺpce spracované v ľubovoľnom poradí, bez ohľadu na ich informačný obsah. To je uľahčené prítomnosťou názvov tabuliek a ich stĺpcov, ako aj možnosťou vybrať ľubovoľný z ich riadkov alebo ľubovoľnú sadu riadkov so špecifikovanými vlastnosťami.

Keys

Relačná teória vyžaduje, aby boli údaje jednoznačne zjednotené podľa troch kritérií:

· tabuľku, v ktorej je uložený tento dátový prvok;

· názov poľa v tejto tabuľke;

· hodnotu primárneho kľúča pre záznam.

Primárny kľúč je pole alebo skupina polí, ktoré zaručujú jedinečnosť záznamu.

Pri navrhovaní tabuľky by ste mali vybrať toľko polí, koľko je primárny kľúč, aby ste zabezpečili, že každý riadok v tabuľke bude jedinečný. Niektoré tabuľky obsahujú jedno pole, ktoré jedinečne identifikuje každý záznam. Iné tabuľky môžu vyžadovať zložený kľúč ( kompozitný kľúč ), čiže primárny kľúč pozostávajúci z kombinácie polí. Aj keď má tabuľka zložený primárny kľúč, môže existovať iba jeden.

Vytvorenie primárneho kľúča je povinné. Údaje majú často prirodzený kľúč ( prirodzený kľúč ). Napríklad číslo sociálneho poistenia identifikuje každého daňového poplatníka v USA; banky vydávajú čísla účtov svojim klientom; nemocnice prideľujú čísla pacientom v evidencii. Čokoľvek ako číslo sociálneho poistenia, bankový účet alebo číslo súboru sú hlavnými kandidátmi na primárny kľúč, pretože jedinečne identifikujú daňových poplatníkov, klientov a pacientov.

Pri výbere kľúča musíte byť opatrní, pretože niektoré údaje sa zdajú byť jedinečné. Napríklad meno a priezvisko, názov spoločnosti a dátum objednávky.

Ak údaje neobsahujú prirodzený primárny kľúč, je potrebné ho vytvoriť. Existujú dva myšlienkové prúdy, ktoré ponúkajú rôzne spôsoby vytvorenia umelého kľúča ( umelý kľúč).

Prvá škola tvrdí, že kľúč by mal byť čo najbližšie k údajom. Napríklad záznamy v tabuľkách Paradox štandardne sa automaticky triedia a zobrazujú v poradí určenom primárnym kľúčom. Ak vytvoríte kľúč pomocou štyroch písmen priezviska plus dvoch písmen krstného mena a postupne priradeného čísla, potom triedenie zobrazí záznamy v abecednom poradí. Takýto kľúč má ale aj nepríjemnosti, napríklad ak si zmeníte priezvisko, budete musieť aktualizovať odkazy.

Druhá škola sa domnieva, že kľúč by nemal mať nič spoločné s údajmi, takzvaný náhradný kľúč ( náhradný kľúč).

Primárny kľúč by mal byť čo najkratší. Dlhý kľúč má za následok viac chýb pri zadávaní údajov. Keďže relačná databáza používa primárne kľúče na usporiadanie vzťahov medzi tabuľkami, výskyt chybných vzťahov zhoršuje bezpečnosť údajov. Ak sa ukáže, že prirodzený primárny kľúč je príliš dlhý, odporúča sa prejsť na použitie náhradného kľúča. Tento prístup sa v praxi často používa a je známy ako generovanie jedinečných identifikátorov.

kľúč elementúdaj je prvok, z ktorého možno určiť hodnoty iných údajových prvkov. Dva alebo viac dátových prvkov môže jednoznačne identifikovať objekt. Kľúčové dátové prvky by sa mali vyberať opatrne, pretože správny výber prispieva k vytvoreniu platného koncepčného dátového modelu.

Primárny kľúčje atribút alebo skupina atribútov, ktorá jednoznačne identifikuje každý riadok v tabuľke.

Alternatívne(sekundárne) kľúč je atribút alebo skupina atribútov, ktoré sa nezhodujú s primárnym kľúčom a jednoznačne identifikujú inštanciu objektu.

Indexy

Indexy sú neoddeliteľnou súčasťou štruktúry databázy a sú navrhnuté tak, aby urýchlili vyhľadávanie informácií v tabuľke.

Index je štruktúra spojená s tabuľkou alebo pohľadom a určená na urýchlenie vyhľadávania informácií v nich. Index je definovaný na jednom alebo viacerých stĺpcoch, ktoré sa nazývajú indexované stĺpce. Obsahuje zoradené hodnoty indexovaného stĺpca alebo stĺpcov s odkazmi na zodpovedajúci riadok zdrojovej tabuľky alebo zobrazenia. Lepší výkon sa dosahuje triedením údajov. Používanie indexov môže výrazne zlepšiť výkon vyhľadávania, ale ukladanie indexov si vyžaduje dodatočný priestor v databáze.

Ako príklad vyhľadávania v tabuľke si predstavte telefónny zoznam, kde sú všetci účastníci zoradení podľa abecedy. Je zrejmé, že je veľmi ľahké nájsť telefónne číslo v takomto adresári, ak je známe priezvisko účastníka. Na druhej strane je mimoriadne ťažké nájsť priezvisko predplatiteľa podľa jeho telefónneho čísla, pretože Adresár nie je usporiadaný podľa telefónneho čísla, budete musieť vyhľadať požadované telefónne číslo pomocou jednoduchého spôsobu vyhľadávania. Usporiadanie informácií teda výrazne uľahčuje vyhľadávanie. Tento princíp tvorí základ indexového systému.

Na obrázku je zobrazený telefónny zoznam so záznamami, ktoré nie sú zoradené podľa telefónneho čísla a index vygenerovaný pre tento zoznam. Obrázok ukazuje, že index je pole celých čísel, kde sú čísla položiek v adresári umiestnené vo vzostupnom poradí podľa telefónneho čísla. Vďaka tomu sa záznamy usporiadajú podľa telefónneho čísla a namiesto hľadania hrubou silou môžete použiť metódu bisekcie alebo metódu binárneho stromu.


Ryža. 3. Príklad indexu v poli „telefónne číslo“.

Spojenia

Pripojenieje funkčný vzťah medzi entitami. Ak medzi niektorými subjektmi existuje vzťah, potom fakty z jedného subjektu odkazujú alebo nejakým spôsobom súvisia so skutočnosťami z iného subjektu. Udržiavanie konzistentnosti funkčných závislostí medzi entitami sa nazýva referenčná integrita. Keďže vzťahy sú „vo vnútri“ relačného modelu, implementáciu referenčnej integrity môže vykonávať buď aplikácia, alebo samotný DBMS (pomocou deklaratívnych mechanizmov a spúšťačov referenčnej integrity).

Pri popise vzťahov sa predpokladá spojenie medzi záznamami rôznych tabuliek. Ak je napríklad uvedený vzťah typu one-to-many, znamená to, že jeden záznam tabuľky súvisí s mnohými záznamami inej tabuľky. V žiadnom prípade to neznamená spojenie jednej tabuľky s mnohými tabuľkami.

Najjednoduchší vzťah medzi záznamami tabuľky je jedna k jednej. Tento typ vzťahu sa vyskytuje, keď majú prepojené tabuľky rovnaký primárny kľúč. Najčastejšie sa tento typ vzťahu používa, keď existuje tabuľka s veľkým počtom polí, z ktorých niektoré sú menšie (nie také významné). Napríklad záznam o osobe na personálnom oddelení môže pozostávať z priezviska, krstného mena, priezviska, údajov z pasu, autobiografie atď. Autobiografiu možno klasifikovať ako sekundárnu informáciu a umiestniť ju do doplnkovej tabuľky s typom spojenia jedna k jednej.

Najbežnejší typ pripojenia jeden k mnohým. Napríklad zákazník a objednávky: jeden zákazník môže urobiť veľa objednávok. Polia, cez ktoré sa vytvárajú spojenia, nie sú voľné, to znamená, že nemôžu mať ľubovoľné hodnoty. Napríklad v objednávke musí byť uvedený zákazník, ktorý je v tabuľke „Zákazníci“. Z pohľadu tabuľky „Klienti“ môže byť pole „Celé meno klienta“ ľubovoľné, pretože nezávisí od polí iných tabuliek.

Ak všetky kľúčové polia jednej tabuľky a časť kľúčových polí inej tabuľky súvisia, potom typ vzťahu môže byť iba jeden k mnohým.

Typ vzťahu many-to-many nastáva, keď polia, ktoré sú čiastočne zahrnuté v primárnom kľúči jednej tabuľky a inej, spolu súvisia. Napríklad pole „Názov produktu“ v tabuľke „Objednávky“ a pole „Názov produktu“ v tabuľke „Zrážky“. Produkt si môže objednať viacero zákazníkov a zrážky za produkt idú rôznym špecialistom za každý predaj produktu (ak má tabuľka „Zrážky“ v primárnom kľúči dve polia – názov produktu a špecialistu alebo názov produktu a manažéra).

Metódy na prepojenie tabuliek pomocou polí zahrnutých v primárnom kľúči sú popísané vyššie. Existuje však aj iný spôsob prepojenia tabuliek na jednej strane môžu byť zahrnuté polia, ktoré nie sú zahrnuté v primárnom kľúči, a na druhej strane môžu byť zahrnuté polia, ktoré sú zahrnuté v primárnom kľúči. To sa vykonáva pomocou sekundárnych alebo cudzích kľúčov ( cudzí kľúč ). Sekundárny kľúč je vytvorený pomocou polí, ktoré nie sú zahrnuté v primárnom kľúči.

Pri definovaní vzťahu teda jedna tabuľka vykoná vzťah pomocou polí zahrnutých v primárnom kľúči a druhá tabuľka môže použiť všetky polia primárneho kľúča, ich časť alebo polia, ktoré nie sú zahrnuté v primárnom kľúči.

Na rozdiel od vzťahov založených iba na primárnom kľúči sa vzťahy budované pomocou sekundárneho kľúča nazývajú potenciálne vzťahy. Vývojár databázy sám rozhodne, či takúto väzbu použije alebo nie.

Vzťah typu many-to-one je v podstate obrátený vzťah typu one-to-many. Hodnoty v poliach vzťahu musia byť definované tabuľkou, v ktorej sú použité polia jedinečné, to znamená, že iba jeden záznam môže definovať mnoho ďalších.

Referenčná integrita zabezpečuje, aby sa hodnota cudzieho kľúča inštancie podriadenej entity zhodovala s hodnotami primárneho kľúča v nadradenej entite. Referenčnú integritu možno skontrolovať pre všetky operácie, ktoré upravujú údaje.

Uložená procedúra je program, ktorý kombinuje dotazy, procedurálnu logiku (operátory priraďovania, vetvenia atď.) a dáta uložené v databáze. Tento mechanizmus vám umožňuje obsahovať pomerne zložité programy spolu s údajmi, ktoré vykonávajú veľké množstvo práce pri spracovaní údajov bez prenosu údajov cez sieť a bez interakcie s klientom. V tomto prípade môže byť databáza funkčne nezávislou aplikačnou vrstvou, ktorá interaguje s inými vrstvami, aby mohla prijímať dotazy a aktualizovať údaje.

pravidláumožňujú spúšťať špecifikované akcie pri zmene alebo pridávaní údajov do databázy a tým kontrolovať pravdivosť údajov v nej umiestnených. Akcia je zvyčajne volanie konkrétnej procedúry alebo funkcie. Pravidlá môžu byť spojené s poľom alebo záznamom a podľa toho sa spúšťajú, keď sa zmenia údaje v konkrétnom poli alebo zázname tabuľky. Pri odstraňovaní údajov nemôžete použiť pravidlá. Na rozdiel od obmedzení, ktoré sú len prostriedkom kontroly relatívne jednoduchých podmienok pre správnosť zadávania údajov, pravidlá umožňujú kontrolovať a udržiavať ľubovoľne zložité vzťahy medzi dátovými prvkami v databáze.

Spúšťje preddefinovaná akcia alebo postupnosť akcií, ktoré sa automaticky vykonávajú pri aktualizácii, pridávaní alebo odstraňovaní dátových operácií. Spúšťač je výkonný nástroj na kontrolu zmien v dátach v databáze a pomáha programátorovi automatizovať operácie, ktoré by sa v tomto prípade mali vykonať. Spúšťač sa vykoná po kontrole pravidiel aktualizácie údajov. Používateľ ani aplikácia nemôžu aktivovať spúšťač, ktorý sa spustí automaticky, keď používateľ alebo aplikácia vykoná určité akcie s databázou. Spúšťač obsahuje nasledujúce komponenty:

* obmedzenia, na implementáciu ktorých sa vytvorí spúšťač;

* udalosť, ktorá bude charakterizovať vznik situácie vyžadujúcej overenie obmedzení. Udalosti sú najčastejšie spojené so zmenou stavu databázy (napríklad pridanie záznamu do tabuľky), ale môžu sa zohľadniť aj dodatočné podmienky (napríklad pridanie záznamu len so zápornou hodnotou);

Používanie spúšťačov pri navrhovaní databázy poskytuje nasledujúce výhody:

* spúšťače sa vykonajú vždy, keď sa vykonajú príslušné akcie. Vývojár myslí na použitie spúšťačov pri navrhovaní databázy a už na ne nemusí myslieť pri vývoji aplikácie na prístup k údajom;

* v prípade potreby je možné spúšťače meniť centrálne priamo v databáze. Užívateľské programy pracujúce s touto databázou nebudú vyžadovať modernizáciu;

* systém spracovania údajov, ktorý používa spúšťače, má lepšiu prenosnosť na architektúru klient-server vďaka menšiemu počtu potrebných úprav.

Normalizácia vzťahov je proces budovania optimálnej štruktúry tabuliek a vzťahov v relačnej databáze. Proces normalizácie zoskupuje dátové prvky do tabuliek, ktoré predstavujú objekty a ich vzťahy. Teória normalizácie je založená na myšlienke, že určitá množina tabuliek má lepšie vlastnosti na zahrnutie, úpravu a odstraňovanie údajov ako všetky ostatné množiny tabuliek, ktoré možno použiť na reprezentáciu rovnakých údajov.

Relačné DBMS majú množstvo funkcií, ktoré ovplyvňujú organizáciu externej pamäte. Medzi najdôležitejšie funkcie patria nasledujúce.

Existujú dve úrovne systému:

úrovni priama správa údajov v externej pamäti (rovnako ako zvyčajne správa vyrovnávacej pamäte RAM, správa transakcií a zaznamenávanie zmien v databáze),

jazykovej úrovni(napríklad úroveň, ktorá implementuje jazyk SQL).

Pri takejto organizácii musí subsystém nižšej úrovne udržiavať vo vonkajšej pamäti súbor základných štruktúr, ktorých špecifická interpretácia je zahrnutá vo funkciách subsystému vyššej úrovne.

podpora adresárové vzťahy(adresáre). Informácie súvisiace s pomenovaním databázových objektov a ich špecifickými vlastnosťami (napríklad štruktúra kľúča indexu) udržiava subsystém jazykovej úrovne. Z hľadiska štruktúr externej pamäte sa adresárový vzťah nelíši od bežného databázového vzťahu.

Pravidelnosť dátových štruktúr. Keďže hlavným objektom relačného dátového modelu je plochá (1NF) tabuľka, hlavná množina objektov externej pamäte môže mať veľmi jednoduchú pravidelnú štruktúru. Zároveň je potrebné zabezpečiť schopnosť efektívne vykonávať operátory na jazykovej úrovni ako na jednom vzťahu (jednoduché operácie výberu a projekcie), tak aj na viacerých vzťahoch (najčastejšou a pracne najnáročnejšou operáciou je prepojenie viacerých vzťahov). Aby ste to dosiahli, musia byť v externej pamäti podporované ďalšie indexy.

Pre splnenie požiadavky na spoľahlivé databázové úložisko je potrebné udržiavať redundancia úložiskaúdajov, ktoré sa zvyčajne implementujú ako denník zmien databázy.



Podľa toho sa v pamäti externej databázy objavia nasledujúce typy objektov:

vzťahové reťazce- hlavná časť databázy, väčšinou priamo viditeľná používateľom;

riadiacich štruktúr- indexy vytvorené z iniciatívy užívateľa (správcu) alebo najvyššej úrovne systému z dôvodu zvýšenia efektívnosti vykonávania dotazov a spravidla automaticky udržiavané nižšou úrovňou systému;

informácie z časopisu podporované na uspokojenie potreby spoľahlivého ukladania údajov;

servisné informácie, udržiavané tak, aby vyhovovali interným potrebám nižšej úrovne systému; Súbor štruktúr servisných informácií závisí od celkovej organizácie systému, ale zvyčajne je potrebné udržiavať nasledujúce servisné údaje:

· interné adresáre (adresáre) popisujúce fyzikálne vlastnosti databázových objektov, napríklad počet relačných atribútov, ich veľkosť a prípadne dátové typy;

· popis indexov definovaných pre tento vzťah;

· deskriptory voľnej a obsadenej pamäte na stránkach externej pamäte pridelených na ukladanie vzťahov; takéto informácie sú potrebné na nájdenie voľného miesta pri zadávaní n-tic.

Základné pamäťové štruktúry

Štruktúra a typy stránok

Hlavnou jednotkou ukladania a manipulácie s údajmi v organizácii bez súborov je pamäťovú stránku(alebo dátový blok) - časť pamäťového priestoru databázového úložného prostredia organizovaná tak, že pozostáva zo sekvencie takých častí (stránok) rovnakej dĺžky.

Stránka je jednotka výmeny s externou pamäťou. Veľkosť stránky je pre databázu pevná a nastavuje sa pri jej vytvorení (databáze). Pamäťové stránky majú jedinečné identifikátory, čo sú zvyčajne ich poradové čísla. Obsah pamäťovej stránky je možné prečítať do schránky alebo zapísať do externej pamäte z vyrovnávacej pamäte jediným prístupom k externému pamäťovému zariadeniu. V niektorých systémoch môžu mať pamäťové stránky internú organizáciu, napríklad môžu mať index, ktorý poskytuje priamy prístup k uloženým záznamom obsiahnutým na stránke. V niektorých prístupových metódach sa nazývajú stránky s najjednoduchšou organizáciou, ktorá zabezpečuje postupné umiestňovanie záznamov v nich bloky záznamov.

Existujú štyri typy stránok:

· dátové stránky,

· indexové stránky,

· blob stránky,

· bitové stránky.

Dátová stránka. Základná jednotka na vykonávanie výmenných transakcií. Štruktúra dátovej stránky je znázornená na obr. 32.

Ryža. 32. Štruktúra dátovej stránky

Názov stránky zahŕňa vnútrosystémové informácie používané DBMS v mechanizme správy stránok.

Údaje na stránke sú prezentované ako linky. Každý riadok zodpovedá nejakej n-tici zobrazeného vzťahu.

Sloty charakterizovať umiestnenie dátových riadkov na stránke. V databáze má každá n-tica jedinečný interný identifikátor, ktorý obsahuje číslo stránky a číslo riadku na stránke, do ktorej je n-tica mapovaná. Obsah slotu tvorí identifikátor príslušného riadku (podľa čísla na stránke). Pri zoradení relačných n-tic podľa hodnoty niektorého atribútu nedochádza k fyzickému pohybu riadkov na zodpovedajúcich stránkach. Namiesto toho sa obsah slotov preusporiada.

Indexová stránka. Indexové stránky sú navrhnuté na ukladanie indexových štruktúr používaných DBMS pri implementácii prístupových metód a sú organizované vo forme B-stromov.

Blob stránky. blob stránky ( B inary L arge Ob ject) sú určené na ukladanie pološtruktúrovaných informácií obsahujúcich veľké texty, grafické informácie a binárne kódy. S týmito údajmi sa zaobchádza ako s prúdmi bajtov ľubovoľnej veľkosti a odkazy na tieto stránky sa tvoria v údajových stránkach. Tieto typy údajov v skorých DBMS boli klasifikované ako údaje MEMO.

Bitová stránka. Bitové stránky obsahujú rukoväte iných typov stránok. Deskriptor stránky obsahuje dve zložky - typu stránku a jej štát (zadarmo/zaneprázdnený).

Tabuľkové priestory

Spoločný pre DBMS je koncept priestor(pre niektoré DBMS tabuľkový priestor). Tabuľkové priestory obsahujú rôzne logické dátové štruktúry, ako sú tabuľky a indexy, dočasné tabuľky a dátový slovník. Zoskupovanie uložených údajov do priestorov sa vykonáva podľa viacerých kritérií: frekvencia zmien údajov, charakter práce s údajmi (hlavne čítanie alebo zápis atď.), rýchlosť rastu objemu údajov, dôležitosť atď. Do jedného priestoru sa teda umiestňujú napríklad len čitateľné tabuľky, pre ktoré sú nastavené jedny parametre úložiska, tabuľky transakcií sa umiestňujú do priestoru s rôznymi parametrami atď. (obr. 33).

Obr.33. Fyzické umiestnenie údajov zariadením

Jedna logická jednotka údajov (tabuľka alebo index) sa nachádza presne v jednom priestore, ktorý možno mapovať na viacero fyzických zariadení alebo súborov. V tomto prípade možno fyzicky oddeliť (umiestnené na rôznych diskoch) nielen logické jednotky údajov (tabuľky oddelené od indexov), ale aj údaje rovnakej logickej štruktúry (tabuľka na viacerých diskoch). Tento spôsob ukladania sa nazýva horizontálna fragmentácia(alebo delenie): tabuľka je rozdelená na časti podľa riadkov. Fragmentácia je jedným zo spôsobov, ako zlepšiť výkon.

Na zápis údajov do fragmentovaných tabuliek možno použiť rôzne schémy. Jeden z nich je kruhový, keď sa časť riadkov vložených do tabuľky zapíše do prvého fragmentu, iná časť do ďalšieho atď. v kruhu. V tomto prípade sa vďaka paralelizácii môže zvýšiť výkon operácií úpravy údajov a dotazov.

Existuje ďalšia schéma, ktorá zahŕňa logické rozdelenie riadkov tabuľky podľa kľúča ( zhlukovanie). Táto schéma zabraňuje plytvaniu časom CPU a znižuje celkový objem I/O operácií. Jej podstatou je, že pri vytváraní tabuľky sa celý priestor kľúčovej hodnoty tabuľky rozdelí na niekoľko intervalov a riadkom s kľúčmi patriacimi do rôznych intervalov sú priradené rôzne miesta. Následne pri spracovaní požiadavky tieto informácie zohľadní optimalizátor. Ak sa vyhľadávanie vykonáva pomocou kľúča, optimalizátor môže odstrániť fragmenty tabuľky zvažovania, ktoré nespĺňajú podmienku výberu.

Nech je napríklad na stôl Osoba vytvoria sa dve priečky časť 1 A časť 2, z ktorých každý sa nachádza vo vlastnom tabuľkovom priestore ( priestor tblspace1 A priestor tblspace2). Záznamy s hodnotou poľa Num od 1 do 499 sa budú nachádzať v prvej sekcii a záznamy s číslami od 500 do 1000 v druhej (obr. 34.).

Potom na otázku:

VYBERTE FIO OD osoby, KDE ČÍSLO 10 AŽ 40

Optimalizátor bude hľadať iba časť1, čo môže poskytnúť významné výhody v oblasti výkonu v tabuľke s desiatkami tisíc riadkov.

Takéto mechanizmy fragmentácie údajov podporujú takmer všetky moderné DBMS, ktoré sa často používajú pri vytváraní vysokovýkonných systémov.

Ryža. 34. Príklad zhlukovania záznamov

Dátovou bankou sa rozumie súbor databáz, ako aj softvérových, jazykových a iných nástrojov určených na centralizovanú akumuláciu údajov a ich využitie pomocou elektronických počítačov.

Databanka obsahuje jednu alebo viac databáz, databázový adresár, systém správy databáz (DBMS), ako aj knižnice dotazov a aplikačných programov.

Databanka je určená na uchovávanie veľkého množstva informácií a rýchle vyhľadávanie potrebných informácií a dokumentov.

Databanka je vytvorená v účastníckom systéme akejkoľvek kapacity - od osobného počítača po superpočítač. Ale aj najväčšia databanka je obmedzená vo svojich možnostiach. Online banky sa preto špecializujú na zhromažďovanie informácií v určitých oblastiach vedy, techniky a produktov. Jadrom banky sú databázy a znalostné bázy. Databáza je organizovaná štruktúra určená na uchovávanie informácií. Údaje a informácie sú vzájomne prepojené pojmy, ale nie sú totožné, rád by som si všimol nejednotnosť v tejto definícii. Väčšina systémov správy databáz (DBMS) dnes umožňuje umiestniť do svojich štruktúr nielen dáta, ale aj metódy (teda programový kód), prostredníctvom ktorých dochádza k interakcii so spotrebiteľom alebo s inými softvérovými a hardvérovými systémami. Môžeme teda povedať, že moderné databázy uchovávajú nielen dáta, ale aj informácie.

BnD má špeciálne nástroje, ktoré používateľom uľahčujú prácu s dátami (DBMS).

Centralizovaná správa údajov má v porovnaní s konvenčným súborovým systémom výhody:

— zníženie redundancie ukladania údajov;

— znižovanie náročnosti vývoja, prevádzky a modernizácie informačných systémov;

Zabezpečenie pohodlného prístupu k údajom ako používateľov

dátových profesionálov aj koncových používateľov.

Základné požiadavky na BnD:

- primeranosť zobrazenia predmetnej oblasti (úplnosť, integrita a - konzistentnosť údajov, relevantnosť informácií;

— schopnosť interakcie medzi používateľmi rôznych kategórií, vysoká účinnosť prístupu k údajom;

— priateľské rozhrania, krátky čas školenia;

— zabezpečenie utajenia a obmedzenie prístupu k údajom pre rôznych používateľov;

— spoľahlivosť uchovávania a ochrany údajov.

Definícia pojmu Databanka je uvedená v Dočasných predpisoch o štátnom účtovníctve a evidencii databáz a databáz, schválených nariadením vlády Ruskej federácie z 28. februára 1996 č. 226, odsek 2 (SZ RF, 1996 12, čl. 1114)

Spočiatku (začiatok 60. rokov) sa používal systém na ukladanie súborov. Na riešenie primárne inžinierskych problémov, charakterizovaných malým množstvom údajov a značným množstvom výpočtov, boli údaje uložené priamo v programe. Bol použitý konzistentný spôsob organizácie dát, vysoká redundancia, identické logické a fyzické štruktúry a úplná závislosť dát. S nástupom ekonomických a manažérskych úloh (riadiaci informačný systém - MIS), charakterizovaných veľkými objemami dát a malým podielom výpočtov, sa táto organizácia dát ukázala ako neefektívna. Vyžadovalo sa objednávanie údajov, ktoré, ako sa ukázalo, mohlo byť vykonané podľa dvoch kritérií: použitie (informačné polia); úložisko (databázy). Spočiatku sa používali informačné polia, ale nadradenosť databáz sa čoskoro ukázala. Použitie súborov na ukladanie iba údajov navrhol Mac Gree v roku 1959. Boli vyvinuté metódy prístupu (vrátane náhodného prístupu) k takýmto súborom, pričom fyzické a logické štruktúry už boli odlišné a fyzické umiestnenie údajov bolo možné zmeniť bez zmeny logickej reprezentácie.

V roku 1963 vybudoval S. Bachman prvú priemyselnú databázu IDS so sieťovým dátovým modelom, ktorý sa ešte vyznačoval redundanciou dát a ich využitím len pre jednu aplikáciu. K údajom sa pristupovalo pomocou vhodného softvéru. V roku 1969 sa vytvorila skupina, ktorá vytvorila súbor štandardov CODASYL pre sieťový dátový model.

V skutočnosti sa začala používať moderná databázová architektúra. Architektúrou sa rozumie typ (zovšeobecnenie) štruktúry, v ktorej môže byť ľubovoľný prvok nahradený iným prvkom, ktorého charakteristiky vstupov a výstupov sú zhodné s prvým prvkom. Významný skok vo vývoji databázovej technológie spôsobila paradigma relačného dátového modelu, ktorú v roku 1970 navrhol M. Codd. Paradigma sa chápe ako vedecká teória včlenená do systému pojmov, ktoré odrážajú podstatné črty reality. Teraz by bolo možné získať logické štruktúry z rovnakých fyzických údajov, t.j. K rovnakým fyzickým údajom môžu rôzne aplikácie pristupovať rôznymi cestami. Je možné zabezpečiť integritu a nezávislosť údajov.

Koncom 70. rokov sa objavili moderné DBMS, ktoré poskytujú fyzickú a logickú nezávislosť, bezpečnosť dát a vyvinuli databázové jazyky. Posledné desaťročie je charakteristické vznikom distribuovaných a objektovo orientovaných databáz, ktorých charakteristiky sú determinované aplikáciami nástrojov automatizovaného návrhu a intelektualizáciou databáz.

S pojmom databáza úzko súvisí aj pojem databázový systém – ide o súbor softvérových nástrojov určených na vytvorenie štruktúry novej databázy, jej naplnenie obsahom, úpravu obsahu a vizualizáciu informácií. Vizualizáciou databázových informácií sa rozumie výber zobrazovaných údajov podľa daného kritéria, ich zoradenie, návrh a následný výstup na výstupné zariadenie alebo prenos cez komunikačné kanály.

Na svete existuje veľa systémov na správu databáz. Aj keď môžu pracovať odlišne s rôznymi objektmi a poskytovať používateľovi rôzne funkcie a vlastnosti, väčšina DBMS sa spolieha na jediný, zavedený súbor základných konceptov. To nám dáva príležitosť zvážiť jeden systém a zovšeobecniť jeho koncepty, techniky a metódy na celú triedu DBMS.

DBMS organizuje ukladanie informácií takým spôsobom, aby to bolo pohodlné:

prehliadať,

doplniť,

zmeniť,

vyhľadať informácie, ktoré potrebujete,

urobte akékoľvek výbery

triediť v ľubovoľnom poradí.

Klasifikácia databázy:

a) podľa povahy uchovávaných informácií:

faktické (indexy kariet),

Dokumentárny (archívy)

b) podľa spôsobu uchovávania údajov:

centralizované (uložené na jednom počítači),

Distribuované (používané v lokálnych a globálnych počítačových sieťach).

c) podľa organizačnej štruktúry údajov:

tabuľkový (relačný),

hierarchické,

Moderné DBMS umožňujú zahrnúť nielen textové a grafické informácie, ale aj zvukové fragmenty a dokonca aj videoklipy.

Jednoduché použitie DBMS vám umožňuje vytvárať nové databázy bez toho, aby ste sa uchýlili k programovaniu, ale s použitím iba vstavaných funkcií. DBMS zaisťuje správnosť, úplnosť a konzistentnosť údajov, ako aj pohodlný prístup k nim.

Populárne DBMS sú FoxPro, Access for Windows, Paradox. Pre menej zložité aplikácie sa namiesto DBMS používajú systémy na vyhľadávanie informácií (IRS), ktoré vykonávajú tieto funkcie:

ukladanie veľkého množstva informácií;

rýchle vyhľadávanie požadovaných informácií;

pridávanie, mazanie a zmena uložených informácií;

vydávať ho vo forme vhodnej pre ľudí.

Informácie v databázach sú štruktúrované do jednotlivých záznamov, ktoré sú skupinou súvisiacich dátových prvkov. Povaha vzťahu medzi záznamami určuje dva hlavné typy organizácie databázy: hierarchické a relačné.

Ak v databáze nie sú žiadne údaje (prázdna databáza), tak je to stále plnohodnotná databáza. Táto skutočnosť má metodologický význam. V databáze síce nie sú žiadne údaje, ale stále sú v nej informácie – taká je štruktúra databázy. Definuje metódy pre zadávanie údajov a ich ukladanie do databázy. Najjednoduchšou „nepočítačovou“ verziou databázy je obchodný denník, v ktorom je každému kalendárnemu dňu pridelená stránka. Aj keď v ňom nie je napísaný ani riadok, neprestáva byť diárom, pretože má štruktúru, ktorá ho jednoznačne odlišuje od zošitov, pracovných zošitov a iných papiernických výrobkov.

Databázy môžu obsahovať rôzne objekty, ale hlavnými objektmi každej databázy sú jej tabuľky. Najjednoduchšia databáza má aspoň jednu tabuľku. Podľa toho je štruktúra najjednoduchšej databázy identická so štruktúrou jej tabuľky.

V súčasnosti rýchlo rastie počet systémov elektronického obchodu (ECS). Elektronický obchod má množstvo charakteristických čŕt, ktoré ho výrazne odlišujú od všetkých doteraz známych spôsobov klasického obchodu vďaka výnimočným komunikačným vlastnostiam internetu.

Systémy elektronického obchodu musia byť schopné koordinovať obchodné transakcie vo viacerých podnikových aplikáciách, musia byť schopné získavať jednotlivé informácie z rôznych zdrojov a doručovať potrebné informácie zákazníkovi včas a bezproblémovo – to všetko na webe jedného používateľa. žiadosť.

SEC majú súbor špecifických vlastností, ktoré ich odlišujú od klasických obchodných systémov (bežné obchody, supermarkety, burzy atď.). Tieto vlastnosti je zároveň potrebné brať do úvahy pri konštrukcii a analýze procesných modelov v SEC, pretože klasická formulácia optimalizačného problému optimálneho riadenia diskrétneho systému nie je vhodná. Takže vlastnosti SEC: Prevádzková doba je neobmedzená, na rozdiel od klasických systémov, kde je prísne regulovaný pracovný režim. Dá sa povedať, že tok návštevníkov je v čase rozložený rovnomerne. Na rozdiel od klasických systémov v SEC (to je typické najmä pre systémy triedy B2C), návštevníci prichádzajú nielen nakupovať, ale aj získať nejaké informácie: oboznámiť sa so sortimentom, cenami, platobnými a dodacími podmienkami.

Klasické systémy sa zároveň vyznačujú takou vlastnosťou, že návštevníci sa veľmi pravdepodobne stanú kupujúcimi. Preto je možné uvažovať o rôznych modeloch a metódach hodnotenia efektívnosti fungovania SEC: pomer počtu kupujúcich k počtu návštevníkov, vplyv prevádzky SEC a spätná väzba na prichádzajúci tok aplikácií.

Pre SEC je typické, že veľa návštevníkov tam príde viackrát po nejaké informácie a až po uspokojení všetkých podmienok uskutoční nákup.

SEC dokáže súčasne obslúžiť pomerne veľký počet návštevníkov. Táto charakteristika je obmedzená len softvérovými a hardvérovými možnosťami SEC. To znamená, že v prípade SEC z pohľadu používateľa neexistujú žiadne fronty čakajúce na službu. To platí najmä pre plne alebo čiastočne automatizované SEC.

V SEC je možný prípad, keď návštevník, ktorý vložil produkty do virtuálneho košíka, opustí systém bez vykonania nákupu (je prirodzené, že všetky produkty ostanú v systéme, pretože je jednoducho nemožné ich ukradnúť). Na základe analógie s klasickými nákupnými systémami je opäť ťažké si predstaviť situáciu, keď návštevník pri vstupe do predajne najskôr naloží plný košík s tovarom, potom všetko vyloží a predajňu opustí. V SEC je tento prípad možný, ak súbor kontrolných faktorov nie je optimálny (alebo suboptimálny)

Systémy na správu databáz umožňujú kombinovať veľké množstvo informácií a spracovávať ich, triediť, vyberať podľa určitých kritérií atď.

Moderné DBMS umožňujú zahrnúť nielen textové a grafické informácie, ale aj zvukové fragmenty a dokonca aj videoklipy. Jednoduché použitie DBMS vám umožňuje vytvárať nové databázy bez toho, aby ste sa uchýlili k programovaniu, ale s použitím iba vstavaných funkcií. DBMS zabezpečuje správnosť, úplnosť a konzistentnosť údajov.

1.2 Relačné databázy

Relačný DBMS (RSDBMS; inak Relational Database Management System, RDBMS) je DBMS, ktorý spravuje relačné databázy.

Pojem vzťah je spojený s vývojom slávneho anglického špecialistu v oblasti databázových systémov Edgara Codda.

Tieto modely sa vyznačujú jednoduchosťou dátovej štruktúry, užívateľsky príjemnou tabuľkovou reprezentáciou a schopnosťou využívať na spracovanie dát formálny aparát relačnej algebry a relačného kalkulu.

Relačný model sa zameriava na organizáciu údajov vo forme dvojrozmerných tabuliek. Každá relačná tabuľka je dvojrozmerné pole a má nasledujúce vlastnosti:

– každý prvok tabuľky je jedným údajovým prvkom;

– všetky stĺpce v tabuľke sú homogénne, to znamená, že všetky prvky v stĺpci majú rovnaký typ (číselný, znakový atď.);

– každý stĺpec má jedinečný názov;

– v tabuľke nie sú žiadne rovnaké riadky;

– poradie riadkov a stĺpcov môže byť ľubovoľné.

Základné pojmy relačnej DBMS sú: 1) atribút; 2) vzťahy; 3) tuple.

Databáza teda nie je nič iné ako zbierka tabuliek. RDBS a záznamovo orientované systémy sú organizované na základe B-Tree štandardu alebo Indexed Sequential Access Method (ISAM) a sú štandardnými systémami používanými vo väčšine moderných softvérových produktov. Na umožnenie kombinácie tabuliek na definovanie vzťahov medzi údajmi, ktoré takmer úplne chýbajú vo väčšine implementácií softvéru B-Tree a ISAM, sa používajú jazyky ako SQL (IBM), Quel (Ingres) a RDO (digitálne vybavenie) a sa teraz priemyselným štandardom stal jazyk SQL, ktorý podporujú všetci výrobcovia relačných DBMS.

Pôvodná verzia SQL je interpretovaný jazyk určený na vykonávanie operácií s databázami. Jazyk SQL vznikol začiatkom 70-tych rokov ako rozhranie pre interakciu s databázami na základe vtedy novej relačnej teórie. Skutočné aplikácie sú zvyčajne napísané v iných jazykoch, ktoré generujú kód SQL a odovzdávajú ho DBMS ako text ASCII. Treba si tiež uvedomiť, že takmer všetky reálne relačné (nielen relačné) systémy okrem implementácie štandardu ANSI SQL, dnes známeho v najnovšom vydaní pod názvom SQL2 (alebo SQL-92), obsahujú ďalšie rozšírenia, napr. , podpora architektúry klient-server alebo nástrojov na vývoj aplikácií.

Riadky tabuľky sa skladajú z polí, ktoré sú databáze vopred známe. Väčšina systémov nemôže pridávať nové typy údajov. Každý riadok v tabuľke zodpovedá jednému záznamu. Pozícia daného riadku sa môže meniť, keď sa nové riadky vymazávajú alebo vkladajú.

Aby bolo možné jednoznačne identifikovať prvok, musí byť spojený s poľom alebo množinou polí, ktoré zaručujú jedinečnosť prvku v rámci tabuľky. Toto pole alebo polia sa nazývajú primárny kľúč tabuľky a často ide o čísla. Ak jedna tabuľka obsahuje primárny kľúč inej tabuľky, umožňuje vám to usporiadať vzťah medzi prvkami rôznych tabuliek. Toto pole sa nazýva cudzí kľúč.

Keďže všetky polia jednej tabuľky musia obsahovať konštantný počet polí preddefinovaných typov, je potrebné vytvárať ďalšie tabuľky, ktoré zohľadňujú jednotlivé charakteristiky prvkov pomocou cudzích kľúčov. Tento prístup značne komplikuje vytváranie akýchkoľvek zložitých vzťahov v databáze. Ďalšou veľkou nevýhodou relačných databáz je veľká zložitosť manipulácie s informáciami a zmeny vzťahov.

Napriek zvažovaným nevýhodám relačných databáz majú množstvo výhod:

deliace stoly pomocou rôznych programov;

rozšírený „návratový kód“ pre chyby;

vysoká rýchlosť spracovania dotazu (príkaz SQL SELECT; výsledkom výberu je tabuľka, ktorá obsahuje polia, ktoré spĺňajú zadané kritérium);

samotný koncept objektových databáz je pomerne zložitý a vyžaduje seriózne a zdĺhavé školenie od programátorov;

relatívne vysoká rýchlosť pri práci s veľkými objemami dát.

Okrem toho sa už do relačných DBMS po celom svete investovalo značné množstvo peňazí. Mnohé organizácie si nie sú istí, že náklady spojené s migráciou na objektové databázy budú stáť za to.

Preto sa mnohí používatelia zaujímajú o kombinovaný prístup, ktorý by im umožnil využívať výhody objektových databáz bez toho, aby sa úplne vzdali svojich relačných databáz. Takéto riešenia existujú. Ak je prechod z relačnej databázy na objektovú databázu príliš nákladný, potom je použitie tejto databázy ako rozšírenia a doplnku k relačnej DBMS často cenovo výhodnejšou alternatívou. Kompromisné riešenia vám umožňujú udržiavať rovnováhu medzi objektmi a relačnými tabuľkami.

Objektovo-relačné adaptéry - uh Táto metóda zahŕňa použitie takzvaného objektovo-relačného adaptéra, ktorý automaticky prideľuje programové objekty a ukladá ich do relačných databáz. Objektovo orientovaná aplikácia funguje ako bežný používateľ DBMS. Hoci existuje určitá penalizácia za výkon, táto možnosť umožňuje programátorom plne sa sústrediť na objektovo orientovaný vývoj. Okrem toho môžu všetky aplikácie v podniku stále pristupovať k údajom uloženým v relačnej forme.

Niektoré objektové DBMS, ako napríklad GemStone od GemStone Systems, môžu samy osebe pôsobiť ako výkonný objektovo-relačný adaptér, ktorý umožňuje objektovo orientovaným aplikáciám prístup k relačným databázam.

Objektovo-relačné adaptéry, ako napríklad Hewlett-Packard's Odapter for Oracle, môžu byť užitočné v mnohých oblastiach, ako napríklad middleware, ktorý integruje objektovo orientované aplikácie s relačnými databázami.

Objektovo-relačné brány - p Pri použití tejto metódy používateľ interaguje s databázou pomocou jazyka OODBMS a brána nahradí všetky objektovo orientované prvky tohto jazyka ich relačnými komponentmi. Opäť za to musíte zaplatiť v produktivite. Napríklad brána musí transformovať objekty na množinu vzťahov, vygenerovať pôvodné identifikátory (OID) objektov a odovzdať ich do relačnej databázy. Brána potom musí pri každom použití rozhrania RDBMS previesť OID nájdené v databáze na zodpovedajúci objekt uložený v RDBMS.

Výkon v dvoch uvažovaných prístupoch závisí od spôsobu prístupu k relačnej databáze. Každý RDBMS pozostáva z dvoch vrstiev: vrstva správcu údajov a vrstva správcu úložiska. Prvý z nich spracováva príkazy v jazyku SQL a druhý zobrazuje údaje do databázy. Brána alebo adaptér môžu interagovať s dátovou vrstvou (to znamená s prístupom k RDBMS pomocou SQL) aj s mediálnou vrstvou (volania procedúr nízkej úrovne). Výkon je v prvom prípade oveľa nižší (napríklad systém Hewlett-Packard OpenODB, ktorý môže fungovať ako brána, podporuje len na vysokej úrovni).

Hybridná DBMS - naprĎalším riešením by bolo vytvorenie hybridných objektovo-relačných DBMS, ktoré dokážu ukladať tradičné tabuľkové údaje aj objekty. Mnoho analytikov verí, že budúcnosť spočíva v takýchto hybridných databázach. Poprední predajcovia relačných DBMS začínajú (alebo plánujú) pridávať do svojich produktov objektovo orientované schopnosti. Najmä Sybase a Informix plánujú zaviesť podporu objektov v budúcich verziách DBMS. Nezávislé spoločnosti tiež plánujú uskutočniť podobný vývoj. Napríklad spoločnosť Shores pripravuje vybavenie Oracle8 DBMS objektovo orientovanými nástrojmi, ktorých vydanie je naplánované na koniec roka 1996.

Na druhej strane, predajcovia objektovej DBMS, ako je Object Design, si uvedomujú, že objektovo orientované databázy nenahradia relačné DBMS v dohľadnej budúcnosti. To ich núti vytvárať brány na podporu relačných a hierarchických databáz alebo rôznych druhov rozhraní, ktorých typickým príkladom je objektovo-relačné rozhranie Ontos Integration Server od spoločnosti Ontos, používané v kombinácii s jeho Ontos/DB OODB.

1.3 Viacrozmerné databázy

Výkonná databáza so špeciálnou organizáciou úložiska - kocky, ktorá používateľom umožňuje analyzovať veľké objemy údajov. Multidimenzionálna databáza umožňuje vysokorýchlostnú prácu s údajmi uloženými ako súbor faktov, dimenzií a vopred vypočítaných agregátov.

V špecializovaných DBMS založených na viacrozmernej reprezentácii údajov nie sú údaje organizované vo forme relačných tabuliek, ale vo forme usporiadaných viacrozmerných polí:

Hyperkocky – všetky bunky uložené v databáze musia mať rovnaký rozmer, to znamená, že musia byť v najkompletnejšom základe merania

Polycubes – každá premenná je uložená s vlastnou sadou rozmerov a všetky súvisiace zložitosti spracovania sa prenášajú do vnútorných mechanizmov systému.

Použitie viacrozmerných databáz v online analytických systémoch spracovania má tieto výhody:

vysoký výkon. Produkty patriace do tejto triedy majú zvyčajne multidimenzionálny databázový server. Údaje v procese analýzy sa vyberajú výlučne z viacrozmernej štruktúry a v tomto prípade je vyhľadávanie a získavanie údajov oveľa rýchlejšie ako pri viacrozmernom koncepčnom pohľade na relačné databázy, pretože viacrozmerná databáza je denormalizovaná, obsahuje vopred agregované ukazovatele a poskytuje optimalizovaný prístup k požadovaným bunkám

vyhľadávanie a získavanie údajov sa vykonáva oveľa rýchlejšie ako pri viacrozmernom koncepčnom pohľade na relačné databázy – priemerný čas odozvy na ad hoc dotaz pri použití viacrozmernej DBMS je zvyčajne o jeden až dva rády kratší ako v prípade relačnej databázy. DBMS s normalizovanou dátovou schémou

štruktúra a rozhrania najlepšie zodpovedajú štruktúre analytických dopytov. Táto metóda je viac podobná ľudskému mentálnemu modelu, keďže analytik je zvyknutý pracovať s plochými stolmi. Rezaním kocky s dvojrozmernou rovinou v jednom alebo druhom smere je ľahké získať vzájomnú závislosť akejkoľvek dvojice veličín vzhľadom na zvolenú mieru. Napríklad, ako sa náklady na výrobu produktu (miery) menili v priebehu času (rozmer) rozdelené podľa sekcií, dielní a výrobných zariadení (iný rozmer)

multidimenzionálne DBMS sa ľahko vyrovnávajú s úlohami zahrnutia rôznych vstavaných funkcií do informačného modelu, zatiaľ čo objektívne existujúce obmedzenia jazyka SQL robia vykonávanie týchto úloh založených na relačných DBMS dosť ťažké a niekedy nemožné.

MOLAP dokáže pracovať len s vlastnými multidimenzionálnymi databázami a je založený na proprietárnych technológiách pre multidimenzionálne DBMS, preto je najdrahší. Tieto systémy poskytujú celý cyklus spracovania OLAP a buď obsahujú okrem serverového komponentu aj vlastné integrované klientske rozhranie, alebo používajú externé tabuľkové programy na komunikáciu s používateľom. Na údržbu takýchto systémov je potrebný špeciálny personál zamestnancov, ktorí nainštalujú, udržiavajú systém a vytvárajú zobrazenia údajov pre koncových používateľov.

Medzi ďalšie nevýhody modelov MOLAP patria:

neumožňujú prácu s veľkými databázami. Dnes je ich skutočný limit 10-20 gigabajtov. Okrem toho v dôsledku denormalizácie a vopred vykonanej agregácie 20 gigabajtov vo viacrozmernej databáze spravidla zodpovedá (podľa Codda) 2,5 až 100-krát menšiemu objemu pôvodných podrobných údajov, v najlepšom prípade niekoľko gigabajtov. .

V porovnaní s relačnými využívajú externú pamäť veľmi neefektívne. Bunky hyperkocky sú v nich uložené vo forme logicky usporiadaných polí (bloky s pevnou dĺžkou) a takýto blok je minimálnou indexovanou jednotkou. Hoci multidimenzionálne DBMS neukladajú bloky, ktoré neobsahujú žiadnu konkrétnu hodnotu, problém to rieši len čiastočne. Keďže údaje sú uložené usporiadaným spôsobom, nedefinované hodnoty nie sú vždy úplne odstránené, a to iba vtedy, keď poradie triedenia umožňuje organizovať údaje do čo najväčších súvislých skupín. Ale poradie zoradenia, ktoré sa najčastejšie používa v dotazoch, nemusí byť poradie, v ktorom by mali byť zoradené, aby sa maximalizovalo odstránenie neexistujúcich hodnôt. Pri navrhovaní multidimenzionálnej databázy teda často musíte obetovať buď výkon (a to je jedna z prvých výhod a hlavný dôvod výberu multidimenzionálnej DBMS), alebo externú pamäť (hoci, ako už bolo uvedené, maximálna veľkosť multidimenzionálnych databáz je obmedzený)

neexistujú jednotné štandardy pre rozhranie, jazyky na popis a manipuláciu s údajmi

nepodporujú replikáciu údajov, ktorá sa často používa ako mechanizmus načítania. Preto je použitie multidimenzionálneho DBMS opodstatnené iba za týchto podmienok:

objem zdrojových údajov na analýzu nie je príliš veľký (nie viac ako niekoľko gigabajtov), ​​to znamená, že úroveň agregácie údajov je pomerne vysoká.

súbor informačných dimenzií je stabilný (keďže akákoľvek zmena ich štruktúry si takmer vždy vyžaduje úplnú reštrukturalizáciu hyperkocky).

Najkritickejším parametrom je čas odozvy systému na neregulované požiadavky.

vyžaduje rozsiahle používanie zložitých vstavaných funkcií na vykonávanie medzirozmerných výpočtov na bunkách hyperkocky, vrátane schopnosti písať vlastné vzorce a funkcie.

2. Praktická časť

2.1 Vyhlásenie o probléme

2.1.1 Účel riešenia problému

Vedenie spoločnosti Stroy-design LLC, ktorá vykonáva činnosti súvisiace s výkonom prác na oprave priestorov, chce zautomatizovať kalkulácie pre výpočet ceny vykonaných prác, aby klientovi promptne vystavila faktúru. Pomôže to skrátiť čas zúčtovania, vyhnúť sa ľudským chybám a zvýšiť spokojnosť zákazníkov s poskytovanými službami. Preto bolo rozhodnuté vyčísliť cenu vykonaných prác a vytvoriť faktúru na úhradu, ktorá by mala obsahovať názov diela, objem vykonanej práce, cenu za jednotku výroby a cenu diela. Úloha, ktorá sa bude riešiť v prostredí softvéru MS Excel na mesačnej báze, sa nazýva „Výpočet nákladov na dokončenú prácu“.

Cieľom riešenia tohto problému je včasné vyčíslenie ceny práce pre promptné poskytnutie podrobnej faktúry klientom.

2.1.2 Problémový stav

Zadajte prevádzkové informácie Používa sa dokument „Výpočet nákladov na vykonanú prácu“, ktorý obsahuje podrobnosti: názov diela, objem vykonanej práce, cena za jednotku produktu (rub.), cena práce (rub.), posledné dva podrobnosti musia byť vypočítané a vypočítané. Na základe toho sa vytvorí nasledujúci formulár obrazovky:

názov
práca

Jednotky
merania

Objem
uskutočnené
Tvorba

cena
funguje, trieť.

Q i

C i

S i


Podmienečne trvalé informácie (odkaz) slúži ako cenník organizácie, ktorý obsahuje nasledovné údaje (podmienená forma): názov diela, cena za jednotku produkcie (rub). Na základe toho sa vytvorí nasledujúci formulár obrazovky:

Cenník

Názov práce

Cena za jednotku produkcie, rub.

Latinské písmená v tabuľke označujú prvky príslušných výpočtových vzorcov.

Ako výsledok Mali by ste dostať faktúru s nasledujúcimi údajmi: názov diela, cena za jednotku produktu (ruble), objem vykonanej práce, náklady na prácu (ruble), číslo faktúry (vyplnené automaticky). Meno a dátum klienta sa zadávajú manuálne. Informácie sú uvedené v nasledujúcich dokumentoch:

Štruktúra výsledného dokumentu „Faktúra“

Stroyservis LLC

Číslo účtu.

dátum

20__

Celé meno klienta


p/p

názov
práca

Jednotky
merania

Objem
uskutočnené
Tvorba

Cena za jednotku produkcie, rub.

cena
funguje, trieť.

Výmena batérií

PC.

Nálepka na tapetu

m 2

Výmena potrubia

Parketové podlahy

m 2

CELKOM:

ΣS i

DPH:

N

HODNOTA S DPH:

SN

Ch. účtovník

Okrem toho musia byť informácie obsiahnuté v tabuľkách na analýzu prezentované vo forme diagramov.

V technológii organizujte prepojenia medzi tabuľkami na automatické generovanie dokladu „Faktúra“ pomocou funkcií VLOOKUP alebo VIEW.

2.2. Počítačový model na riešenie problému

2.2.1. Informačný model riešenia problému

Informačný model odrážajúci vzťah medzi zdrojovými a výslednými dokumentmi je znázornený na obr. 2.


2.2.2. Analytický model riešenia problému

Ak chcete získať dokument " Výpočet nákladov na vykonaný
Tvorba » je potrebné vypočítať nasledujúce ukazovatele:

    náklady na prácu, rub.;

    DPH, rub.;

    suma vrátane DPH, rub..

    Výpočty sa vykonávajú pomocou nasledujúcich vzorcov:

    Si = C i ∙Q i ,

    N = ΣS i ∙ 0,18 ,

    SN = ΣS i + N,

    Kde S i
    - cena i práca; C i
    - cena za i-tá výrobná jednotka; Q i - objem vykonanej práce i práca; N- DPH;SN- Hodnota s DPH.

    2.2.3. Technológia na riešenie problémov MS Excel

    Riešenie problému pomocou MS Excel

    Zavolajte Excel:

    kliknite na tlačidlo "Štart";

    v hlavnej ponuke vyberte príkaz „Programy“;

    Z ponuky Microsoft Office vyberte MS Excel.

    Premenujte „Hárok 1“ na „Cenník“:

    v kontextovej ponuke vyberte príkaz „Premenovať“ a kliknite ľavým tlačidlom myši;

    stlačte kláves "Enter".

    Zadajte názov tabuľky "Cenník":

    na klávesnici napíšte „Cenník“;

    4. Naformátujte názov:


    Ryža. 2. Príklad výberu skupiny buniek

    Na paneli s nástrojmi na karte „Domov“ vyberte časť „Zarovnanie“ a kliknite na tlačidlo.

    5. Naformátujte bunky A2:B2 na zadávanie dlhých nadpisov:

    vyberte bunky A2:B2;

    vykonajte príkaz „Zarovnať“ v časti „Formátovať bunky“ v ponuke „Domov“ na paneli nástrojov;

    vyberte kartu „Zarovnanie“;

    v skupine možností „Zobraziť“ zaškrtnite možnosť „zalamovanie slov“ (obr. 3);


    Ryža. 3. Nastavenie delenia slov pri zadávaní dlhých slov do bunky

    hlavičky

    Kliknite na tlačidlo OK.

    6. Do buniek A2:B2 zadajte informácie uvedené na obr. 4.


    Ryža. 4. Názvy polí v tabuľke „Cenník“.

    7. Naformátujte bunky A3:A8 a zadajte textové znaky:

    vyberte bunky A3:A8;

    na paneli nástrojov v ponuke „Domov“ vyberte „Bunky“, kde v položke „Formát“ vyberte príkaz „Formátovať bunky“;

    vyberte kartu „Číslo“;

    vyberte formát „Text“ (obr. 5);

    Kliknite na tlačidlo OK.


    Ryža. 5. Výber formátu bunky

    8. Opakujte krok 9 pre rozsah buniek B3:B8, pričom vyberte formát „Číselný“.

    9. Zadajte počiatočné údaje (obr. 6).


    Ryža. 6. Zobrazenie tabuľky „Cenník“.

    10. Pomenujte skupinu buniek:

    vyberte bunky A3:B8;

    vyberte príkaz „Priradiť názov“ v časti „Definované názvy“ ponuky „Vzorec“ (obr. 7);


    Ryža. 7. Pohľad na okno „Vytvorenie názvu“.

    Kliknite na tlačidlo "OK".

    11. Premenujte „Hárok 2“ na „Výpočet ceny práce“ (podobne ako v kroku 2).

    12. Vytvorte tabuľku „Výpočet nákladov na vykonanú prácu“ (podobne ako v krokoch 3 - 7, 8) (obr. 8).


    Ryža. 8. Tabuľkový pohľad „Výpočet ceny práce“

    13. Vyplňte stĺpce „Názov práce“ a „Cena za jednotku produkcie, rub.“:

    aktivovať bunku A3;

    v ponuke „Údaje“ vyberte príkaz „Overenie údajov“, v poli „Typ údajov“ vyberte „Zoznam“;

    zadajte hodnotu do poľa „Zdroj“, pričom v „Cenníku“ zvýraznite rozsah A3:A8 (obr. 9);


    Ryža. 9. Nastavenie zoznamu platiteľov

    kliknite na tlačidlo "OK";

    ak chcete zadať názov úlohy zo zoznamu v každej bunke stĺpca A („Názov úlohy“), aktivujte bunku A3 a umiestnite kurzor na značku v pravom dolnom rohu, kliknite ľavým tlačidlom myši a presuňte ju na bunka A6 (obr. 10);


    Ryža. 10. Pohľad na list „Kalkulácia nákladov práce“ pri nastavovaní zoznamu

    v poli „Vybrať funkciu“ kliknite na „VLOOKUP“ (obr. 11);


    Ryža. 11. Pohľad na prvé okno sprievodcu funkciou

    kliknite na tlačidlo "OK";

    zadajte názov diela do poľa „Hľadaná_hodnota“ kliknutím na bunku A3;

    stlačte Enter";

    zadajte informácie do poľa „Tabuľka“;

    použite príkaz „Použiť vo vzorci“ v ponuke „Vzorce“ a vyberte možnosť „Vložiť názvy“;

    vyberte „Názov:“ „Cenník“ (obr. 12);


    Ryža. 12. Zadanie názvu poľa ako argumentu vzorca

    kliknite na tlačidlo "OK";

    stlačte Enter";

    zadajte informácie - číslo 2 do poľa "Číslo_stĺpca";

    do poľa „Interval_viewing“ zadajte informáciu - číslo 0 (obr. 13);


    Ryža. 13. Pohľad na druhé okno sprievodcu funkciou

    Kliknite na tlačidlo "OK";

    14. Vyplňte stĺpec „Rozsah vykonaných prác“.

    15. Do buniek A4:A6 zadajte názvy diel:

    Aktivujte bunku A4;

    Kliknite na tlačidlo vedľa bunky A4 a z navrhovaného zoznamu vyberte názov diela - Výmena batérie, ks. Bunka C4 – „Cena za jednotku produkcie, rub.“ sa vyplní automaticky (obr. 14);


    Ryža. 14. Automatické vyplnenie Ceny za jednotku produktu jeho názvom

    podobne vyplňte bunky A5:A6, automaticky sa vyplnia aj bunky C5:C6.

    16. Vyplňte stĺpec „Náklady na prácu, ruble“
    tabuľka „Výpočet nákladov na vykonanú prácu“.
    Pre to:

    do bunky D3 zadajte vzorec =B3*C3;

    vynásobte vzorec zadaný v bunke D3 pre zostávajúce bunky D4:D6 tohto stĺpca (pomocou funkcie automatického dopĺňania).

    Takto sa vykoná slučka, ktorej riadiacim parametrom je číslo riadku.

    17. Vyplnená tabuľka vyzerá takto (obr. 15).


    Ryža. 15. Výsledok vyplnenia tabuľky „Výpočet ceny práce“

    18. Premenujte „Hárok 3“ na „ Skontrolujte "(podobne ako v odseku 2).

    19. Na pracovnom hárku „Účet“ vytvorte potrebnú tabuľku podľa predchádzajúcich odsekov.

    20. Použite funkciu LOOKUP() na vytvorenie vzťahov medzi tabuľkami. Predtým však zoraďte hodnoty tabuľky „Výpočty nákladov na vykonanú prácu“ vzostupne podľa stĺpca „Názov práce“. Pre to:

    vyberte rozsah buniek A2:D6;

    vyberte „Sorting and Filter“ na domovskej stránke a potom „Custom Sorting“;

    v zobrazenom okne vyberte „Zoradiť podľa“ „Názov diel“;

    Kliknite na tlačidlo OK.

    použite príkaz „Vložiť funkciu“ v ponuke „Vzorec“;

    v poli „Vyberte funkciu“ kliknite na „ZOBRAZIŤ“;

    kliknite na tlačidlo "OK";

    zadajte názov diela do poľa „Hľadaná_hodnota“ kliknutím na bunku C9;

    stlačte Enter";

    do poľa „Vektor na zobrazenie“ zadajte informácie, konkrétne „Výpočet nákladov na prácu“!$A$3:$A$6;

    stlačte Enter";

    do poľa „Požadovaný vektor“ zadajte informácie, konkrétne ‚Výpočet ceny práce‘!$С$3:$С$6;

    stlačte „Enter“ (obr. 16);


    Ryža. 16. Pohľad na druhé okno sprievodcu funkciou VIEW

    kliknite na tlačidlo "OK";

    22. Opakujte kroky podobné kroku 22 pre bunky D9:D12, E9:E12.

    23. Vyplňte stĺpec „CELKOM“ v tabuľke takto:

    do bunky F13 zadajte vzorec =SUM(F9:F12)..

    24. Vyplňte stĺpec „DPH“. Ak to chcete urobiť, zadajte do bunky F14 vzorec =F13*0,18.

    25. Vyplňte stĺpec „SUMA S DPH“. Ak to chcete urobiť, zadajte do bunky F15 vzorec =F13+F14.

    26. V dôsledku toho by ste mali dostať tabuľku znázornenú na obr. 17.


    Ryža. 17. Formulár faktúry na úhradu za vykonanú prácu

    27. Ak chcete analyzovať informácie o nákladoch na každý typ práce pre prijatú objednávku:

    aktivujte hárok „Účet“;

    vyberte rozsah C9:F12;

    vyberte príkaz „Histogram“ v časti „Grafy“ v ponuke „Vložiť“;

    vyberte požadovaný typ histogramu;

    premenujte histogram na „Náklady na každý typ práce“ (obr. 18).


    Ryža. 18. Histogram „Náklady na každý typ práce“

    2.3. Výsledky počítačového experimentu a ich analýza

    2.3.1. Výsledky počítačového experimentu

    Ak chcete otestovať správnosť riešenia problému, vyplňte vstupné dokumenty a potom vypočítajte výsledky.

    Cenník

    Názov práce

    Cena za jednotku produkcie, rub.

    Výmena vane, ks.

    Výmena potrubí, m

    Samolepka na tapetu, m2

    Parkety, m2

    Bielenie stropu, m2

    Výpočet nákladov na vykonanú prácu

    Názov práce

    Rozsah vykonaných prác

    Cena za jednotku produkcie, rub.

    Náklady na prácu, rub.

    Výmena batérie, ks.

    1000

    Výmena potrubí, m

    Samolepka na tapetu, m2

    1400

    Parkety, m2

    1200

    Stroy-design LLC

    Číslo účtu.

    dátum


    .
    .20

    Celé meno klienta

    Nie

    Názov práce

    Rozsah vykonaných prác

    Cena za jednotku produkcie, rub.

    Náklady na prácu, rub.

    Výmena batérie, ks.

    1000

    Samolepka na tapetu, m2

    1400

    Výmena potrubí, m

    Parkety, m2

    1200

    CELKOM:

    4560

    DPH:

    820,8

    HODNOTA S DPH:

    5380,8

    V dôsledku vyriešenia problému sa výroky získané pomocou počítača zhodujú s testovacími.

    2.3.2. Analýza získaných výsledkov

    Vytvorenie výsledného dokumentu (tabuľky) „Faktúra“ nám teda umožňuje vyriešiť problém - skrátiť čas na výpočet ceny práce, odstrániť chyby spôsobené ľudským faktorom a zvýšiť mieru spokojnosti zákazníka. Vytváranie rôznych tabuliek (histogramov, grafov) na základe tabuľkových údajov pomocou programu MS Excel vám umožňuje nielen vizuálne prezentovať výsledky spracovania informácií na analýzu s cieľom rozhodovania, ale aj rýchlo vykonávať manipulácie v oblasti ich konštrukcie. v prospech čo najpohodlnejšej prezentácie výsledkov vizualizácie podľa zadaných parametrov používateľa (analytika).

    Hlavné myšlienky moderných informačných technológií vychádzajú z koncepcie, že údaje by sa mali organizovať do databáz, aby primerane odrážali meniaci sa reálny svet a uspokojovali informačné potreby používateľov. Tieto databázy sú vytvárané a fungujú pod kontrolou špeciálnych softvérových systémov nazývaných databázové systémy (DBMS).

    Nárast objemu a štrukturálnej zložitosti uložených dát a rozšírenie okruhu používateľov informačných systémov viedli k širokému využívaniu najpohodlnejších a relatívne ľahko pochopiteľných relačných (tabuľkových) DBMS. Na zabezpečenie súčasného prístupu k údajom mnohých používateľov, ktorí sa často nachádzajú dosť ďaleko od seba a od miesta, kde sú databázy uložené, boli vytvorené sieťové viacužívateľské verzie databáz založené na relačnej štruktúre. Tak či onak riešia špecifické problémy paralelných procesov, integrity (správnosti) a bezpečnosti dát, ako aj autorizácie prístupu.

    DBMS musí poskytnúť prístup k údajom všetkým používateľom, vrátane tých, ktorí prakticky nemajú a (alebo) nechcú mať žiadnu predstavu o: fyzickom umiestnení údajov a ich popisoch v pamäti; mechanizmy na vyhľadávanie požadovaných údajov; problémy, ktoré vznikajú, keď mnoho používateľov (aplikačných programov) požaduje rovnaké údaje súčasne; spôsoby zabezpečenia ochrany údajov pred nesprávnymi aktualizáciami a (alebo) neoprávneným prístupom; udržiavanie databáz v aktuálnom stave a mnoho ďalších funkcií DBMS.

    Dnes sú relačné databázy najrozšírenejšie vďaka svojej jednoduchosti a prehľadnosti ako počas procesu tvorby, tak aj na úrovni používateľa.

    Hlavnou výhodou relačných databáz je kompatibilita s najpopulárnejším dotazovacím jazykom SQL. Jediným dotazom v tomto jazyku môžete spojiť niekoľko tabuliek do dočasnej tabuľky a vystrihnúť z nej potrebné riadky a stĺpce (výber a zobrazenie). Keďže tabuľková štruktúra relačnej databázy je pre používateľov intuitívna, jazyk SQL je jednoduchý a ľahko sa učí. Relačný model má pevný teoretický základ, na ktorom bol založený vývoj a implementácia relačných databáz. Na vlne popularity generovanej úspechom relačného modelu sa SQL stal primárnym jazykom pre relačné databázy.

    V procese analýzy vyššie uvedených informácií boli identifikované nasledovné nevýhody uvažovaného databázového modelu: keďže všetky polia jednej tabuľky musia obsahovať konštantný počet polí preddefinovaných typov, je potrebné vytvárať ďalšie tabuľky, ktoré zohľadňujú jednotlivé charakteristiky prvkov pomocou cudzích kľúčov. Tento prístup veľmi sťažuje vytváranie akýchkoľvek zložitých vzťahov v databáze; vysoká zložitosť manipulácie s informáciami a zmeny spojení.

    V praktickej časti pomocou MS Excel 2010 bola úloha riešená vo vzťahu k fiktívnemu podniku - spoločnosti Stroy-design LLC, ktorá vykonáva činnosti súvisiace s vykonávaním rekonštrukčných prác. Tabuľky boli zostavené na základe údajov uvedených v úlohe. Náklady na prácu pre prijatú objednávku boli vypočítané; údaje výpočtu sú zapísané do tabuľky. Prepojenia medzi tabuľkami boli organizované pomocou funkcií VLOOKUP alebo VIEW na automatické generovanie faktúry vystavenej klientovi na platbu za vykonanú prácu. Doklad „Faktúra na úhradu za vykonanú prácu“ bol vygenerovaný a vyplnený. Výsledky výpočtu nákladov na každý typ práce pre prijatú objednávku sú prezentované v grafickej forme.

    Počítačový vzdelávací program v disciplíne Informatika” / A.N. Romanov, V.S. Toroptsov, D.B. Grigorovič, L.A. Galkina, A.Yu. Artemyev, N.I. Lobová, K.E. Michajlov, G.A. Žukov, O.E. Krichevskaya, S.V. Yasenovsky, L.A. Vdovenko, B.E. Odintsov, G.A. Titorenko, G.D. Savichev, V.I. Gusev, S.E. Smirnov, V.I. Suvorová, G.V. Fedorová, G.B. Konyashina. – M.: VZFEI, 2000. Dátum aktualizácie 24.11.2010. - Prístup pomocou prihlasovacieho mena a hesla.

    Počítačový vzdelávací program v disciplíne „Informačné systémy v ekonomike“ / A.N. Romanov, V.S. Toroptsov, D.B. Grigorovič, L.A. Galkina, A.V. Mortvichev, B.E. Odintsov, G.A. Titorenko, L.A. Vdovenko, V.V. Braga, G.D. Savichev, V.I. Suvorov. – M.: VZFEI, 2005. Dátum aktualizácie 15.10.2010. – URL: . Prístup pomocou prihlasovacieho mena a hesla.

    KONCEPCIA DBMS A TYPY DATABÁZOVÝCH MODELOV ZBER SOCIOLOGICKÝCH ÚDAJOV POMOCOU DATABÁZOVÝCH TECHNOLÓGIÍ. TVORBA TABULÍK A DB FORMULÁROV 2013-11-05

Databáza(DB) je štruktúrovaný, organizovaný súbor údajov, ktorý popisuje vlastnosti fyzického alebo virtuálneho systému.

Databáza je organizovaná štruktúra určená na uchovávanie informácií.

DBMS- inštrumentálny softvér určený na organizáciu údržby databázy.

Podľa typu databázového modelu sa delia na:

    Hierarchické databázy

Hierarchické DBMS sú založené na pomerne jednoduchom dátovom modeli, ktorý si možno predstaviť ako strom špeciálneho typu acyklického orientovaného grafu. Strom pozostáva z vrcholov, z ktorých každý, okrem jedného, ​​má jeden nadradený vrchol a niekoľko (vrátane žiadneho) potomkov.

    Sieťový DBMS

Podobne ako hierarchický, aj sieťový model si možno predstaviť ako orientovaný graf. Ale v tomto prípade môže graf obsahovať cykly, t.j. vrchol môže mať niekoľko rodičov.

    Relačný DBMS

V súčasnosti sú najbežnejšie relačné DBMS. Relačný model sa zameriava na organizáciu údajov vo forme dvojrozmerných tabuliek. Relačná tabuľka je dvojrozmerné pole a má nasledujúce vlastnosti:

Každý prvok tabuľky je jedným údajovým prvkom;

Všetky stĺpce v tabuľke sú homogénne, t.j. všetky prvky v stĺpci majú rovnaký typ (číselný, znakový atď.) a dĺžku;

Každý stĺpec má jedinečný názov.

Významnú úlohu v úspechu relačných DBMS hrá aj jazyk SQL (Structured Query Language), vyvinutý špeciálne pre dotazy do relačných databáz. Ide o pomerne jednoduchý a zároveň výrazný jazyk, pomocou ktorého môžete vykonávať pomerne sofistikované dotazy do databázy.

    Objektovo orientovaný

databáza, v ktorej sú údaje formátované ako objektové modely, ktoré zahŕňajú aplikačné programy, ktoré sú riadené vonkajšími udalosťami. V najvšeobecnejšej a klasickej formulácii je objektovo orientovaný prístup založený na konceptoch: objekt a identifikátor objektu; atribúty a metódy; triedy; hierarchia a triedna dedičnosť.

    Viacrozmerný

Softvér OLAP sa používa na spracovanie údajov z rôznych zdrojov. Tieto softvérové ​​produkty umožňujú implementáciu mnohých rôznych reprezentácií údajov a vyznačujú sa tromi hlavnými vlastnosťami: viacrozmerná reprezentácia údajov; zložité výpočty údajov; výpočty súvisiace so zmenami údajov v priebehu času.

9. Programovacie jazyky. Strojový kód. Prekladatelia. Binárne kódovanie informácií.

Programovací jazyk- formálny znakový systém určený na opis algoritmov vo forme, ktorá je vhodná pre výkonného umelca (napríklad počítač). Programovací jazyk definuje súbor lexikálnych, syntaktických a sémantických pravidiel používaných na zostavenie počítačového programu. Umožňuje programátorovi presne určiť, na aké udalosti bude počítač reagovať, ako sa budú dáta ukladať a prenášať a aké akcie by sa mali s týmito dátami vykonávať za rôznych okolností.

Strojový kód procesora

Procesor počítača prijíma všetky príkazy a dáta vo forme elektrických signálov. Môžu byť reprezentované ako zbierky núl a jednotiek, teda čísel. Rôzne tímy majú rôzne čísla. Preto je v skutočnosti program, s ktorým procesor pracuje, postupnosť volaných čísel strojový kód .

Úrovne programovacích jazykov

Ak je programovací jazyk zameraný na konkrétny typ procesora a zohľadňuje jeho vlastnosti, potom je tzv nízkoúrovňový programovací jazyk . To znamená, že operátori jazyka sú blízko strojového kódu a sú zameraní na špecifické príkazy procesora.

Jazyk najnižšej úrovne je jazyk montáže , ktorý jednoducho predstavuje každú inštrukciu strojového kódu, nie ako čísla, ale pomocou symbolických zápisov tzv mnemotechnické pomôcky.

Programovacie jazyky vysokej úrovne oveľa bližšie a zrozumiteľnejšie pre človeka ako pre počítač. Nie sú v nich zohľadnené vlastnosti špecifických počítačových architektúr, preto sú vytvorené programy na úrovni zdrojového textu ľahko prenosné na iné platformy, pre ktoré je vytvorený prekladač tohto jazyka.

Populárne programovacie jazyky sú dnes:

Pascal (Pascal), bol vytvorený koncom 70. rokov zakladateľom mnohých moderných programovacích nápadov Niklausom Wirthom a má schopnosti, ktoré sa dajú úspešne využiť pri vytváraní veľkých projektov.

Základné(BASIC), d Pre tento jazyk existujú kompilátory aj tlmočníci a z hľadiska obľúbenosti je na prvom mieste na svete. Bol vytvorený v 60. rokoch ako vzdelávací jazyk a je veľmi ľahké sa ho naučiť. Jeho moderná modifikácia jazyka Visual Basic, kompatibilná s balíkom Microsoft Office, umožňuje rozšíriť možnosti balíkov Excel a Access.

C (Si), Tento jazyk bol vytvorený v Bellovom laboratóriu a pôvodne nebol považovaný za masový jazyk. Plánovalo sa nahradiť jazyk assembler, aby bolo možné vytvárať rovnako efektívne a kompaktné programy a zároveň nezávisieť od konkrétneho typu procesora. V 70. rokoch boli v tomto jazyku napísané mnohé aplikačné a systémové programy a množstvo známych operačných systémov (Unix).

Niektoré jazyky, ako napríklad Java a C#, spadajú medzi kompilované a interpretované. Program totiž nie je skompilovaný do strojového jazyka, ale do nízkoúrovňového strojovo nezávislého kódu, bajtkódu. Bytový kód potom vykoná virtuálny stroj. Interpretácia sa zvyčajne používa na vykonávanie bajtkódu, hoci jednotlivé jeho časti možno preložiť do strojového kódu priamo počas vykonávania programu pomocou kompilácie Just-in-time (JIT) na zrýchlenie programu. V prípade Java je bajtový kód spustený Java Virtual Machine (JVM), pre C# - Common Language Runtime.