Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Bevezetés. 2 DVD kódDVD címTípus DbDb Tagsági szám Vezeték névNévVárosLakcím Telefonszá m Kölcs.dátu m 2212ZorroKaland21287TóthBélaZentaFő utca 24024-817-6412009.04.10.

Hasonló előadás


Az előadások a következő témára: "Bevezetés. 2 DVD kódDVD címTípus DbDb Tagsági szám Vezeték névNévVárosLakcím Telefonszá m Kölcs.dátu m 2212ZorroKaland21287TóthBélaZentaFő utca 24024-817-6412009.04.10."— Előadás másolata:

1 Bevezetés

2 2 DVD kódDVD címTípus DbDb Tagsági szám Vezeték névNévVárosLakcím Telefonszá m Kölcs.dátu m 2212ZorroKaland21287TóthBélaZentaFő utca 24024-817-6412009.04.10 1234Született feleségekSorozat54312Németh Veronik aFelsőhegyPetőfi Sándor 11024-829-1102008.12.14 5427GettómilliomosDráma11287TóthBélaZentaFő utca 24024-817-6412008.12.14 1167MadagaszkárRajzfilm37290KovácsKrisztiánAdaPotiska 44024-852-7982008.03.10 3518Madagaszkár 2Rajzfilm31287TóthBélaZentaFő utca 24024-817-6412007.08.30 1235KacsamesékRajzfilm24312Németh Veronik aFelsőhegyPetőfi Sándor 11024-829-1102009.02.24 1234Született feleségekSorozat55555BarnaViolaZentaMadách Imre 52024-813-2692008.12.24 1235KacsamesékRajzfilm21123JuhászAnnaCsókaDózsa György 20230-71-4232009.01.05 8231Wall-EAnimációs11287TóthBélaZentaFő utca 24024-817-6412009.01.07 Egy Excel táblázat, mely tárolja egy DVD kölcsönző adatait

3 3 Mégis, miért zavaró egy Excel tábla? Hányan kölcsönöztek tavaly? Hány vidéki tag kölcsönzött az idén? Kik vették ki a Kacsamesék DVD-t, név szerint sorbarendezve? Hol laknak azok, aki tavaly vették ki a Született feleségek filmet? Erre egy megoldás van: Az Excel táblázat helyett adattáblákkal dolgozunk. Külön táblát hozunk létre a DVD-knek, külön a tagoknak és külön a kölcsönzésnek A következő módon:

4 4 DVD kódDVD címTípus DbDb 2212ZorroKaland2 1234Született feleségekSorozat5 5427GettómilliomosDráma1 1167MadagaszkárRajzfilm3 3518Madagaszkár 2Rajzfilm3 1235KacsamesékRajzfilm2 8231Wall-EAnimációs1 Tagsági szám Vezeték névNévVárosLakcím Telefonszá m 1287TóthBélaZentaFő utca 24024-817-641 4312NémethVeronikaFelsőhegyPetőfi Sándor 11024-829-110 1123JuhászAnnaCsókaDózsa György 20230-71-423 7290KovácsKrisztiánAdaPotiska 44024-852-798 5555BarnaViolaZentaMadách Imre 52024-813-269 DVD kód Tagsági szám Kölcs.dátu m 221212872009.04.10 123443122008.12.14 542712872008.12.14 116772902008.03.10 351812872007.08.30 123543122009.02.24 123455552008.12.24 123511232009.01.05 823112872009.01.07 DVD nevű tábla TAGOK nevű tábla KÖLCSÖNZÉS nevű tábla

5 ADATBÁZISOK Alapfogalmak

6 6  ~ok alatt egy bizonyos információ gyűjteményt (adatok halmaza) értünk, melyet egyének, csoportok, cégek, régiók, országok és az egész világ is használhat  ~-okban szövegeket,képeket, hang és multimédiás file-okat,... használhatunk  Pl.cégek:így őrzik az üzleti információkat, adatokat a vásárlókról,beszerzőkről és minden más dologról,ami nekik fontos pl.az állami adatbázisok a polgárok adatait tárolják... pl.az állami adatbázisok a polgárok adatait tárolják...

7 7 Hogy van ez a Delphiben?  Mi relációs adatbázisokkal fogunk foglalkozni  Relációs adatbázis=relational database  Az ilyen adatbázis egy v.több táblából áll,melyek logikailag össze vannak kapcsolva  Tábla=kétdim.tábla egy objektumhalmaz jellegzetességeivel  A táblának van: neve(azonosító)- mellyel lehet rá hivatkozni

