online kép - Fájl  tubefájl feltöltés file feltöltés - adja hozzá a fájlokat onlinefedezze fel a legújabb online dokumentumokKapcsolat
  
 

Letöltheto dokumentumok, programok, törvények, tervezetek, javaslatok, egyéb hasznos információk, receptek - Fájl kiterjesztések - fajltube.com

 

Online dokumentumok - kep
  

Tarolasi struktúrak és sémakezelés halós adatbazisokban

számítógépes

Fájl küldése e-mail



egyéb tételek

 
VoIP technológia
Alkalmazasok
Halózatok csoportosítasa kiterjedés és topológia alapjan
IKT ALAPISMERETEK
A CD-n lévő szamokról, keletkezésükről
JavaScript alapok
A C program szerkezete, típusai, konstansok
„Office” programok
Gyakorlatok
Racsok, segédvonalak
 
 

Tárolási struktúrák és sémakezelés hálós adatbázisokban

1. Bevezetés

A hálós adatmodell a CODASYL DBTG (Comittee On Data Systems Languages - Data Base Task Group) bizottság munkájának eredménye. A CODASYL bizottság a '70-es években dolgozta ki a hálós adatkezelés alapelveit és foglalta össze a DBTG-ajánlásban. Az ANSI az ajánlást a '80-as években standarddé tette.


A DBTG-ajánlás részei

hálós DDL



DML és extra kiegészítések (például egy, a jó hatékonyságú DB-k létrehozásában fontos szerepet játszó hasznos adatszerkezet.)


Egy - elvi és gyakorlati szempontból is nagy jelentőségű - klasszikus hálós adatbázis-kezelő rendszer az IDMS nevet viseli.

2. A hálós adatmodell elemei

I. Adattípusok

(logikai) rekord típus, mely mezőkkel rendelkezik (ez megfeleltethető az ODL attribútumokkal rendelkező objektum fogalmának illetve az 919h73j E/K modell egyedhalmazainak)

kapcsolat: a modellben kizárólag bináris - azaz kétkomponensű - több-egy kapcsolatok engedélyezettek. Ezeket a bináris N:1 kapcsolatokat külön el is nevezték: ezek a (DBTG) SET-ek.


Ábrázolás








Tétel: minden E/K diagram átalakítható hálós diagrammá, azaz felrajzolható kizárólag kétkomponensű N:1 kapcsolatok (kapcsoló rekordok) felhasználásával. Ez a megállapítás már az E/K modellben is szerepelt, amikor a több-több kapcsolatok számunkra kedvezőbb, több-egy kapcsolatokká való átalakításáról beszéltünk.


Mintapélda: E/K - hálós átalakításra

Modellünkben egy kereskedelmi adatbázist ábrázolunk, melyben a Szállító és Megrendelő közötti kapcsolat az attribútumként felvett terméken ill. az Ár és Rendelés reláción keresztül valósul meg.


























II. Hálós DDL

1. A (logikai) rekordok leírása:

rekordnév

mezők leírása: (szintszám, név, típus, hossz) alakban. Ez a leírás a COBOL programozási nyelv stílusát követi. A szintszám a mezők csoportosításának eszköze; a nagyobb sorszámú mezők a közvetlenül előttük álló kisebb szintszámú mezö(k) részének tekinthetők. Pl.: a Dátum egyben hivatkozik mindhárom komponensére


01 Dátum

03 Év ...

03 Hó ...

03 Nap ...



elhelyezési információk: a fizikai séma szervezéséhez tartozó elemek. Ezek a LOCATION MODE ... kezdetű sorok.

Az elhelyezési információk fajtái

CALC: egy eljárást adunk meg a ... CALC < fnév > USING < mezőlista >. Az eljárás lehet például hash-elés, ahol a USING kulcsszó után azt kell megadni, hogy mik alkotják a hash-elés kulcsait (pl. egy SZCÍM, SZNÉV összetett kulcs). Tényleges kulcs esetén ki kell kötni, hogy a kulcs-ismétlődés nem megengedett: DUPLICATES NOT ALLOWED.

VIA SET: az rekordokat kapcsolataikra tekintettel léve kell elhelyezni.

virtuális mezők: ez a modellben a redundancia-kezelés eszköze.

Pl. az Ár kapcsolat N:1 típusúvá tételéhez mező(ke)t kell kölcsönvennünk a szülőtől, azaz a TERÁR kapcsolat révén a Termék TNÉV mezőjét az Árba is betesszük. Ezt a mezőt viszont felesleges lenne külön, redundánsan tárolni, ezért virtuálisnak vesszük fel.

Tehát az általános eljárás szerint a virtuális mezőknél egy N:1 kapcsolat mentén a szülőtől vesszük át a szükséges mezőt. A mező pontos forrását fel kell tüntetni. A DBTG terminológiában a szülőt OWNER-nek, a gyermeket MEMBER-nek nevezik:


OWNER   (szülő)

 

MEMBER  (gyermek)

 







2. Kapcsolatok (SET-ek) leírása:

név

OWNER (a szülő neve, azaz az "1" oldal)

