Transcript 1. dia

Bevezetés

Kedves Hallgató!
Jelen prezentáció segítséget kíván nyújtani az
Informatika alapjai I. tantárgy feldolgozásához. A
tantárgyhoz rendelt további oktatási anyagok a Kamuti
Hajnalka – Sándor Tamás: Számítástechnika I. (KKMF1186 jegyzet), A most bemutatásra kerülő prezentáció
ezen jegyzet sikeresebb használatához nyújt segítséget.
A prezentáció végén az egyes témakörökhöz hasznos
linkeket találhatnak, amely információk segítségével
még jobban elmélyedhetnek az adott témakörben.
A tanuláshoz sok sikert kívánok!
Bevezetés az adatbáziskezelésbe
Kamuti Hajnalka-Sándor Tamás
Számítástechnika I.
149-152 o. 9.1. fejezet
Mi az információ, milyen típusai
vannak ?


Valamely jelenségre vonatkozó értelmes közlés,
amelynek új ismereteket szolgáltató része fontos
a felhasználó számára.
Megkülönböztetünk parancs (séf a kuktának:
sótlan az étel), motiváció (holnaptól emelkedik a
benzin árfolyama) és közleménytartalmú (ma
rekordhőmérsékletet mértek Fokvárosban)
információt.
Mi az adat?

Az információnak a továbbító vagy tároló,
általában számítástechnikai rendszerekben való
konkrét megjelenési formája.
Mi az egyed (entitás)?



Az információval leírni kívánt jelenség egy
osztálya.
Olyan általános objektum, amely minden más
objektumtól megkülönböztethető.
Lehet fizikailag megfogható dolog (élõlény,
tárgy) vagy elvont fogalom (pl.: hallgató, autó,
érzelem).
Mi az egyed (entitás) egy
előfordulása?

Az egyed egy konkrét értéke
pl.: az autó egyed egy elõfordulása a GUJ-060-as
rendszámú Audi A4 típusú személygépkocsi.
Mi a tulajdonság (attribútum) ?
Az egyedeket (entitásokat) leíró jellemző.
pl.: az autó egyed tulajdonságai: gyártási év, típus, szín,
rendszám.
 Egy egyednek lehet több tulajdonsága (lsd. fent) és egy
tulajdonság több egyedet is jellemezhet (pl. a szín
egyaránt jellemezheti a háztetőket, az autókat, stb.).
 A tulajdonság értékeivel egy adott egyed egy
előfordulását határozzuk meg.
gyártási év
rendszám típus
szín
1999
GUJ-060
Audi A4
bordó

Mi a tulajdonság (attribútum) egy
előfordulása?

A tulajdonság (attribútum) egy konkrét értéke.
Pl.: a rendszámnak, mint tulajdonságnak egy
előfordulása a GUJ-060-as rendszám.
Mi a kulcs?

Az a tulajdonság vagy a tulajdonságok azon
összessége, amely egyértelműen meghatározza,
hogy az egyed mely előfordulásáról van szó.
Pl. az autó egyed esetén a rendszám tulajdonság
a kulcs, mert ez alapján egyértelműen
azonosíthatók az autók. A kulcsmező értéke
minden autónál más és kötelezően kitöltendő
mező.
Mi az egyszerű és az összetett kulcs?


Egyszerű kulcs: ha a kulcs egy tulajdonságból áll.
Pl. a rendszám tulajdonság önmagában
egyértelműen meghatároz egy autót.
Összetett kulcs: ha több tulajdonság együttesen
határoz meg egyértelműen egy egyedet.
Pl. a név, cím, anyja neve, születési idő
együttesen egyértelműen meghatároz egy
hallgatót, hacsak egy ikerpár nem ugyanazt a
nevet kapta
Mi a kapcsolat?

Az egyedek (entitások) közötti kapcsolatok
leírására szolgáló kategória.
Pl. a gépkocsi egyed kapcsolatban áll a
tulajdonosával, mint egyeddel.
Mi a kapcsolat egy előfordulása?