8 8 Tábla- DVD DVD kódDVD címTípusDb 2212ZorroKaland2 1234Született feleségekSorozat5 5427GettómilliomosDráma1 1167MadagaszkárRajzfilm3 3518Madagaszkár 2Rajzfilm3 1235KacsamesékRajzfilm2 8231Wall-EAnimációs1 rekord attribútimok

9 9 Tábla (table)  Sorokból áll,melyekben azonos típusú objektumok adatait őrizzük  Minden sor egy objektum adatait tartalmazza és rekordnak (record) hívjuk  Egy tábla minden rekordja azonos szerkezetű és mezőkből(field) áll, melyekben az objektum attribútumait(tulajdonságait) őrizzük  Minden rekord azonos mezőkkel rendelkezik és ezek minden rekordban ugyanabban a sorrendben vannak elhelyezve  Ez azt jelenti, hogy egy oszlop mezőiben lévő adatok azonos típusúak kell, hogy legyenek

10 10 Típusok  Numerikus  String  Pénzösszeg (Currency)  Dátum (Date)  Idő (Time)  Logikai (Boolean)  Szöveges (pl.egy film leírása)  Grafikus (pl.egy dvd borítója)...

11 11 Elsődleges kulcs(primary key)  Minden táblázatnak legalább egy tulajdonsága kell, hogy legyen (oszlop), amellyel egyértelműen meg tudunk különböztetni minden egyedet a többitől  Az ilyen tulajdonság (oszlop) az elsődleges kulcs (primary key).  Ez azt jelenti,hogy ha ebből az oszlopból kiveszünk egy elemet,akkor az az egyén már nem azonosítható, hiába szerepel a többi oszlopbeli adata az adattáblában  Nagyon fontos, hogy az elsődleges kulcsként feltüntetett adat csak egy helyen fordulhat elő. (másik oszlopban sem lehet)  Az egyszerű kulcs egy mezőből áll, az összetett pedig több mezőből  Egy táblázaton belül csak egy elsődleges kulcs szerepelhet!!!

12 12 Példák  Egy táblában a név nem lehet elsődleges kulcs, mert előfordulhat, hogy több ugyanolyan nevű egyén is szerepelhet.  Ehelyett hasznosabb a tagsági számot vagy a DVD kódot (vagy az anyakönyvi számot választani elsődleges kulcsnak pl. egy iskolai példa esetében) választani

13 13 1.Példa-ösztöndíj TanuloAzonosito AdomanyozoOsszeg 100Köztársaság9000 150Város6000 175Község3000 200Város6000

14 14  Ebben a példában a tanuló neve nem lehet elsődleges klucs (nem is szerepel ilyen tulajdonság a táblában, de ha lenne is, nem lenne egyértelmű)  Az elsődleges kulcs itt a TanuloAzonosito lesz

15 15 2.példa TanuloAzonosito AdomanyozoOsszeg 100Köztársaság9000 100Város6000 150Város6000 175Község3000 175Város6000 200Város6000 200Köztársaság9000

16 16 Mi lehet elsődleges kulcs, ha:  1.egy tanuló csak egy ösztöndíjra jogosult? az egyetlen elsődleges kulcs: TanuloAzonosito  2. ha több ösztöndíjat is kaphat? egyik tulajdonság sem lehet egyedül kulcs (TanuloAzonosito,Osszeg ) -nem lehet (TanuloAzonosito,Adomanyozo) -nem lehet (Adomanyozo,Osszeg) -nem lehet A megoldás a három attribútum együtt lesz a kulcs Az attribútumok a következők:TanuloAzonosito, Adomanyozo, Osszeg

17 17 Különböző táblákban:  Kulcs lehet: -személyek azonosításában: JMBG  -iskolákban: az anyakönyvi szám  -egyetemeken:sorszám+íratkozás éve  A kulcsról szóló információkat külön file-ban is és az adatokkal együtt is tárolhatjuk

18 18 Másodlagos index (~ kulcs)  Egy adatbázis tábláinak rekordjai fizikailag egy disken is lehetnek,méghozzá rendezetlenek is lehetnek  De ha használjuk a táblákat,akkor az adatoknak rendezetteknek kell lenniük(ábácé szerint,...)  A rendezés során találkozhatunk az index(indexelés) fogalmával  Az index azt mutatja meg, hogy milyen szempont szerint vizsgáljuk épp az adatainkat  Az indexek a program gyorsabb végrehajtása miatt is nagyon hasznosak

