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

ADATTÍPUSOK, ADATBÁZISOK

Hasonló előadás


Az előadások a következő témára: "ADATTÍPUSOK, ADATBÁZISOK"— Előadás másolata:

1 ADATTÍPUSOK, ADATBÁZISOK
Dr. Zajzon Gergely Semmelweis Egyetem, ÁOK Egészségügyi Informatikai, Fejlesztő és Továbbképző Intézet

2 ADATBÁZIS (Database) Hétköznapian: a bennünket érdeklő dolgok adatainak szervezett összessége.

3

4

5

6

7

8 ADATBÁZIS Hétköznapian: a bennünket érdeklő dolgok adatainak szervezett összessége. Tárolás szempontjából: az adatbázis több, egymással kapcsolatban álló tábla összessége.

9 ADATBÁZIS Hétköznapian: a bennünket érdeklő dolgok adatainak szervezett összessége. Tárolás szempontjából: az adatbázis több, egymással kapcsolatban álló tábla összessége. Definíció: Az adatbázis véges számú egyed-előfordulásnak, azok véges számú tulajdonság-előfordulásának és kapcsolat-előfordulásának az adatmodell által szervezett együttese.

10 ADAT Az adat valamilyen ismeret megjelenített formája, valakinek vagy valaminek egy jellemző tulajdonsága. Informatikai szempontból az adat a számítógépben jelsorozat formájában tárolt, kódolt információ.

11 ADAT Tartalmi szempontból érthetőnek kell lennie (a témát ismerő személy számára), formailag pedig mechanikusan (számítógéppel) feldolgozhatónak, strukturáltnak.

12 ADAT - példák Recepten megjelenített adatok: - név - születési dátum - lakcím - TAJ szám Telefonkönyv: - név - lakcím - telefonszám

13 ADAT - példák Vasúti menetrend: táblázatos formában közölt, strukturált adathalmaz. Ha a vasúti menetrendet szöveges formában, pl. ahogy a hangosbemondó bemondja, írnák ki, nehezen lenne használható. A szövegesen tárolt ismeretek nem elég strukturáltak, nem rendezhetőek, nehezen kereshetőek.

14 INFORMÁCIÓ Információ: új ismeretet hordozó adat, értelmezett adat, értesülés. Ez a megfogalmazás feltételezi az adatot értelmező személyt, hiszen ugyanaz az adat lehet valakinek ismert, másnak nem. Az információ mértékegysége a bit, amelynek értéke 1 vagy 0 lehet (igaz / hamis).

15 INFORMÁCIÓ A tárolás és visszakeresés mellett az adatok feldolgozásának az is célja, hogy ezáltal további új ismeretekhez, tehát információhoz jussunk. Pl. egy menetrendből kikereshető, hogy naponta hány vonat indul egy bizonyos állomásra. Ez még annak is új információ, aki kívülről tudja a menetrendet.

16 ADATTÍPUS Az adattípus az adatmezők alapvető tulajdonsága.
Meghatározza az alábbiakat: Típusérték-halmaz Szerkezet Műveletek Lehetővé teszi, hogy a táblázat egy oszlopán belül csak azonos típusú adatokat tároljunk.

17 ADATTÍPUS Típusértékhalmaz: megadja egy adat lehetséges értkeinek halmazát. Megadja az a mezőben tárolt adatokkal végezhető műveleteket Szerkezet: Meghatározza a tárolható adatok formáját, hosszát.

18 ELEMI ADATTÍPUSOK Nem bonthatók további részekre
Részei nem kezelhetőek külön egységként Típusosztályok: I. Megszámlálható típusosztály II. Valós típusosztály

19 MEGSZÁMLÁLHATÓ TÍPUSOSZTÁLY
NUMERIKUS Byte 0-255 Előjel nélkül 8 bit Shortint (-128)-127 Előjeles Integer (-32768)-32767 16 bit LOGIKAI 1 vagy 0 Igaz / Hamis 1 bit KARAKTER Bármilyen karakter ASCII kódtábla alapján ábrázolják 1 byte (8 bit) ASCII kódtábla: 0 – 31 vezérlőkarakterek 32 – 127 vezérlőkarakterek kiegészítő karakterek

20 VALÓS TÍPUSOSZTÁLY Numerikus valós adattípusok
Real (-2,9*10-39)-(1,7*1038) 11-12 számjegy pontosság 48 bit Single (-1,5*10-45)-(3,4*1038) 7-8 számjegy pontosság 32 bit Double (-5*10-324)-(1,7*10308) 15-16 számjegy pontosság 64 bit Extended (-3,4* )-(1,1*104932) 19-20 számjegy pontosság 80 bit Comp