A kapcsolat egy konkrét értéke.
Pl. a GUJ-060 rendszámú gépkocsi kapcsolatban
áll Kiss János nevű tulajdonosával.
Mit jelent az egy-egy (1:1) típusú
kapcsolat?

Az egyik egyedhalmaz mindegyik eleméhez a
másik egyedhalmaznak pontosan egy eleme
kapcsolódik.
A két egyedhalmaz egymásba kölcsönösen
egyértelműen leképezhető.
Pl. a férj-feleség kapcsolatban minden férjnek
egy felesége van és fordítva. Hacsak nem
követnek el bigámiát
Mit jelent az egy-több (1:N) típusú
kapcsolat?

Az egyik egyedhalmaz mindegyik eleméhez a
másik egyedhalmaz több eleme is tartozhat.
Pl. a megye-település kapcsolatban egy település
csak egy megyéhez tartozik de egy megyéhez
több település is tartozhat.
Mit jelent az több-több (N:M) típusú
kapcsolat?

Az egyik egyedhalmaz minden eleméhez a másik
egyedhalmaz több eleme is tartozhat és fordítva.
Pl. a könyv-szerző kapcsolatban egy könyvhöz
több szerző is tartozhat és egy szerző több
könyvet is írhatott.
Mi az adatmodell?


Az egyedek, a tulajdonságok és a kapcsolatok
halmaza.
Az adatmodell az adatok struktúrájának leírására
szolgál.
Milyen típusú adatmodelleket ismer?





Hierarchikus (fa) struktúrájú
Hálós (plex) struktúrájú
Relációs
Objektumorientált
Neuronhálós
Hierarchikus (fa) struktúrájú
adatmodell




Olyan logikai file-struktúra, ami nem sík.
Elemek(csomópontok) hierarchikus rendjéből
áll.
Gyökér : olyan szülő csomópont, amiből csak
elágaznak más csomópontok.
Levelek:olyan gyermek csomópontok, amiből
már nem ágaznak el további csomópontok.






Kiegyensúlyozott fa: minden csomópontból ugyanannyi számú
alcsomópont ágazik el
Bináris fa: minden csomópontból két csomópont ágazik el
Egyszerű leképzés: alsóról a felső szintre történik (1:1 típusú
kapcsolat)
Komplex leképzés:
a felsőről az alsó szintre történik (1:több
típusú kapcsolat)
Fizikai fileszervezés: a hierarchikus struktúrát használják mutatók,
indexek - indexelt bejegyzések leírására
Logikai fileszervezés: rekord típusok kapcsolatának leírására
használták
Hálós struktúra
-
minden kapcsolódhat mindennel
- egy gyermeknek több szülője lehet
- n:m típusú kapcsolatok megvalósítására képes
Jellemezze a relációs adatmodellt!






A relációs adatmodell elvét E. F. Codd alkotta meg
1971-72-ben, melyet 1976-ban P. Chen
továbbfejlesztett.
Létrehozásának célja a hálós struktúra hátrányainak
kiküszöbölése.
Matematikailag a legrészletesebben kidolgozott.
Felhasználóbarát, táblázatos forma.
Nagyméretű (nagy adatbázis kezelésére alkalmas)
Biztosítja az adatok integritását (sérthetetlenségét),
konzisztenciáját(következetességét), redundancia
(felesleges adatismétlés) mentességét.
Név
Cím
Anyja Születési
neve dátum
Neptun
kód
xy
1986.01.01.
1h
Debrecen zk
2000.01.23
2j
Kiss Anna Bp.
Nagy
János