19 19  Index létrehozása tulajdonképpen egy új tábla létrehozását jelenti, melyben egy oszlopot (tulajdonság) az eredeti tábla egy oszlopa alkot majd, csak itt rendezve szerepelnek, illetve van egy másik oszlop is, melyben a rekord eredeti táblabeli pozicíója szerepel

20 20 Vezetéknév Pozíció Almási1 Baji4 Kovács5 Mihók3 Mihók1000 Soós6...... Szabó2PozícióTanAz Vez.név Név...Tel1100AlmásiMiklós234-186 2125SzabóAnna304-219 3150MihókGábor631-762 4175BajiIván414-515 5200KovácsIbolya411-333 6225SoósPéter761-708............... 100025075MihókMárta631-228 A Vezetéknév indextáblája A Tanulók alaptábla

21 21  A másodlagos index (kulcs) egy mutatótáblázattal valósítható meg  Ha több indexünk van, egy táblát több szempont alapján is rendezhetünk  A másodlagos index abban különbözik az elsődlegestől, hogy az indexelt mezők nem fontos, hogy egyediek legyenek  A Delphi mindenféle változást nyomon követ- az alaptábla minden módosítása után javítja az indextáblát (hozzáadás, törlés, javítás...)

22 22 Index típusok  Egyszerű –csak egy oszlop,tulajdonság alapján  Összetett-1 vagy több oszlop, tulajdonság alapján  Egyedi (unique)-nem engedik meg, hogy a táblába azonos adatokat vigyünk be.Lehet egyszerű és összetett

23 23 Táblák közti kapcsolat  Egy adatbázis általában több adattáblából áll, melyek össze vannak kötve (sokkal több információt kaphatunk összekapcsolt adattáblákból, mint egy-egy táblából)  Fontos tehát a köztük fennálló kapcsolat (relationship)

24 24 TanAz Vez.név Név...Tel 100AlmásiMiklós234-186 125SzabóAnna304-219 150MihókGábor631-762 175BajiIván414-515 200KovácsIbolya411-333 225SoósPéter761-708............ 25075MihókMárta631-228 TanAz AdomanyozoOsszeg100Köztársaság9000 100Város6000 150Város6000 175Község3000 175Város6000 200Város6000 200Köztársaság9000 Tanulók adattábla Ösztöndíjak adattábla

25 25 Külső kulcs (foreign key)  Ez a kulcs a táblák közti kapcsolatoknál játszik fontos szerepet  Egyik tábla mindig a főtábla (master) szerepében van, a másik pedig az alárendelt (detail)  Magát a kapcsolatot szokták ”szülő –gyermek” kapcsolatnak nevezni  Egy alárendelt tábla külső kulcsa valósítja meg a kapcsolatot a főtábla elsődleges kulcsával  Pl.Az Ösztöndíjak táblából az TanAz lesz a külső kulcs,melynek segítségével kötjük majd össze a Tanulók tábla TanAz elsődleges kulcsával  Maga a külső kulcs is állhat több tulajdonságból (attribútum) és mutathat arra a táblára is,amelyben ő is szerepel

26 26 Különbségek a táblák között  a fő tábla minden rekordja elérhető, míg az alárendelt táblának csak azon rekordjai, amelyek külső kulcsa kapcsolódik a fő tábla adott rekordjával  Más szóval a kurzor a fő tábla elsődleges kulcsa alapján mozog a rekordok között és mindig csak azokat a rekordokat (az alárendelt táblából) köti hozzá, ahova a kurzor mutat.

27 27 TanAz Vez.név Név...Tel 100AlmásiMiklós234-186 125SzabóAnna304-219 150MihókGábor631-762 175BajiIván414-515 200KovácsIbolya411-333 225SoósPéter761-708............ 25075MihókMárta631-228 TanAz AdomanyozoOsszeg175Község3000 175Város6000 Kurzor ez alapján mozog a fő táblában Tanulók adattábla Ösztöndíj adattábla

28 28 Megjegyzés  A gyakorlatban 2-nél több táblát kell összekötni  Ebből kifolyólag egy tábla lehet egyidőben főtábla is és más oldalról vizsgálva alárendelt is  Sőt egy táblának lehet több alárendelt táblája is  Egy alárendelt táblát egyidőben nem használhat több főtábla => egy főtáblának lehet több alárendelt táblája, de egy alárendeltnek csak egy főtáblája lehet.

