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 Született feleségekSorozat54312Németh Veronik aFelsőhegyPetőfi Sándor GettómilliomosDráma11287TóthBélaZentaFő utca MadagaszkárRajzfilm37290KovácsKrisztiánAdaPotiska Madagaszkár 2Rajzfilm31287TóthBélaZentaFő utca KacsamesékRajzfilm24312Németh Veronik aFelsőhegyPetőfi Sándor Született feleségekSorozat55555BarnaViolaZentaMadách Imre KacsamesékRajzfilm21123JuhászAnnaCsókaDózsa György Wall-EAnimációs11287TóthBélaZentaFő utca 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 NémethVeronikaFelsőhegyPetőfi Sándor JuhászAnnaCsókaDózsa György KovácsKrisztiánAdaPotiska BarnaViolaZentaMadách Imre DVD kód Tagsági szám Kölcs.dátu m 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ág Város Község Vá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ág Város Város Község Város Város Kö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ós Szabó2PozícióTanAz Vez.név Név...Tel1100AlmásiMiklós SzabóAnna MihókGábor BajiIván KovácsIbolya SoósPéter MihókMárta 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ós SzabóAnna MihókGábor BajiIván KovácsIbolya SoósPéter MihókMárta TanAz AdomanyozoOsszeg100Köztársaság Város Város Község Város Város Kö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ós SzabóAnna MihókGábor BajiIván KovácsIbolya SoósPéter MihókMárta TanAz AdomanyozoOsszeg175Község Vá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ág Város Város Község Város Város Kö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