Az állomány adatainak kapcsolatai egy kétdimenziós tábla segítségével
szemléltethető.
- Rekord: az egyed konkrét előfordulásai, a tábla soraiban helyezkednek el.
Egy táblában nem fordulhat elő két azonos rekord!
- Mező: a tábla oszlopai, az egyed tulajdonságait tartalmazzák.
Egy táblában nem fordulhat elő két azonos mezőnév!
Egy oszlopon belül csak azonos típusú adat szerepeltethető (pl. szöveg
vagy szám)!
- A reláció foka: a táblában szereplő tulajdonságok (oszlopok) száma.
- A reláció számossága: a táblában előforduló rekordok (sorok) száma.
- Azonosító mező: az egyedek (rekordok) egyértelmű azonosítására szolgáló
tulajdonságoszlop más néven kulcs.
Reláció=tábla=egyed=entitás
Sor =rekord= az egyed egy előfordulása.
Oszlop=tulajdonság=attribútum =mező
Redundancia (adattöbszörözés vagy
származtatott tények tárolása)
Hallgatók
Konzulensek
Kiss
Nagy
Bene
Aba
Konzulens
telefonszáma
1
2
Szabó
Kovács
Bene
Bene
1
1




A konzulensek ismétlődése nem redundancia, mert törlése
információvesztéssel jár. A telefonszámok is métlődése redundancia, mert
törlése nem jár információvesztéssel.
Az eredeti tábla tehát redundáns. Redundancia
megszüntetése:Normalizálás:Az eredeti táblát több táblára bontjuk és a táblák
között kapcsolatot hozunk létre. A Konzulensek és a Hallgatók tábla között
egy-több típusú kapcsolat van, mert egy konzulensnek lehet több hallgatója,
de minden hallgató csak egy konzule
1-N (egy-több) típusú kapcsolat létrehozása: Az elsődleges tábla (ahonnan az
egy kapcsolat kiindul) jelen esetben a Konzulensek tábla kulcsát felvesszük a
másik táblába sima mezőként és ezen kapcsolómezőkön keresztül a két táblát
összekapcsoljuk.
N-M (több-több) típusú kapcsolat létrehozása: A két kapcsolódó tábla közé
felveszünk egy kapcsolótáblát, amelyben elhelyezzük a kapcsolódó táblák
kulcsát.
Objektumorientált adatmodell

Relációs alapokon nyugszik. Nemcsak az
egyedet(pl. hallgatók), annak tulajdonságait(neve,
születési dátuma, neptun kódja) adjuk meg,
hanem az egyed cselekvéseit is (kurzust vesz fel,
vizsgára jelentkezik, pótdíjat fizet).
Neuronhálós adatmodell

Az agyi idegsejtek kapcsolódásai alapján modellezi az adatokat.

A mesterséges intelligencia kutatások célja: intelligens
számítógéprendszerek létrehozása
A mesterséges intelligencia programok olyan módon oldják meg
a problémákat, amilyet az emberek esetén intelligensnek
neveznénk
Intelligens viselkedés, hatékony problémamegoldás jellemzői:
képes kommunikálni, képes tanulni, öntanulni, képes bizonytalan
szituáció kezelésére, kivételek kezelésére
Olyan problémák megoldásával foglalkozik, amelyben az
emberek jobbak.
Amire nem képesek: az intuíció (ösztönös megérzés)
Magyarországon többek között az IQSOFT cég foglalkozik
tudásalapú szakértői rendszerek, MI kutatással.
















Milyen területeken folynak a kutatások:
automatikus programozás
automatikus tételbizonyítás
beszédfelismerés, beszédgenerálás
gépi látás, gépi tanulás
robotika
természetes nyelv feldolgozás
neurális hálózatok
bizonytalanság-kezelés területe
játékautomaták
orvosi rendszerek
Tudásalapú szakértői rendszer
felépítése





Tudásbázis: adott problémára, illetve tárgykörre vonatkozó
specifikus ismereteket tároljuk jól struktúrált módon, a
Tárgyterületi szakértő összes tárgyi tudását beépítjük a gépbe
Tárgyterületi szakértő:szaktudásával segít feltölteni a tudásbázist
Következtetőgép: általános problémamegoldó ismereteket tartalmaz,
a tudásbázis felhasználásával adott problémára konkrét
megoldást ad
Munkamemória:a következtetőgép munkaterülete, ide kerülnek a
probléma kezdőadatai, kommunikációs eredmények, válaszok,
kérdések
Magyarázó alrendszer bizonyos felhasználói felületen keresztül
tájékoztatja a felhasználót, hogy hol tart a gép a probléma
megoldásában, feldolgozásában, intelligens kérdéseket tesz fel.
Mi az adatbázis?