29 29 A kapcsolatok fajtái:  1:1- egy tábla minden rekordjának egy másik tábla egyetlen rekordja felel meg  1:többhöz (1:n)- a főtábla egy rekordjához az alárendelt tábla több rekordja is megfelel  több:1 (n:1): a főtábla több rekordjához egy rekord felel meg az alárendelt táblából  n:m (több:több)- egy rekord a főtáblából több rekorddal van kapcsolatban az alárendelt táblából és fordítva

30 30 Az adatbázisok integritása  2 fontos korlátozás van, hogy egy adatbázis biztonságos legyen, az adatok egyértelműek és ellentmondás nélküliek legyenek:  Entitásbeli integritás és hivatkozási integritás

31 31 Entitásbeli integritás  Egy adatbázis minden eleme egy rekord (egyed, entitás).  Ahhoz, hogy azonosítani tudjunk minden egyedet, tudnunk kell, hogy mi a kulcs.  Ez az integritás azt jelenti, hogy mindaddig nem vihetünk be az adatbázisba új adatokat, amíg nem írjuk le, hogy milyen attribútumokkal rendelkezik az adott tábla és, hogy mi lesz a kulcs  Épp ezért az elsődleges kulcs nem lehet olyan tulajdonság (attribútum), amelyben van olyan egyed,melynek valamely értéke NULL érték (nem lehet üres mező a kulcs olszlopában)!!!!!  Az entitásbeli integritás lehetővé teszi azt, hogy egy táblában sem legyen 2 olyan rekord, melyeknek ugyanaz az elsődleges kulcsuk

32 32 Hivatkozási integritás  Ez a külső kulcsokra ad korlátozást  Ha 2 tábla össze van egymás között kötve, akkor a külső kulcs az alárendelt táblában csak azokat az adatokat tartalmazhatja, mint amely adatok a főtábla elsődleges kulcsának oszlopában szerepelnek!  Ha ez nem így van, az adatbázis nem tud helyesen működni

33 33 Normalizáció  ~ alatt az adatok átszervezését értjük (abban az esetben, ha az adatok a táblában úgy fordulnak elő, hogy ellentmodáshoz jutnánk)  Célja, hogy egy olyan adatbázis kapjunk, melyben minden adat csak egy helyen fordul elő, a redundancia elkerülése érdekében ( redundancia= adatok ismétlődése)

34 34 A normalizáció célja  Főként azért használjuk, hogy az ellentmondásokat elkerüljük, és egyszerűbbé tegyük az adattáblák használatát.  A köv.problémák merülhetnek fel egy nem- normalizált adattáblával:  redundancia  módosításbeli anomáliák (hiányosságok)  törlési anomáliák  beviteli anomáliák

35 35 Példa (OSZTONDIJ adattábla) TanuloAzonosito AdomanyozoOsszeg 100Köztársaság9000 100Város6000 150Város6000 175Község3000 175Város6000 200Város6000 200Köztársaság9000

36 36 Törlési anomália  Ha kitöröljük a 100-as azonosítójú diákot, mi nemcsak azt az infót vesztjük el, hogy ez a tanuló közt.ösztöndías, hanem azt a tényt is, hogy a közt.ösztöndíj 9000 din.  Ez nev.törlési anomáliának (deletion anomaly)- egy objektum egy adatának törlésével(a 100-sal jelzett tan.közt.ösztöndíjat kap), akaratlanul eltüntettük egy másik tényt is (hogy ez az ösztöndíj 9000 din)  Ez azt jelenti, hogy egy törléssel 2 objektum információit is elvesztettük

37 37 Beviteli anomáliák  Tfh.létezik még egy fajta ösztöndíj (pl.állami)  Ezt az infót nem vihetjük be az OSZTONDIJAK táblába, mert még nem létezik egyetlen egy tanuló sem, aki ilyen ösztöndíjat kapott volna  Probléma : a táblába nem vihető be semmiféle információ, míg egy másikról nem vittünk be infókat

38 38 Mi a megoldás?  Az OSZTONDIJ táblát 2 részre bontjuk, úgy hogy mindkettő 1-1 objektumról tartalmazzon információkat  A módszernek van egy hátránya: mi van akkor,ha hozzáadtunk egy olyan új tanulót, akinek olyan az ösztöndíja,hogy az nincs benne a másik táblában  Meogoldás: Adományozo tuj.értékeinek halmaza a TANULO-OSZTONDIJ táblából részhalmaza kell, hogy legyen az Adomanyozo tuj-nak OSZTONDIJ-OSSZEG táblában TanuloAzonositoAdomanyozo 100Köztársaság 150Város 175Község 200Város AdomanyozoOsszegKöztársaság9000 Város6000 Község3000 TANULO-OSZTONDIJ tábla OSZTONDIJ-OSSZEG tábla