21 ADATTÍPUS Az adattípus megfelelő kiválasztása növeli az adatok strukturáltságát: Pl. a születési dátumokat tartalmazó mező adatípusát célszerű dátumként beállítani. Ez lehetővé teszi, hogy az adattal dátumokra jellemző műveletek végezhessünk: pl. adott dátum intervallumban születettek kiválasztása, dátumból csak év és hónap megjelenítése

22 ADATTÍPUS Növeli az adatbevitel pontosságát: - pl. dátum adattípus esetében nem engedi, hogy február 31-át vigyük be értékként - szám adattípusú mezőbe nem engedi szöveg bevitelét.

23 TÁBLÁZAT <-> ADATBÁZIS
TAJ szám Név Lakcím Szül.: Telefon Iv Béla Bp Palota utca 1 Könyves Kálmán IV. kerület Mély utca 3 1308.Jan.1 Harmadik András Székesfehérvár 8000 Fő út 4. (30) Dobzse László Bp Kis utca 3 1492.Március 2 Kalapos József Bp Nagy utca 1 30/04/1835

24

25 ADATTÍPUS Hossz: (TAJ – Mo.n max 9 karakter)
Formátum: pl. számnál 2 tizedesjegy Beviteli maszk: dátum: éééé.hh.nn vagy telefonszám: +országkód-körzet-szám. Érvényességi szabály: életkor: max. 130 Kötelező megadni

26 MEGFELELŐ ADATTÍPUS KIVÁLASZTÁSA
Pl.: TAJ-szám Szám vagy szöveg? szöveg Hossz: 9 Beviteli maszk: Kötelező: Igen

27 TÁBLÁZAT <-> ADATBÁZIS
Táblázat: strukturált adathalmaz. - kereshető - rendezhető - szűrhető Táblázatkezelő program: pl. MS-Excel

28 TÁBLÁZAT <-> ADATBÁZIS
„Excel adatbázis”: speciális elrendezésű táblázat: a táblázat sorai egy halmaz elemeinek a tulajdonságait írják le. Az oszlopok a különböző elemek egyazon tulajdonságát adják meg, melyekre az oszlop elnevezésén keresztül lehet hivatkozni. Az oszlopnevek együttesen alkotják a táblázat fejlécét.

29 TÁBLÁZAT <-> ADATBÁZIS
TAJ szám Név Lakcím Szül.: Telefon Iv Béla Bp Palota utca 1 Könyves Kálmán IV. kerület Mély utca 3 1308.Jan.1 Harmadik András Székesfehérvár 8000 Fő út 4. (30) Dobzse László Bp Kis utca 3 1492.Március 2 Kalapos József Bp Nagy utca 1 30/04/1835

30 TÁBLÁZAT <-> ADATBÁZIS
Táblázat kezelés hátrányai: ugyanazt az adathalmazt nem lehet egyidejűleg több gépről módosítani Nem elég biztonságos az adattárolás: egy véletlen átrendezéssel tönkre tehetőek az adatok. Az adatok szerkezete, kapcsolata nincs külön feljegyezve

31 TÁBLÁZAT <-> ADATBÁZIS
Táblázat kezelés hátrányai: Logikai korlát, hogy már viszonylag egyszerű feladatoknál is célszerű lehet több táblázatba rendezni az adatokat, de egy táblázatkezelővel nehezen követhető ezek kapcsolata. Elvi szempontból ez a legfontosabb korlát!

32 TÁBLÁZAT <-> ADATBÁZIS
Név Irsz Város Cím Háziorvos Rend irsz Rend_ város Rend_cím RendMh_tel Balla Béla 2080 Érd Fő u. 3. Dr. Ház 1191 Budapest Kék u. 3. Kis Péter 1022 Kis u. 2. Dr. Zöld 1221 Fa u. 5. Nagy Irén 1134 Új u. 4. Pók Géza 2560 Diósd Tár u. 9. Dr. Kovács 2205 Zár u. 10. Pl. személyek adatait tartalmazó tábla, személy háziorvosának adataival kiegészítve. A rendelők halmaza itt úgy jelenik meg, hogy minden személyhez megadjuk – mint jellemzőt –, hogy hova tartozik. Látszatra a rendelői cím és telefon is ugyanolyan jellemző, mint a személy lakcíme, valamiben mégis különböznek a többi jellemzőtől. Ezek ugyanis nem közvetlenül a személynek, hanem a rendelőnek a jellemzői, és csak azon keresztül kapcsolódnak a személyhez. => Az ilyen jellemzőket közvetett jellemzőknek nevezzük.