Szükségtelen redundancia nélkül együtt tárolt,
egymással kapcsolatban álló adatok összessége,
ahol az adattárolás független a felhasználói
programoktól.
Mi az adatbázis - kezelő rendszer?





Adatbázisokat kezelő szoftver.
Rövidítése: Data Base Management System (DBMS).
Fa struktúrájú adatmodelleket kezelő szoftverek:
IMS, DL/1, IMS-VS, DL/I ENTRY, VANDL/1.
Hálós struktúrájú adatmodelleket kezelő szoftverek:
IDMS, DENNIS (Dunaferr).
Relációs
ORACLE, ACCESS, DB2, DBASE, PARADOX,
SYSTEM-R, SYBASE, SQL.
Adatbázis rendszerek kialakulása


















ókor: kőtábla, papírusz
kartotékrendszerek (kórház, könyvtár)
lyukkártya, lyukszalag
1960: mágneses háttértárolók
1960-as évek közete: gyors hozzáférési idejű háttértárolók
BOMP: darabjegyzék feldolgozó rendszer
1965 CODASYL bizottság létrehozta az LPTG csoportot
1967 az LPTG csoport nevet változtat DBTG-re
1969 a DBTG szabványosítja a Cobol nyelvet (alapműveletei: olvasás, írás, újraírás és törlés, tisztázzák
az adabázis négy alapvető műveletét)
1971 a DBTG két csoportra oszlik (DBLC, DBLTG – alkalmazott struktúra alapján)
1973 DBLTG javaslatot tesz a hálós (Plex) struktúrára, két nyelvet ír le
DML: date manipulation language (adat manipuláló nyelv)
DDL: date definition language
1968-70 az IBM felhasználók egy csoportja javaslatot tesz a hierarchikus vagy fa struktúrájú
adatbázisok kezelésére: GUIDE-SHARE
1970 a relációs struktúrák felé fordul a figyelem
1971-1972 E.F.Codd egységesítette relációs strukturák alapelveit
1976 Chen továbbfejlesztette a rendszert
1975 lerakják az adatbáziskezelés alapköveit a Belgiumi konferencián, megteremtik, mint tudományágat
Mik a DBMS-ekkel szembeni főbb
követelmények ?













Programfüggetlenség: az adatok tetszés szerinti programmal, tetszés szerinti időben
felhasználhatók legyenek
Az adatbázis kapcsolatokat kezeljen.
Az adatok integritásának (sérthetetlenségének) és konzisztenciájának (torzíthatatlanságának)
biztosítása.
Az adatvédelem megoldása: az adatok fizikailag ne sérüljenek és illetéktelenek ne férhessenek
hozzájuk.
Redundancia mentes adattárolás.
Az adatkezelés központi irányítása: az elosztott adatbázisoké a jövő.
Többféle adatelérési stratégia.
Egyidejű adatelérés (shaering): egyidejűleg több felhasználó is elérhesse ugyanazt az adatot
Ad- hoc igény kielégítés: olyan információk kinyerése, amelyek látszólag nincsenek benne az
adatbázisban.
Igény szerinti átalakítás lehetősége.
Gondoskodás a változtató tranzakciók alatt az adatok lezárásáról, a sikeres tranzakciók
véglegesítéséről, a sikertelenek vissza görgetéséről.
Minimális válaszidők, alacsony költségek.
Az adatbázis-kezelők építenek az operációs rendszerekre, így a fizikai input-output lebonyolítását
az operációs rendszerre bízzák.
SQL

Nem szerepel az előírt jegyzetekben, e slide-ok
keretében ill. konzultációkon tárgyaljuk.
Mi az SQL?



Strukturált lekérdező nyelv (Structured Query
Language).
Relációs adatbázisok létrehozására és
lekérdezésére szolgáló nyelv.
1986-ban az Amerikai Szabványügyi Hivatal
(ANSI) szabványosította.
Melyek az SQL jellemzői?