39 39  A problémák azért lépnek fel,mert egy tábla olyan tényeket tartalmaz, melyek 2 különböző dologra vonatkoznak:  1.melyik tanuló kap ösztöndíjat és milyet  2.egy-egy ösztöndíj mekkora értékű  Épp ezért : minden olyan táblát, mely 2 v.több “dolgot” (“témát”) tartalmaz, 2 v.több táblára kell szétbontani, úgy, hogy mindegyik közülük csak egy dologgal(pl. csak ösztöndíj, csak pénzösszeg... ) foglalkozzon

40 40 A táblák alapvető műveletei  Minden tábla legalább egy rekordból kell, hogy álljon  Definiálni egy táblát a köv.áll:  a mező leírása  a kulcs definiálása  az index definiálása  a mező értékeinek korlátozásai  a hivatkozási integritás megszorításai

41 41  Minden táblának a létrehozás pillanatában meg kell határozni a szerkezetét és nevet kell adni neki  a Save to disk utasításnal minden, a táblával kacsolatos file is legenerálódik  Egy tábla átnevezésével átnevezésre kerülnek az őt kísérő file-ok is  Ha a diskről eltávolítunk egy adattáblát, akkor ez azt jelenti, hogy eltávolítottuk az összes kísérő file-t is

42 42 Az adatbázisok típusai:  Ismert architektúrák:  1.helyi (lokális) architektúra  2. file-szerver architektúra  3. kliens-szerver architektúra  4.disztribuált architektúra  5.internet-architektúra

43 43 1.helyi (lokális) architektúra  A program is és az adatbázis is egy szg-en hely.el  A Delphi a kapcsolatot az adtbázissal egy közvetítőn keresztül tartja: BDE (Dorland Database Engine)  AlkalmazásBDEAdatbázis A felhasználó számítógépe

44 44 2. file-szerver architektúra  Az adatbázis egy elkülönített erős szg-en helyezkedik el, a személyi szg-ek (PC-k) pedig helyi hálózaton keresztül csatlakoznak a szerverhez  Ebben az esetben: több felhasználónak van lehetősége egyidőben használni az adatbázist  Hátrány:nagyon nagy információmennyiség áramlik a hélózaton keresztül

45 2. file-szerver architektúra 45 AlkalmazásBDE Adatbázis helyi másolata A felhasználó számítógépe AlkalmazásBDE Adatbázis helyi másolata A felhasználó számítógépe Adatbázis Hálózati szerver

46 46 3. kliens-szerver architektúra  Ennél az architektúránál a szerveren nemcsak az adatbázist tároljuk, hanem az adatbázis-kezelő programot is, mely a hálózatban lévő felhasználók kéréseit végrehajtja, és visszaküldi nekik a kért adatokat (rekordokat)  Így a felhasználók programjai nem közvetlenül az adatbázissal érintkeznek, hanem a szerveren lévő programhoz fordulnak, mely végrehajtja az utasításokat  A kérést SQL nyelven kell megfogalmazni- Ez tulajdonképpen egy standard eszköz (Standard Query Language), mely segítségével kapcsolatot lehet létesíteni a szerveren lévő adatbázissal

47 3. kliens-szerver architektúra 47 AlkalmazásBDE SQL -Links A felhasználó számítógépe AlkalmazásBDE SQL-Links A felhasználó számítógépe Adatbázis Távoli hálózati szerver Az adatbázis szervere

48 48 4.disztribuált architektúra  A hálózatban néhány server gép működik, az adattáblák köztük kerülnek szétosztásra, hogy így hatásosabb legyen az elérhetőségük  Hátrány: bonyolult adminisztráció és igen jó paraméterekkel rendelkező serverekre (szg-ekre) van szükség

49 49 5.internet-architektúra  Az adatbázisokat (melyek a hálózatban vannak)  vmilyen böngésző segítségével (pl.Internet Explorer, Netscape Navigator, Opera,...) tudjuk elérni  Ennél az architektúránál az adatbázisokat viszonylag szerényebb szg. segítségével is el tudjuk érni (és tudunk dolgozni velük)


Letölteni ppt "Bevezetés. 2 DVD kódDVD címTípus DbDb Tagsági szám Vezeték névNévVárosLakcím Telefonszá m Kölcs.dátu m 2212ZorroKaland21287TóthBélaZentaFő utca 24024-817-6412009.04.10."

Hasonló előadás


Google Hirdetések