33 TÁBLÁZAT <-> ADATBÁZIS
A közvetett jellemzők többszörös (redundáns) adattárolást eredményeznek, mert a munkahelyi adatokat minden ott dolgozó személynél tárolni kell. Ebből következően az adatok módosulásakor több helyen is módosítani kell a táblázatot, ami egyrészt felesleges munka, másrészt hibalehetőséggel jár.

34 ADATBÁZIS Az adatbázis az adatmodell alapján szervezett adategyüttes, amiből következik, hogy az adatokon túl azok szerkezetének, kapcsolódási szabályainak leírását is tartalmaznia kell.

35 ADATMODELL Az adatok elrendezését meghatározó elvi struktúrát nevezzük adatmodellnek. Az adatmodell tehát nem konkrét adatértékeket tartalmaz, hanem az adatok tulajdonságait, szerkezetét, lehetséges kapcsolatait írja le. Magukat az adatokat az adatbázis tartalmazza, ami az adatoknak az adatmodell szerint szervezett együttese.

36 RELÁCIÓS ADATMODELL A reláció mint matematikai fogalom egy olyan halmaz, amelynek elemei két vagy több halmaz egy-egy eleméből álló rendezett értéksorozatok. A relációs adatmodell egy olyan adatmodell, amelynek legfontosabb eleme a matematikai reláció fogalma. Definiálja azokat a jellemző adatszerkezeteket, amelyeken dolgozik, illetve azokat a műveleteket, amelyek rajta értelmezettek. => a relációs adatmodell a logikai adatbázis (vagy fogalmi adatbázis) kereteit határozza meg, azaz nem foglalkozik azzal a problémával, hogy adatokat ténylegesen hogyan kell tárolni.

37 Táblák közti kapcsolatok
Egy-az-egyhez kapcsolat 1:1 37

38 Táblák közti kapcsolatok
Egy-a-többhöz kapcsolat 1:N 38

39 Táblák közti kapcsolatok
Több-a-többhöz kapcsolat M:N 39

40 ADATMODELL ELMÉLETI (FOGALMI) ADATMODELL: (Conceptual data model) Az adatbázisban tárolandó információk és közöttük fennálló kapcsolatok elemzése. Független a választandó szoftvertől. FIZIKAI ADATMODELL (Physical data model) Az adatbázisban használt strukturák: táblák, adattípusok, kapcsolatok, stb. részletes megadása. 40

41 MOZIMŰSOR – ELMÉLETI ADATMODELL
MOZIK FILMEK PK MOZI_ID PK FILM_ID M N MOZINEV FILMCIM MOZICIM HOSSZ MOZITEL NYELV MOZIWEB RENDEZO 41

42 MOZIMŰSOR – FIZIKAI ADATMODELL
MOZI__FILM FILMEK MOZIK PK MOZIFILM_ID N PK FILM_ID MOZI_FK PK MOZI_ID N 1 FILMCIM 1 MOZINEV FILM_FK HOSSZ MOZICIM VETITES NYELV MOZITEL RENDEZO MOZIWEB 42

43 ADATBÁZISKEZELŐ egy adatbázis kezeléséhez olyan szoftverre van szükség, amely képes az adatszerkezet nyilvántartására és a kapcsolatrendszer kezelésére. Képes az adatokhoz egyidejűleg több rendezettség szerinti hozzáférést biztosítani Lehetővé teszi egyszerre több felhasználó számára az adatok módosítását.. 43

44 TÁBLÁZAT <-> ADATBÁZIS
A rendezés elsődleges célja az adatkeresés meggyorsítása. Táblázatkezelő: a rendezés ténylegesen megcseréli a sorokat, amit fizikai rendezésnek nevezünk. Az adattáblák egyidejűleg nyilván csak egy szempont szerint lehetnek fizikailag rendezve. Ha azonban egy táblázatnak sok oszlopa van, akkor ez nem célszerű. Adatbázis-kezelő: csak külön kérésre rendezik fizikailag a sorokat. Ehelyett ún. logikai rendezést végeznek, ami egy ún. INDEX készítését jelenti. Az eljárás hasonlít a könyvtári katalógus rendszerhez, ahol a könyveket egy raktári szám szerint rendezve tárolják a raktárban. A katalóguscédulát, amelyen fel van tüntetve a cím, szerző, és kiadó, több rendezési szempont szerint ki lehet keresni. A raktári számon keresztül található meg a könyv a raktárban. 44