Nem algoritmikus nyelv, nincsenek benne
vezérlési szerkezetek (ciklusok, elágazások).
Az adatok keresésekor nem adatok elérési útját
adjuk meg, hanem az adatok tulajdonságait.
Nem önálló nyelv, relációs adatbázis-kezelőkbe
építik bele a lekérdezés megkönnyítésére (pl.
DB2, INGRES, ORACLE, DBASE IV-,
NOVELL, XQL, MAGIC, PARADOX).
Alapja a relációs algebra.
Az SQL mely szabványait ismeri?
3 fő szabványa van:
 ANSI SQL
 SQL92 = SQL2
 SQL3 (SQL2 + triggerek, rekurziók,
objektumok)
Relációs algebra műveletei
Projekció: A projekció során egy reláció oszlopai közül
csak bizonyosakat őrzünk meg az eredmény relációban.
Csak a Hallgató egyed Nevére és Neptun kódjára
vagyok kíváncsi.
 Szelekció:A szelekció művelete során egy relációból
csak egy adott feltételt kielégítő sorokat őrizzük meg az
eredmény relációban.
Csak a debreceni hallgatókra vagyok kíváncsi.
 A projekciót és a szelekciót általában együtt használjuk:
A debreceni hallgatók nevére és neptun kódjára vagyok
kíváncsi.

Szelekciós feltételek


Konstans szelekciós feltétel: Mezőértéket
hasonlítok konstanshoz. Kor>25
Attribútum szelekciós feltétel: Mezőértéket
hasonlítok mezőértékhez. Súly>2xMagasság
Milyen záradékait, cikkelyeit, klauzóláit
tanulta az SQL-nek?





select
from
where
group by - csoportosítás
order by - rendezés
Listázza az aktuális meghajtó
adatbázisait!

SHOW DATABASE;
Hozzon létre egy Szemelygk nevű
adatbázist az alábbi könyvtárban!

CREATE DATABASE C:\Dokumentumok\
Szemelygk.mdb;
Aktiválja, nyissa meg az adatbázist!

START DATABASE C:\Dokumentumok\
Szemelygk.mdb;
Hozzon létre egy Autok nevű táblát a
Szemelygk adatbázisban!

CREATE TABLE Autok
Tipus:CHAR(20),
Gyartasiido:DATE(4),
Gyartoorszag:CHAR(30),
Serulte:BOOLEAN,
Ar:INTEGER,
Rendszam:CHAR(6),
Szin:CHAR(6);
Szúrjon be egy rekordot a táblába!

INSERT INTO Autok
(Tipus) VALUES (‘Lancia’),
(Gyartasiido) VALUES (2004.07.01.),
(Gyartoorszag) VALUES (‘Olaszorszag’),
(Serulte) VALUES (false),
(Ar) VALUES (7000000),
(Rendszam) VALUES (LAN-777);
Az autok nevű táblából kérdezze le
az összes mező értékét!

SELECT * FROM autok;
Az autok nevű táblából kérdezze le a rendszám és az
ár mezők értékeit!
SELECT rendszam, ar
FROM autok;
Kérdezze le ismétlődés nélkül az
autok típusait!
SELECT DISTINCT típus
FROM autok;
Kérdezze le ismétlődés nélkül azon autók tulajdonosának nevét,
amelyeknek típusneve O betűvel kezdődik vagy a gyártási idejük
1985.01.01 és 2000.01.01 között van!

SELECT DISTINCT Tulajdonos FROM Autók WHERE
Típus LIKE ’O%’ OR Gyártási idő between 1985. 01. 01. and
2000. 01. 01.;
Számolja meg azon rekordok számát, amelyeknél
nem szerepel ár az Ár mezőben!

SELECT COUNT Rendszám FROM Autók
WHERE Nettó ár IS NULL;
Számolja ki azon autók átlagárát, amelyeknél az ár mező nem
üres és típusnevük Audi, Bmw, vagy Opel (tartalmazás
operátorral!)