MEMBER (a gyermek neve, azaz az "N" oldal)

rendezési információ: a gyermekek elhelyezésére adunk utasítást az ORDER IS... kezdetű sorokban. Ez az elhelyezés pedig az ún. gyűrűbe való illesztést jelenti.

A DBTG használja a gyűrű fogalmát, ami egy szülő típusú rekord és a hozzá tartozó összes gyermek együttesét jelenti. Tehát a gyűrű a több-egy kapcsolat egy példánya. A gyűrűben mindig van egy kurrens pozíció; ezért, és a szerkezet sorrendiségéből fakadóan értelmes művelet a gyűrű következő elemét venni. A gyűrűt multilistaként implementálják.


Példák









A gyűrű séma szinten tervezhető.


Dolgozó-Projekt modell (lásd: 2. melléklet)



átalakítva:







A DP rekordban két mutató mező van.


Az ORDER IS... sor folytatása lehet

SORTED: a gyermekeken rendezési reláció adott, erre nézve rendezetten kell a gyűrű elemeit tárolni. (Pl. egy szállítóhoz a termék-rekordok ár szerint növekvő sorrendben tárolódnak.)

FIRST: a gyermek a gyűrűben az első helyre kerül.

NEXT: a gyermek a kurrens pozíció utáni helyre kerül.

LAST: a gyermek a gyűrűben az utolsó helyre kerül.


SET SELECTION: új gyermek-rekord érkezésekor ennek értéke mutatja meg, hogy a gyermek gyűrűbe illesztése hogyan történjen meg. Két lehetőség:

MANUAL: ahogy tetszik, azaz a felhasználó dönt. Pl.: SZ_Á.

AUTOMATIC: az új gyermek típusú rekord automatikusan bekerül egy gyűrűbe. Alesetek:

¯ THRU OWNER USING <kulcs>: tulajdonoson (apán) keresztül történik a beillesztés, valamilyen kulcsérték alapján. (Abba a gyűrűbe, melynek apját a kulcs azonosítja.)

¯ THRU CURRENT (<set-név>): a születő rekord a kapcsolat "kurrens", aktuális gyűrűjébe kerül.


Megtartási kényszer (RETENTION)

Azt mutatja meg, hogy egy gyermek mennyire vehető ki a kapcsolatból. Lehetőségek:

FIXED: a gyermek nem vehető ki a kapcsolatból, azaz a gyűrűből. A gyermek e gyűrűt csak törléssel hagyhatja el. Pl.: esetleg TERÁR

OPTIONAL: nincs korlátozás, pl. ilyen a SZEMREND.

MANDATORY: egyfajta átvihetőséget jelent, amikor a gyermek típusú rekord átvihető másik gyűrűbe, de egyúttal nem létezhet gyűrű nélkül.



Mintapélda: az E/K - hálós átalakításnál látott modell DDL-szerű sémája (több részletet mellőzve):


RECORD SZÁLLÍTÓ.

LOCATION MODE IS CALC HASH1 USING SZCÍM, SZNÉV

DUPLICATES NOT ALLOWED.

01 SZNÉV CHAR(20).

01 SZCÍM CHAR(20).


RECORD ÁR.

LOCATION MODE IS VIA TERÁR SET.

01 ÁR REAL.

01 TNÉV VIRTUAL

SOURCE IS TERMÉK.TNÉV OF OWNER OF TERÁR.

01 SZNÉV VIRTUAL

SOURCE IS SZÁLLÍTÓ.SZNÉV OF OWNER OF SZ_Á.


RECORD TERMÉK.

LOCATION MODE IS CALC IND1 USING TNÉV.

01 TNÉV CHAR(20).


RECORD RENDELÉS.

LOCATION MODE IS VIA SZEMREND SET.

01 SZÁM INTEGER.

01 MENNYISÉG REAL.



RECORD SZEMÉLY.

LOCATION MODE IS CALC IND2 USING NÉV.

01 NÉV CHAR(20).

01 CÍM CHAR(30).

01 EGYENLEG REAL.



(DBTG) SET SZ_Á.

ORDER IS SORTED.

OWNER IS SZÁLLÍTÓ.

MEMBER IS ÁR.

SET SELECTION IS MANUAL.

ASCENDING KEY IS TNÉV.

RETENTION IS MANDATORY.


(DBTG) SET TERREND.

ORDER IS FIRST.

OWNER IS TERMÉK.

MEMBER IS RENDELÉS.

SET SELECTION IS aUTOMATIC

THRU CURRENT OF TERREND.

RETENTION IS OPTIONAL.

(DBTG) SET TERÁR.

ORDER IS NEXT.

OWNER IS TERMÉK.

MEMBER IS ÁR.

SET SELECTION IS AUTOMATIC

THRU OWNER USING TNÉV.

RETENTION IS MANDATORY.


(DBTG) SET SZEMREND.

ORDER IS LAST.

OWNER IS SZEMÉLY.

MEMBER IS RENDELÉS.

SET SELECTION IS MANUAL.

RETENTION IS OPTIONAL.


III. Hálós DML: köv. tétel

Találat: 851