45 LOGIKAI RENDEZÉS - INDEX
név szerinti rendezés: kiemeli a név oszlopot egy külön táblázat egyik oszlopaként, egy második oszlopban pedig melléteszi, hogy ténylegesen hol van az eredeti adat (az eredeti táblázathoz illesztett belső sorszám alapján hányadik sorban). A rendezés eredményeként kapott táblázatot nevezzük indextáblának (vagy indexfájlnak), a műveletet pedig indexelésnek. Az index az a mutató, amelyik megmutatja az adatok tényleges helyét. 45

46 LOGIKAI RENDEZÉS - INDEX
46

47 HIVATKOZÁSI INTEGRITÁS
A hivatkozási integritás biztosítja, hogy két egyedtípus közötti kapcsolatban az egyes egyed-előfordulások kapcsolatai ne sérüljenek meg, a kapcsolt táblák kapcsoló mezőinek tartalma mindig megfelelő legyen. Szabály: Nem rögzíthető olyan idegen kulcs érték, amely a kapcsolt táblában mint elsődleges kulcs nem létezik. Nem szüntethető meg olyan elsődleges kulcs érték, amely a kapcsolt táblá(k)ban idegen kulcsként létezik. Nem módosítható olyan elsődleges kulcs érték, amely a kapcsolt táblá(k)ban idegen kulcsként létezik. 47

48 SZEMÉLYEK HÁZI ORVOSAI ADATBÁZIS
TAJ Név Irsz Város Cím Háziorvos Rend_irsz Rend_város Rend_cím RendMh_tel Balla Béla 2080 Érd Fő u. 3. Dr. Ház 1191 Budapest Kék u. 3. Kis Péter 1022 Kis u. 2. Dr. Zöld 1221 Fa u. 5. Nagy Irén 1134 Új u. 4. Pók Géza 2560 Diósd Tár u. 9. Dr. Kovács 2205 Zár u. 10. BETEGEK PK TAJ NEV IRSZ VAROS CIM HAZIORVOS REND IRSZ REND VAROS REND_CIM RENDMH_TEL 48

49 NORMALIZÁLÁS A modellezési elmélet által kidolgozott feltételek, melyek segítségével megvizsgálható, hogy a táblázatok jól vannak-e felépítve. A szakirodalom öt normál formát tart számon, ezek közül az első hármat vizsgáljuk meg részletesen. Egytől kezdve számozzák őket (jelölésük: 1NF, 2NF, ...). 49

50 NORMALIZÁLÁS Lényege:
Az adatbázis optimalizáltsága, azaz a redundanciák megszüntetése az adatbázisban. A redundancia megszüntetése: A táblák normalizálásakor az azokban lévő felesleges adatok mennyiségét próbáljuk csökkenteni. 50

51 1 NORMÁL FORMA Feltételei: a táblázat nem tartalmaz ismétlődő csoportokat, pl. nincs két azonos nevű oszlopa, nincs két egyforma sora, nincs többszörös adatérték (egy adatmezőben csak egy érték van), és a sorait egyedi kulccsal lehet azonosítani. A személyek és orvosaik adatait tartalmazó táblázatunkra ezek a feltételek fennállnak. Ha egy személynek több házi orvosa lenne, azt az 1NF szerint nem lehetne beírni az orvos mezőbe (mondjuk vesszővel elválasztva), erre más szerkezetet kellene kitalálni. 51

52 Ez nem felel meg így az 1NF-nak!!
TAJ Név Irsz Város Cím Háziorvos Rend_irsz Rend_város Rend_cím RendMh_tel Balla Béla 2080 Érd Fő u. 3. Dr. Ház, Dr. Kovács 1191 Budapest Kék u. 3. Kis Péter 1022 Kis u. 2. Dr. Zöld 1221 Fa u. 5. Nagy Irén 1134 Új u. 4. Dr. Ház Pók Géza 2560 Diósd Tár u. 9. Dr. Kovács 2205 Zár u. 10. Ez nem felel meg így az 1NF-nak!! BETEGEK PK TAJ NEV IRSZ VAROS CIM HAZIORVOS REND IRSZ REND VAROS REND_CIM RENDMH_TEL 52

53 0 NF Kiindulási állapot (Táblák vannak a táblában) Szállítókód
Telephely Telepcím Bankszámla S1 T11 T12 T13 C11 C12 C13 B1 S2 T21 T22 C21 C22 B2 53