SELECT AVG Nettó ár FROM Autók
WHERE Nettó ár NOT IS NULL AND
Típus in [’Audi’,’Bmw’,’Opel’];
Számolja ki az egyes típusokba
tartozó autók összárát!

SELECT SUM Nettó ár FROM Autók
GROUP BY Típus;
Számolja meg az országonként gyártott autók számát, azokra
az autókra, amelyek nem sérültek!

SELECT COUNT Rendszám FROM Autók
GROUP BY GYÁRTÓ ORSZÁG WHERE
SERULESMENTES=TRUE;
Az Abc növekvő sorrendjében írassa ki a TULAJ
nevű mezőbe az autók tulajdonosainak nevét!

SELECT Tulajdonos AS TULAJ FROM
Autók ORDER BY ASC Tulajdonos;
Kérdezze le azon autók rendszámát, amelyeknek a
típusa O betűvel kezdődik!
SELECT rendszam FROM autok WHERE
tipus LIKE („O%”);
- a % jellel több karaktert, az ? jellel egy karaktert
helyettesíthetünk.
Zárja be az aktív adatbázist!

STOP DATABASE;
Törölje a Hallgatok nevű adatbázist!

DROP DATABASE C:\Dokumentumok\
Hallgatok.mdb;
Aktív elemek



Megszorítás, trigger (kiváltás): aktív elemek közös neve. Olyan metódusok,
amelyek mindig rendelkezésre állnak, hogy a rendszer végrehajtsa őket.
Megszorítás: olyan logikai értékű függvények, amelyek visszatérési értékétől
azt várjuk el, hogy igaz legyen. Pl. banki rendszerekben megszorítás, hogy az
egyenleg nem lehet negatív, vagy pénzfelvét, de nincs már a számlán. Ha
megsértem a megszorítást, a rendszer visszautasít.
Kiváltás: olyan programkód részletek, amely egy esemény bekövetkezésére
várnak. Az esemény lehet beszúrás, módosítás, törlés. Amikor az esemény
bekövetkezik, akkor a programkód részletben az utasítások végrehajtódnak.
Pl.: repülőgép jegyfoglalás rendszer. Egy járat megy 9:40-kor és törlik a
státuszát, vagy módosítják. Ez az esemény, ennek hatására kiváltódik a
programkód részlet, melye elindít egy lekérdezést. Kigyűjti azon személyeket,
akik utaztak volna, és küld egy értesítést nekik a telefonszámukra.
Linkek






















Informatikai kislexikon:
http://www.kfki.hu/~cheminfo/hun/olvaso/lexikon/a.html
http://www.iif.hu/dokumentumok/niif_fuzetek/szotar/w.html#w.ww
Számítástechnika története:
http://www.scitech.mtesz.hu/10kiraly/kiraly_1.htm
http://amirisc.ttk.pte.hu/network/AJ0201.htm
http://www.stud.u-szeged.hu/Berenyi.Bernadett/informatika.htm
Számrendszerek:
http://www.sulinet.hu/ematek/html/szamiras_szamrendszerek.html
http://amigos.amiga.hu/plus4/plus4/szamrendszer.htm
http://www.ady-nagyatad.sulinet.hu/tudastar/informatika/bz/html/3.htm
http://pc2.mfg-kkfhaza.sulinet.hu/Informatika/intro/binary.html
Jegyzetek: http://www.jgytf.u-szeged.hu/~viskolcz/alapismeretek.htm
http://www.jgytf.u-szeged.hu/~viskolcz/wordexcel.htm
http://www.jgytf.u-szeged.hu/~viskolcz/internet.htm
http://www.jegyzetek.hu/jegyzetek.php?targy=34
http://www.uni-miskolc.hu/~wwwfemsz/pascal1.htm
http://www.ady-nagyatad.sulinet.hu/tudastar/informatika/bz/html/1.htm
http://ecdlweb.uw.hu/index.html
http://staff.kzs.hu/tamas/programozas/default.htm
http://www.ujhelyi.sulinet.hu/x3/c3/menu_a.htm
http://www.jaky.sulinet.hu/konyv5/tftanul.html