Alapfogalmak adatbázisok - studopediya
A relációs adatmodell
A relációs adatmodell javasolták E.F.Koddom 1969. A relációs adatbázis egy adattárat tartalmaz egy sor kétdimenziós táblák. Állítsa be a kontrollok egy ilyen tároló nevezzük relációs adatbázis-kezelő rendszer (RDBMS). RDBMS magában segédprogramok, alkalmazások, szolgáltatások, könyvtárak és eszközök létrehozására alkalmazások és egyéb alkatrészek.
Bármilyen relációs adatbázis tábla tartalmaz sorok (más néven rekordok) és oszlopokba (más néven a mezők).
A táblázat sorai információkat tartalmaznak a tényeket benne (vagy dokumentumokat, illetve mások, egy szó - közel azonos tárgyak). Metszéspontjában oszlop és sor specifikus értékeket tartalmazza az adattáblázatban.
Az adatok a táblázatok megfeleljenek a következő elveknek:
1. Minden egyes értéket tartalmazott a kereszteződésekben a sorok és oszlopok kell atomi (azaz, nem osztjuk a több érték).
2. Az adatok értékei ugyanabban az oszlopban kell tartozniuk egy és ugyanazon típusú, amely felhasználható az adatbázisban.
3. Minden bejegyzés a táblázatban egyedi, vagyis a táblázatban, nincs két bejegyzések teljesen egybeesik értékrendje a területeken.
4. Minden mező egyedi neve van.
5. A szekvencia területen a táblázatban lényegtelen.
6. A szekvencia rekordok is jelentéktelen.
Mivel Az oszlopok sorrendjének a táblázatban jelentéktelen, felhívást intézett őket név szerint, és ezek a nevek egyediek egy adott táblázatban (de nem kötelező, hogy egyedi legyen a teljes adatbázis).
Mivel a sorok a táblázatban vannak rendezetlen, szükséges oszlopra (vagy a több oszlop), amely egyedileg azonosítja minden sor. Ez az oszlop (vagy oszlopok) az úgynevezett elsődleges kulcs (elsődleges kulcs). Bármilyen elsődleges kulcs a táblázat tartalmaznia kell egy egyedi érték nem üres minden sorban.
Ha az elsődleges kulcs áll, több mint egy oszlop nevezzük összetett elsődleges kulcs (összetett elsődleges kulcs).
Egy tipikus adatbázis általában áll néhány kapcsolódó táblázatokat. Oszlop mutat egy bejegyzést egy másik táblázatban társított ezt a rekordot, az úgynevezett külső kulcs (foreign key). Más szóval, az idegen kulcs - egy oszlop vagy sor oszlop, amelynek értékei egybeesnek minden asztal, amelynek értéke az elsődleges kulcsot. Az ilyen táblák közötti kapcsolatot nevezzük kapcsolat (kapcsolat). Kommunikáció a két tábla között van beállítva hozzárendelésével egy elsődleges kulcs a táblázat értékei az idegen kulcs értékek más.
Ha minden bejegyzést egy táblázat megfelel egy bejegyzést egy másik, két tábla kapcsolódik egy-egy (egy-egy kapcsolat). Ha minden rekord egy táblában lévő nulla, egy vagy több más feljegyzések, két tábla kapcsolódik egy a többhöz (egy-a-többhöz kapcsolat), vagy a master-detail kapcsolatban. Hasonló a táblák közötti kapcsolatok használják leggyakrabban. Ebben az esetben egy táblázatot az idegen kulcs nevezzük részletgazdag asztalra. egy táblázatot az elsődleges kulcsot, amely meghatározza a lehetséges értékeket az idegen kulcs, az úgynevezett mester-asztal.
A csoport a kapcsolódó táblák hívják adatbázissémaként (adatbázis séma). Információ a táblákat, azok az oszlopok (név, adattípus, mező hosszúság), elsődleges és idegen kulcsok és egyéb adatbázis-objektumok úgynevezett metaadatok (metaadatok).
Bármilyen adatok manipulálásával az adatbázisokban, mint kiválasztásával, beillesztjük, töröljük, adatok frissítése, módosítása vagy válassza ki a metaadatokat, az úgynevezett adatbázis-lekérdezés (lekérdezés). Általában kéréseket fogalmazott, bármilyen nyelven, amely lehet egy szabvány különböző adatbázisokat, és attól függően, az adott RDBMS.
A fenti megállapítás, hogy az elsődleges kulcs mindegyik táblában egy egyedi, nem üres az értéke az asztal egyik szabályok hivatkozási integritás (hivatkozási integritást). Néhány DBMS vezérelheti egyedi elsődleges kulcsot.
Ha két asztal kapcsolódnak a master-detail kapcsolatban. detail- idegen kulcs táblában csak azokat az értékeket, amelyek már most is a mester-tábla elsődleges kulcs értékek. Ha az érvényességét az idegen kulcs értékek nem ellenőrzi az adatbázisban, akkor beszélhetünk megsérti a hivatkozási integritást.
Az adatbázis-objektumok
A legtöbb adatbázis tartalmaz több különböző típusú objektumok, például táblák, a tárolás, kódok adatrendezési és támogatási kulcsok, korlátok és szabályok (korlátok, szabályok) fenntartása referenciális integritás megszorítások adat értékeket kiváltó (trigger), és tárolt eljárások (tárolt eljárások) tárolására végrehajtható kódot.
A táblázatok támogat minden relációs adatbázisok, és az adatok is tárolhatók a saját területén.
A legtöbb relációs adatbázis kulcsok segítségével valósítja tárgyak nevezett indexek lehet meghatározni, mint egy listát a rekord számok azt jelzik, hogy milyen sorrendben nyújtanak. Bejegyzés rendezetlen relációs táblák, de a poszt bármikor van egy határozott fizikai helyét az adatbázis fájlban, amely azt is lehetővé teszi, hogy meghatározza indexek. A fizikai helyét rekordok lehet változtatni a szerkesztési folyamat adatok felhasználói, valamint a manipuláció az adatbázis fájlokat tartott a DBMS is. Ha ez kíséri a megfelelő változtatásokat az index, ez az úgynevezett támogatott.
Korlátozások és előírások
A legtöbb modern adatbázis-szerver tartalmazhat speciális objektumokat nevezzük korlátok (korlátok), illetve a szabályok (szabályok). Ezek az objektumok információt tartalmaz korlátozásokat a lehetséges értékeket a mezőkhöz. Például, egy ilyen objektum beállíthatja a maximális vagy minimális értéket a mezőbe, majd az adatbázis nem teszi lehetővé, hogy az adatbázis-rekord, amely nem felel meg ennek a feltételt.
Kiváltja a tárolt eljárásokat
Triggerek és tárolt eljárások támogatottak a legtöbb modern szerver adatbázis, tárolására használt végrehajtható kódot.
A triggerek is tartalmazhatnak végrehajtható kódot, de, ellentétben az eljárások nem nevezhető egy kliens alkalmazás vagy tárolt eljárás. A trigger mindig társul egy adott asztalra, és kivégezték, ha szerkeszteni ezt a táblázatot esemény bekövetkezik, ez jár (pl beszúrás, törlés vagy változtatás rekord).
Tárgyak generáló elsődleges kulcs
Nagyon gyakran az elsődleges kulcsok generálása a DBMS is. Ez sokkal kényelmesebb, mint a termelés a kliens alkalmazás, hiszen a multi-user kulcsgenerálás adatbázist használó - ez az egyetlen módja annak, hogy elkerüljék a párhuzamos kulcsok és kap következetes értéket.
A különböző adatbázis-objektumok létrehozásához használatos gombokat. Néhány ilyen objektum található egész, és a szabályokat, amelyek azt követően keletkezik az értéket. Egyes adatbázisok támogatják különleges típusú mezők elsődleges kulcsokat. Amikor adatokat olyan területeken vannak kitöltve automatikusan egymást követő érték (jellemzően sértetlen). Abban az esetben, Microsoft Access és a Microsoft SQL Server, olyan területeken, az úgynevezett Identity területeken.
Felhasználók és szerepek
Megakadályozza a jogosulatlan hozzáférést az adatokhoz egy komoly probléma, amely lehet oldani másképp. A legegyszerűbb - a jelszavas védelem, vagy egy egész tábla vagy annak egyes területeken. Jelenleg a népszerűbb a másik módja, hogy megvédjük az adatok - létrehozását a felhasználók listája (felhasználó) a nevét (felhasználói név) és jelszavak (jelszavak). Ez a módszer a szerverek és néhány asztali adatbázis (például a Microsoft Access).
Egyes adatbázisok, elsősorban szerverek támogatása nem csak a felhasználók listáját, hanem a szerep (szerepek). Role - egy sor jogosultsággal. Ha egy adott felhasználó kap egy vagy több szerepet, akkor velük együtt - és minden a kiváltságokat, amelyeket meghatározott szerepe.
Bármilyen relációs adatbázis-kezelő rendszer, amely támogatja a listákat a felhasználók és a szerepek, akkor le kell tárolni valahol. Amellett, hogy ezeket a listákat, sok adatbázisok tárolására listákat táblák, indexek, triggerek, eljárások, stb, valamint tájékoztatás kinek a tulajdonában vannak. Ezeket a listákat az úgynevezett rendszer táblák (rendszer táblák), és a megfelelő részét az adatbázis az úgynevezett rendszer könyvtár (rendszer katalógus). DBase és a Paradox adatbázis nem támogatja a rendszer katalógusok.
adatbázis lekérdezések
Módosítása és adatok kiválasztása, változások a metaadatok, és néhány más műveletek alkalmazásával végezzük a lekérdezés (lekérdezés). A legtöbb modern adatbázis-kezelő rendszerek (és néhány alkalmazás fejlesztő eszközök) eszközt a generációs ilyen kérelmeket.
Gyakran a lekérdezés eredménye azoknak a sorok és oszlopok (adatbázisba). Ellentétben a relációs tábla egy sorban meghatározott sorrendben, és a sorrend határozza meg az eredeti lekérdezés (és néha - jelenlétében indexek). Ezért tudjuk azonosítani az aktuális sor a készletben, és egy mutatót hozzá, amely az úgynevezett kurzor (kurzor).
Structured Query Language (SQL) - ez egy nem eljárási nyelvi lekérdezni készítmény adatbázis a legtöbb modern adatbázisok és jelenleg az ipari szabvány. Nem eljárási nyelven azt jelenti, hogy megadhatja benne, hogy köze van az adatbázisban, de lehetetlen leírni az algoritmus ezt a folyamatot. Minden algoritmusok SQL-lekérdezések által generált feldolgozó DBMS magát, és nem függ a felhasználó.
Triggerek és tárolt eljárások írt eljárási nyelv egy konkrét adatbázis. A legtöbb DBMS-ek ilyen nyelv procedurális SQL kiterjesztések, és a megszokott, SQL tartalmaz egy sor algoritmikus szerkezetek, mint kezdődik ... vége, ha ... akkor ... különben, stb Minden adatbázis saját dialektusa SQL eljárási kiterjesztések (az Oracle adatbázis az úgynevezett PL / SQL, DBMS Microsoft SQL Server --SQL, stb.)
Felhasználó által definiált függvények
Néhány DBMS-ek használatát teszi lehetővé a felhasználó által definiált függvények (UDF-felhasználó által definiált függvények). Ezek a funkciók általában tárolja a külső könyvtárak és nyilvántartásba kell venni az adatbázisba, ami után lehet használni a lekérdezések, triggerek és tárolt eljárások.
Tranzakció (Transaction) - a csoport műveleteket adatok mind együtt vagy törölték együtt. Befejezés (véglegesítés) ügylet azt jelenti, hogy az összes művelet teszik ki a tranzakció sikeresen befejeződött, és az eredményeket az adatbázisban tárolt. Rollback (Rollback) ügylet azt jelenti, hogy minden a már elvégzett művelet szerepel a tranzakció eldobjuk, és minden adatbázis-objektumok által érintett ezeket a műveleteket vissza az eredeti állapotot.