54 1 NF Megszüntetjük az ismétlődő csoportokat Szállítókód Telephely
Telepcím Bankszámla S1 T11 C11 B1 T12 C12 T13 C13 S2 T21 C21 B2 T22 C22 54

55 FUNKCIONÁLIS FÜGGŐSÉG
Egy tulajdonság értékét egy másik tulajdonság értéke egyértelműen meghatározza. A funkcionális függés egyirányú kapcsolatot jelent. Pl.: Városnév-megyenév Magyarországon: Miskolc esetén biztosan tudjuk, hogy a kapcsolódó megye neve Borsod. 55

56 FUNKCIONÁLIS FÜGGŐSÉG
56

57 2 NORMÁL FORMA Feltételei: táblázat megfelel az 1NF feltételeknek és
az összes jellemző teljesen függ a kulcstól. => nincs benne részleges függés, azaz bármely nem kulcs mező a teljes kulcstól függ, de nem függ a kulcs bármely részhalmazától . A személyeknél láttuk, hogy a kulcs (esetünkben a TAJ) a valós halmaz egy-egy elemét képviseli, tehát egy személyt. Az orvos adataival bővített táblázat is kielégíti ezt a feltételt, hiszen az orvos adatai végső soron a személyhez is tartoznak. 57

58 Példa a második normál forma feltételeit megsértő relációra
Nem lehet funkcionális függőseg a kulcs egy részétől: Pl. Konferencia: terem időpont férőhely előadas) Kulcsok: {terem, időpont} Függőségek: {terem, időpont} -> előadás terem -> férőhely 58

59 3 NORMÁL FORMA A 3NF feltételei
táblázat megfelel az 2NF feltételeknek és a táblázatban nincsenek közvetett jellemzők: vagyis egy felvett jellemző ne tartozzon más olyan halmazhoz, amely szerepel a táblázatban. A házi orvosi adatokkal bővített személy tábla ennek a feltételnek már nem felel meg, mert a rendelő címe az orvos személyétől is függ: az orvoshoz is tartozik, sőt elsődlegesen ahhoz tartozik, és csak közvetve tartozik a személyhez. 59

60 60 TAJ Név Irsz Város Cím Háziorvos Rend_irsz Rend_város Rend_cím
RendMh_tel Balla Béla 2080 Érd Fő u. 3. Dr. Ház 1191 Budapest Kék u. 3. Kis Péter 1022 Kis u. 2. Dr. Zöld 1221 Fa u. 5. Nagy Irén 1134 Új u. 4. Pók Géza 2560 Diósd Tár u. 9. Dr. Kovács 2205 Zár u. 10. TAJ Név Irsz Város Cím Pecsét Balla Béla 2080 Érd Fő u. 3. 31191 Kis Péter 1022 Budapest Kis u. 2. 41593 Nagy Irén 1134 Új u. 4. Pók Géza 2560 Diósd Tár u. 9. 56593 Pecsét Háziorvos Rend_irsz Rend_város Rend_cím RendMh_tel 31191 Dr. Ház 1191 Budapest Kék u. 3. 41593 Dr. Zöld 1221 Fa u. 5. 56593 Dr. Kovács 2205 Diósd Zár u. 10. 60

61 61 BETEGEK PK TAJ NEV IRSZ VAROS CIM HAZIORVOS REND IRSZ REND VAROS
REND_CIM RENDMH_TEL BETEGEK ORVOSOK PK TAJ PK PECSÉT M N NEV ORVOS IRSZ IRSZ VAROS VAROS CIM CIM TEL 61

62 ADATKEZELŐ NYELV SQL = Strucured Query Language
DDL – Data Definition (pl. CREATE) DML – Data Manipulation (pl. INSERT, UPDATE, DELETE) QL – Query Language (pl. SELECT) 62

63 TÁBLATÍPUSOK Fő tábla Segédtábla Kapcsoló tábla (association table)
Szótár tábla (look-up table, value list) 63

64 ADATBÁZIS SZERVER Speciális adatbáziskezelő szoftver
Nem a kezelői felület biztosítása a cél! Lehetővé teszi egyszerre több felhasználó számára az adatok módosítását. Szabályozza az adatokhoz való hozzáférést (jogosultságok) Rendszeres adatmentés biztosítása Tranzakciókezelés 64

65 ADATBÁZIS SZERVER Oracle MS-SQL My-SQL PostgreSQL 65

66 Köszönöm a figyelmet! Dr. ZAJZON GERGELY Egyetemi tanársegéd
Telefon: Web: 66


Letölteni ppt "ADATTÍPUSOK, ADATBÁZISOK"

Hasonló előadás


Google Hirdetések