Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Adatbázis-kezelés Haladó (?)
2
Adatfeldolgozás (?) Az adatfeldolgozás egyik módszere, hogy az adott nyilvántartási feladatot egy erre alkalmas programozási nyelv alatti adatstruktúrában tároljuk. Funkció- vagy programorientált adatfeldolgozás
3
Jellemzői Több file-al dolgozik a program
Egy file-t több prg. is kezelhet Ezek a progik függetlenek egymástól A funkciók megvalósítását programokhoz rendelik …
4
Miért van szükség AB-kezelőkre
Hagyományos adatkezelés hátrányai: Redundancia Inkonzisztencia (ellentmondás) Nem rugalmas, nem párbeszédes Sok a karbantartás Feldolgozási vagy programozási többlet Alacsony adatvédelem Konkrét (kötött) file-rendszer Adatbázis szemlélet, ABKR
5
Adatbázis szemlélet Az adatokat erőforrásoknak tekintjük
EF-ok jellemzői: Pénz, idő Általában kevés Fontos a hatékony kihasználás
6
Az adatbázis-kezelés nem más, mint az adatokkal, mint erőforrásokkal történő gazdálkodás.
Az ABKR mint szoftver, ennek az erőforrásgazdálkodásnak egyfajta automatizált eszköze.
7
Adatbázis rendszer (ABR/DBS)
DBS – Data Base System: Adatbázis (DB – Database) AB-kezelő rendszer (DBMS – Data Base Management System) AB-adminisztrátor (DBA – Data Base Administrator) Felhasználói környezet
8
Adatbázis meghatározások
Nagy mennyiségű, összetartozó adat halmaza Adatoknak és a köztük lévő kapcsolatoknak a rendszere Különböző típusú, de tartalmilag összefüggő, egymás rekordjaira hivatkozó bonyolult adatstruktúra, struktúrált file-rendszer
9
Adatbázis Integrált: több felhasználó és/vagy több felhasználás adatait tárolja együtt Osztott: az AB-hoz több felhasználó férhet hozzá AB fizikai felépítése: AB-file-ok + adatszótár (CDD – Common Data Dictionary)
10
DBMS Professzionális szintű szoftver Adatorientált adatszervezés
Adatkezelési feladatok: AB létrehozása Adatok visszakeresése Adatfelvitel Adatok törlése, módosítása Rendezés Űrlapgenerálás jelentéskészítés
11
Adatok közötti komplex kapcsolatok létrehozása
Többféle hozzáférési mód Szinkronizáció Adatok védelme Adatok integritása Helyreállíthatóság Adatfüggetlenség Eszközfüggetlenség
12
Követelmények Tároló eszköztől való függetlenség
Felhasználói programtól való függetlenség Többféle hozzáférési mód Többen is használhassák egyszerre Gépi hatékonyság Gyors válaszidők EF optimális kihasználása
13
Folytatás…. Könnyű legyen használni Adatvédelem, titkosság
Megbízható, naprakész adatok Rugalmas Kevés redundancia Konzisztencia biztosítása
14
DBMS komponensei DDL (Data Definition Language – adatdefiníciós nyelv)
DML (Data Manipulation Language – adatmanipulációs nyelv) DCL (Data Control Language – adatvezérlő, felügyelő nyelv) QL (Query Language – lekérdező nyelv) Forms Report
15
DBA feladatai AB megszervezése Szoftverkomponensek kezelése
Adatmodell kialakítása Objektumok definiálása Keresési stratégiák megválasztása (index) Jogosultságok adása, szabályozása Szoftverkomponensek kezelése Karbantartás, konzisztencia biztosítása
16
DBS (ABR) architektúra
Külső szint: ahogy az egyes felhasználók látják az AB-t Koncepcionális szint: objektumok szerkezete, kapcsolatok rendszere, hozzáférések Belső szint: fizikai tárolás és elérés módja Fontos az adatfüggetlenség
19
Az adatfüggetlenségről
Logikai adatfüggetlenség Fizikai adatfüggetlenség Teljes adatfüggetlenség
20
Adatmodellezés Azt az eljárást, mely során a valós világ (egy részének) tényeit és az összefüggéseit tükröző adatok lényeges dolgait kiemeljük, adatmodellezésnek hívjuk. A modellezés eredménye az adatmodell.
21
VALÓS VILÁG ADATMODELL
22
Adatfeldolgozási probléma megoldása
Mi a modellezés célja? (specifikáció) Megtervezzük a rendszer alapját képező adatmodellt (logikai AM) A modell megvalósítása egy konkrét ABKR-ben (fizikai AM) Modell tesztelése Dokumentálás Használat, karbantartás, követés
23
Adatmodellek Leképezés eredménye Adatok típusai, előfordulása
Egyedek, tulajdonságok, kapcsolatok halmaza Szintjei: Külső Koncepcionális Belső – fizikai
24
Adatmodellezési módszerek
Hierarchikus Hálós Relációs Objektumorientált
25
Alapelemek és elnevezések
EGYED(RELÁCIÓ)NÉV OSZLOPOK Mezőnevek EGYEDTULAJDONSÁGOK (attributum) SZEMÉLY KULCS Rekord Értékek (Mezők) A sárga sor Egyedhalmaz
26
Egyedtípus (entitás): minden olyan objektum, ami minden más objektumtól megkülönböztethető, amiről adatokat tárolunk, és amit tulajdonságaival kívánunk leírni. Pl. könyv, olvasó, személy
27
Tulajdonságtípus (attribútum): az egyedek jellemző jegyei KULCS: egyértelműen azonosítja az egyedtípus előfordulását Pl. ISBN, Tagsági szám, Személyi szám Gyenge egyedtípus: pl. szülő-gyerek
28
Kapcsolattípus: az egyedek logikai viszonya, összefüggése Lehet teljes és parciális. Típusai:
Nincs kapcsolat 1:1 1:N N-M N-ágú
29
ER (Entity Relationship)
Egyed kapcsolat modell Magas szintű, logikai modell Egyedtípusokból, a köztük lévő kapcsolatokból, és az attribútumokból épül fel. Modellezéskor a tervező dönti el, hogy mit akar tulajdonságokkal és mit új egyedekkel leírni.
30
Komponensei Egyedtípus és a gyenge egyedtípus ábrázolása:
Attribútumok ábrázolása:
31
Kapcsolattípusok ábrázolása:
32
Példa ER modellre
34
Hierarchikus modell Az adatokat fa szerkezetben kell elrendezni
A fa csomópontjaiban és leveleiben helyezkednek el az adatok. A közöttük levő kapcsolat szülő - gyermek kapcsolatnak felel meg. Így csak 1:1 és 1:N típusú kapcsolatok képezhetők le segítségével. Ilyen például az iskola és osztály, vagy akár az osztály és tanuló kapcsolat.
35
Hierarchiadiagram
36
Előfordulásdiagram
37
Hálós adatmodell A kapcsolat egy gráffal írható le.
A gráf csomópontok és ezeket összekötő élek rendszere, melyben tetszőleges két csomópont között akkor van adatkapcsolat, ha őket él köti össze egymással. Egy csomópontból tetszőleges számú él indulhat ki, de egy él csak két csomópontot köthet össze. Ebben a modellben N:M kapcsolat is megoldható. Pl. tanárok – diákok, vevő – rendelés tulajdonos - autó
39
Relációs adatmodell 1. Emberi oldalról közelít a problémához
Az AB-ok logikai szerkezetének a leírására alkalmas eszköz A relációs modell előnyei a következők: Ezt az adatszerkezetet egyszerűen értelmezheti a felhasználó is. A logikai adatmodell relációi egy relációs adat-báziskezelő rendszerbe módosítások nélkül átvihetők. A relációs modellben az adatbázis tervezés a normál formák bevezetésével egzakt módon elvégezhető.
40
A reláció matematikai fogalma
Definíció:Legyenek D1, D2, … , Dn halmazok. Az RD1D2…Dn halmazt, ami megfelel egy táblának, relációnak nevezzük. (Mezőhalmazok Descartes szorzatának részhalmaza). Az így értelmezett reláció egy táblázat. Ha pl. a relációnak m eleme van (d1j,…,dnj), ahol j=1,2,…,m, akkor a táblázat az alábbi lehet. Ki kell elégítenie az ALÁBBI ELŐÍRÁSOKAT: Az egyes relációk egyedi névvel rendelkeznek. A relációk oszlopaiban azonos mennyiségre vonatkozó adatok jelennek meg. Az oszlopok névvel rendelkeznek (mezőnév), melyeknek a reláción belül egyediek. A reláció soraiban a logikailag összetartozó adatok kerülnek tárolásra. A reláció sorainak sorrendje közömbös, de nem tartalmazhat két azonos adatokkal kitöltött sort. Egy sor és oszlop metszésében található táblázat elemet mezőnek nevezzük. A mezők tartalmazzák az adatokat. A mezőkben oszloponként különböző típusú (numerikus, szöveges stb..) mennyiségek tárolhatók.
41
A relációktól általában megköveteljük, hogy ne tartalmazzanak más adatokból levezethető vagy kiszámítható információkat. Például a fenti táblán az érték kiszámítható a rendelkezésre álló adatokból. Hasonlóképpen a személyi szám mellett nincs értelme külön a születési dátumot nyilvántartani..
42
Relációs adatmodell 2. Az adatokat táblázatok soraiban képezzük le.
Összefoglalva a reláció nem más mint egy táblázat, a táblázat soraiban tárolt adatokkal együtt. A relációs adatbázis pedig relációk összessége. A reláció helyett sokszor a tábla vagy táblázat, a sor helyett a rekord, az oszlop helyett pedig az attribútum elnevezés is használatos. Relációk elemei: Sor, Oszlop, Mező
43
A relációs adatmodellezés alapfogalmai
E.F.Codd, 1970 Egyed, tulajdonság, kapcsolat Reláció, rekord Kulcs Anomáliák Redundancia Funkcionális függőség Normál formák
44
Anomáliák: Bővítési Módosítási Törlési
45
Normalizálás Cél: Hogyan? Redundáns adattárolás minimalizálása
Anomáliák megszüntetése Hogyan? Egymást követő, ún. normál formák kialakításával Minden relációval el kell végezni
46
Normalizálatlan forma
Tetszőleges adatstruktúra -> mátrix 1NF Kulcstól való függőségek eltávolítása 2NF Tranzitív függőségek eltávolítása 3NF
47
normalizálatlan 1NF 2NF 3NF
48
Talán egy érthető (?) példa
Üzlet napi forgalmát tartjuk nyilván
50
NAPI_HELYZET(Dátum, Árukód, Árúnév,Ár, Darab,Befizetés)
ÖSSZES DARAB ÁRUKÓD ÁRUNÉV ÁR
51
BEVÉTEL(DÁTUM,ÖSSZEG,BEFIZETÉS)
ÖSSZES Másodlagos függőségek vannak: 2NF
52
ÁRU(ÁRUKÓD,ÁRUNÉV,ÁR) 3NF ÁRUNÉV ÁRUKÓD ÁR
Az Árukód egyértelműen meghatározza az áru nevét, árát. Áru neve és ára között nincs kapcsolat = nincs tranzitív függés! 3NF
53
MENNYISÉG(DÁTUM, ÁRUKÓD,DARAB)
Együtt határozzák meg a Darabot, nem külön -> 2NF Darab egyedül van, nem függ mástól 3NF
54
NAPI_BEVÉTEL(DÁTUM,ÖSSZES)
BEFIZETÉS(ÖSSZES,BEFIZETÉS) ÖSSZES BEFIZETÉS 3NF
55
1NF Tetszőleges adatstruktúrából táblázatot készítünk
Egy mezőbe egy adat kerül NAPI_HELYZET(Dátum, Árukód, Árúnév,Ár, Darab, Befizetés)
56
BEVÉTEL(DÁTUM,ÖSSZES,BEFIZETÉS)
NAPI_HELYZET(Dátum, Árukód, Árúnév,Ár, Darab, Befizetés) BEVÉTEL(DÁTUM,ÖSSZES,BEFIZETÉS) ÁRU(ÁRUKÓD,ÁRUNÉV,ÁR) MENNYISÉG(DÁTUM, ÁRUKÓD,DARAB) NAPI_BEVÉTEL(DÁTUM,ÖSSZES) BEFIZETÉS(ÖSSZES,BEFIZETÉS)
57
Hf. Rendelés száma Vevő kódja Vevő neve Vevő címe Határidő
Rendelés dátuma Cikkszám Cikk neve Cikk egysége Cikk ára Mennyit rendelt
58
Adatbázis-tervezése Az alkalmazások fejlesztésének kulcskérdése. Mivel az alkalmazások nagyon különbözőek lehetnek, ezért csak egy három fázisból álló általános módszert javasolunk: Először meghatározzuk a tárolandó adatok körét, azok egymás közötti kapcsolatait és az adatbázissal szemben felmerülő igényeket. Célok meghatározása, adatok, formátumok, algoritmusok kialakítása. Ezután következik a rendszer tervezés az adatbázis logikai modellje. Egyedek meghatározása Egyedeket leíró tulajdonságok megadása Az adatredundancia minimalizálása normálformákkal. Végül fizikai szinten képezzük le a logikai adatbázis modellt,azaz létrehozzuk a számítógépen az adatbázist.
59
Normálformák 1. 1.NF egy (relációs) táblázat, ha a tábla minden sora különböző. Minden adata egyszerű, nem összetett. RENDEL(Rszám, Vevőkód, Vnév, Vcim, Hatidő, Rendat) TÉTEL(Rszám, Cszám, Cnév, Cegység, Cár, Mennyi) 2.NF ha az adatbázisban összetett kulcs is van, akkor le kell választani az egyszerű kulcsoktól függő attribútumokat. A TÉTEL táblából leválasztható a csak a Cszám-tól függő CIKK tábla CIKK(Cszám,Cnév,Cegység,Cár) TÉTEL(Rszám,Cszám,Mennyi) Az adatok redundanciája még tovább is csökkenthető 3.NF:Ha a 2. normálformás táblák valamelyikében két vagy több attributum tranzitíven függ a kulcstól, akkor ezt is külön táblázatba leválasztjuk. A RENDEL táblázatban a Vevőkód egyértelműen meghatározza a Vnév és Vcím mezőket így a RENDEL táblában kapcsoló mezőként elegendő csak ezt szerepeltetni
60
Normálformák 2.
62
Előírt feltételek egy lakásnyilvántartó és karbantartó adatbázis tervezéséhez
ÖSSZEFÜGGÉSEK: Egy lakáson többször végezhetnek javítást, de egy javítást mindig egy munkalap ír le. A munkalap száma a munka egyedi azonosítója, szerelőnként egyedi szám. Egy munkát egy szerelő végez, de egy szerelő több munkát is végezhet. Egy munkánál egy munkadíjat számítanak, de több anyagot is használhatnak. A JAVASOLT TÁBLÁZAT KITÖLTÉSI SORRENDJE. 1. A sorokba beírjuk a tervezett mezőneveket 2. Az oszlopokban összegyűjtjük az egyes táblákhoz tartozó mezőket, megjelölve azok minőségét (kulcsmező stb.) 3. Meghatározzuk a kapcsolatukat.
63
Javasolt adatbázis tervező űrlap
66
Adatbázis-kezelők szabványosítása
Előnyök: Az adatbázisok hordozhatók a különböző platformok között Az alkalmazók kiképzése gazdaságos Az elsők: ANSI és ISO SQL
67
Az SQL nyelv Az SQL (Structured Query Language= strukturált lekérdező nyelv) nem algoritmikus nyelv, nem tartalmaz algoritmus szerkezeteket (elágazás, ciklus stb.) A lekérdezésen túl más adatkezelési funkciókat is ellát. Az SQL halmaz orientált nyelv, mely a relációs adatmodell adatbázis-kezelő nyelve. Az SQL nyelvnek több verziója van, de van szabványosított változata is. (Mi ezt követjük.) Minden SQL parancs egy kulcsszóval kezdődik, amelyet paraméterek, esetleg újabb kulcsszavak követhetnek. A parancsokat folyamatosan írhatjuk, azonban lehetőség van arra is,hogy a megfelelő strukturáltság biztosítására egyes részeket új sorba írjunk más bekezdéssel.
68
Szabványok SQL-2: SQL-3: OODBMS szabványok Dátum típus 1993
Adatokkal végezhető számítási műveletek OODBMS szabványok
69
Üzemmódjai: Önálló SQL Beágyazott SQL:
Ada, C, Cobol, Fortran, Pascal, dBase
70
Az SQL a következő elemekre osztható:
adatdefiníciós nyelv (DDL) adatmanipulációs nyelv (DML) lekérdező nyelv (DQL) vezérlés (DCL)
71
Adatdefinició Tábla létrehozása Tábla törlése Szerkezetének módosítása
CREATE TABLE táblanév… Tábla törlése DROP TABLE táblanév Szerkezetének módosítása ALTER TABLE táblanév …
72
Adatmanipulációk Rekord felvitel: Törlés: adatok módosítása:
INSERT INTO táblanév…. Törlés: DELETE FROM táblanév WHERE feltétel adatok módosítása: UPDATE táblanév SET … WHERE feltétel
73
Vezérlés Tranzakció kezelés Adatok védelme Máskor….
74
A lekérdező nyelv 1. A lekérdező nyelv egyetlen utasításból áll, mely számos alparancsot tartalmazhat, és a lekérdező utasítások többszörös mélységben egymásba ágyazhatók. Először tekintsük át az egy relációra vonatkozó lekérdezéseket. A projekció műveletét a következő utasítással valósíthatjuk meg: SELECT [DISTINCT] attributum_név, attributum_név, ... FROM reláció_név; A megadott reláció felsorolt attribútumai jelennek meg az utasítás hatására soronként. A DISTINCT módosító megadása esetén csak az egymástól különböző sorok láthatók. Új mezőnevek is megadhatók. Például a Dolgozó reláció Név, Bér, Emelt bér attribútumainak lekérdezése a 10%-os béremelés feltüntetésével: SELECT Név, Bér, 1.1*Bér AS "Emelt bér" FROM Dolgozó; paranccsal történhet. Ha az attributum nevek helyett csak "*"-ot adunk meg, akkor az eredményben a reláció valamennyi attribútuma szerepelni fog: SELECT * FROM Dolgozó;
75
A lekérdező nyelv 2. A szelekció műveletéhez a WHERE <feltétel> záradékot kell hozzáadni. Például adott intervallumba eső bérek Név és Bér adatai: SELECT Név, Bér FROM Dolgozó WHERE Bér BETWEEN 100 AND 500; vagy a 3/b oszt adatainak kigyűjtése: SELECT * FROM Diakok WHERE osztaly = '3/b'; RENDEZÉS Lehetőség van az eredmények rendezésére is az ORDER BY attributum [ASC|DESC], attributum[ASC | DESC], ...; alparancscsal. ORDER BY Nev kiegészítéssel ABC-és lista készíthető. TÖBB TÁBLÁS LEKÉRDEZÉS A dolgozó neve mellé írjuk ki a Bér és Adó értéket névsorba rendezve: SELECT Név, Bér, Adó FROM Dolgozó, Kifizetés WHERE Dolgozó.Tszám = Kifizetés.Tszám ORDER BY Név; Ez másik formában is megadható a JOIN kapcsolóval: SELECT Név, Bér, Adó FROM Dolgozó JOIN Kifizetés ON Dolgozó.Tszám=Kifizetés.Tszám ORDER BY Név;
76
A lekérdező nyelv 3. CSOPORTOK
A lekérdezés eredményét csoportosíthatjuk és a csoportok között is további szelekciót alkalmazhatunk a GROUP BY és HAVING alparancsokkal. SELECT attributumok FROM reláció [WHERE feltétel] GROUP BY attributum [HAVING csoport_feltétel]; Születési hely szerinti csoportban határozzuk meg Dolgozok számát : SELECT Szhely, COUNT (Tszám) FROM Dolgozó GROUP BY Szhely; Gyűjtsük ki azokat a városokat amelyekre igaz, hogy az adott városban született dolgozók átlagfizetése legfeljebb Ft. SELECT Szhely,AVG(Bér) AS ‘Átlagfizetés’ FROM Dolgozó GROUP BY Szhely HAVING AVG(Bér)<120000 Vagy például az ötnél nagyobb létszámú osztályok kigyűjtése: SELECT Osztály, COUNT (*) FROM Diakok GROUP BY Osztaly HAVING COUNT (*) > 5
77
Röviden (=lényeg!) A ZÁRADÉKOK SORRENDJE: FROM (Táblák), WHERE (sorok), GROUP BY (csoport), HAVING (csoportfeltétel), SELECT (oszlopok kiválasztása), ORDER BY (rendezés). LEKÉRDEZÉS esetén SELECT{*|m,m,…}FROM… [WHERE…] [GROUP BY…][HAVING…][ORDER BY…]
78
COUNT(*) az összes rekordot adja.
Az autós példa ÁLTALÁNOS SZABÁLYOK az SQL nyelvre: Nem tesz különbséget a kis és nagybetűk között. A parancs ; -vel végződik. Csak a tizedespontot ismeri. Szöveg ’ ’ vagy ” ” közé, dátum # # közé írandó. Logikai igaz 1 , a hamis 0. A * az összes mezőnevet jelenti. COUNT(*) az összes rekordot adja.
79
Jelenítsük meg az Autó tábla összes rekordját és oszlopát !
SELECT *FROM auto;
80
SELECT rendszam, marka, evjarat ORDER BY marka, evjarat DESC;
Válasszuk ki a rendszám, márka, évjárat oszlopokat márka, majd évjárat szerint úgy, hogy előbb legyenek a fiatalabb autók ! SELECT rendszam, marka, evjarat FROM auto ORDER BY marka, evjarat DESC;
81
Az első három ár szerint rendezve csökkenő sorrendben:
SELECT TOP 3 * FROM auto ORDER BY ar DESC;
82
WHERE (szin="kék" AND evjarat In (1991,1993));
Adott évjáratú kék kocsik listázása: SELECT * FROM auto WHERE (szin="kék" AND evjarat In (1991,1993));
83
WHERE (rendszam Like "Z*" AND szin="fehér");
Z-vel kezdődő rendszámú fehér autók: SELECT * FROM auto WHERE (rendszam Like "Z*" AND szin="fehér");
84
A legdrágább, legolcsóbb, átlagos ár és összérték:
SELECT MAX(ar) AS legdrágább, MIN(ar) AS legolcsóbb, SUM(ar) AS összesen, AVG(ar) AS átlagosan FROM auto;
85
A rendszám és a kor listázása: SELECT rendszam, 2005-evjarat AS kor
FROM auto;
86
GROUP BY marka, evjarat;
Márka és azon belül évjárat szerint csoportosított lista: SELECT marka, evjarat, AVG(ar) AS atlagár FROM auto GROUP BY marka, evjarat;
87
INSERT INTO auto ( rendszam, marka, szin, evjarat, ar )
Új autó bevitele: INSERT INTO auto ( rendszam, marka, szin, evjarat, ar ) VALUES ('RAJ476', 'Trabant', "szürke", 1993, 400);
88
Kék színű autók áremelése 20 %-kal:
UPDATE auto SET ar = 1.2*ar WHERE szin="kék";
89
A szürke színűek törlése:
DELETE * FROM auto WHERE szin=”szürke";
90
FROM auto WHERE marka="Opel");
Az Opelek átlagos áránál olcsóbb Opelek: SELECT rendszam, ar FROM auto WHERE marka="Opel" AND ar<(SELECT AVG(ar) FROM auto WHERE marka="Opel");
91
Azon autók, melyek ára nagyobb, mint bármely Ladáé: SELECT * FROM auto
WHERE ar > ALL (SELECT ar FROM auto WHERE marka="Lada");
92
UJAUTÓ tábla elkészítése:
CREATE TABLE ujautó(rendszam text(6), marka text(15),szin text(10), ar SHORT);
93
ADD COLUMN ujoszlop SHORT;
Új oszlop hozzáadása: ALTER TABLE auto ADD COLUMN ujoszlop SHORT;
94
FROM auto WHERE (((auto.ar)<xxxx) AND ((auto.marka)="Suzuki"));
xxxx Ft-nál olcsóbb Suzukik összértéke: SELECT Sum(auto.ar) AS SumOfar FROM auto WHERE (((auto.ar)<xxxx) AND ((auto.marka)="Suzuki"));
95
Az autók márkája és kora:
SELECT auto.marka, Avg(2005-[evjarat]) AS kor FROM auto GROUP BY auto.marka;
96
GROUP BY auto.marka, auto.evjarat;
Az autók átlagára márka és azon belül évjárat csoportosításban: SELECT auto.marka, auto.evjarat, Avg(auto.ar) AS AvgOfar FROM auto GROUP BY auto.marka, auto.evjarat;
97
Évjárat és márka kereszttábla átlagárakkal:
TRANSFORM Avg(auto.ar) AS AvgOfar SELECT auto.evjarat FROM auto GROUP BY auto.evjarat PIVOT auto.marka;
98
WHERE (((1.5*[ar])<XXXX));
Azok a márkák, amelyek 50 %-al emelt ára kisebb XXXX ezer Ft-nál: SELECT auto.marka, auto.ar, 1.5*[ar] AS EMar FROM auto WHERE (((1.5*[ar])<XXXX));
99
TRANSFORM Count(auto.rendszam) AS CountOfrendszam
SELECT auto.marka, Count(auto.[rendszam]) AS [A következő összege] FROM auto GROUP BY auto.marka PIVOT auto.evjarat;
100
WHERE (((auto.marka)="Opel")))));
Írassuk ki a legrégebbi Opel rendszámát,márkáját és évjáratát! SELECT auto.rendszam, auto.marka, auto.evjarat FROM auto WHERE (((auto.marka)="Opel") AND ((auto.evjarat)=(SELECT Min(auto.evjarat) AS MinOfevjarat WHERE (((auto.marka)="Opel")))));
101
WHERE (((auto.marka)="Suzuki")))));
A legolcsóbb Suzukinál kisebb áru autók rendszáma, márkája, ára: SELECT Min(auto.ar) AS MinOfar FROM auto WHERE (((auto.marka)="Suzuki")); (1800) SELECT auto.rendszam, auto.marka, auto.ar WHERE (((auto.ar)<(SELECT Min(auto.ar) AS MinOfar WHERE (((auto.marka)="Suzuki")))));
102
Validálás Megfelelő adattartalmat biztosít Ellenőrzés: Formai:
Dátumértékek valódisága Numerikus adatok karakterei Tartalmi Intervallum ellenőrzés Egyediség ellenőrzése CDV (Checking Decimal Verify)
103
Adatok védelme Hálózatos felhasználás Több felhasználó hozzáférése
Eszközök->adatvédelem: Jelszó Csoportos jogok Titkosítás Tranzakciók
104
Lehetőségek Excelben: Adatok->Érvényesítés Accesben Pascalban
105
Access… Adattípus Mezőtulajdonságok: Formátum Bemeneti maszk
Alapértelmezett érték Érvényességi szabály Érvényességi szöveg Kötelező Nulla hosszúság engedélyezése
106
Azonosítók és képzési szabályaik
107
Személyi azonosító 11 jegyű jelsorozat
1: a nem, az évszázad és az állampolgárság azonosítása Állampolgárság után előtt született férfi nő magyar 1 2 3 4 nem magyar 5 6 7 8
108
1997.01.01. és 1999.12.31 között 1999.12.31 után született férfi nő 1
után született férfi nő 1 2 3 4
109
8-10. jegy egy sorszám az azonos napon születettek között
2-7. jegy a születési év utolsó két jegye, a hónap és a nap kétjegyű sorszámát adja 8-10. jegy egy sorszám az azonos napon születettek között 11. jegy ellenőrző kód Összegezzük a jegyek és a sorszámaik szorzatát, majd vegyük a 11-el vett maradékot. Ahol ez 10, azok nem adhatóak ki. A sorszámozás előtt balról, utána jobbról történik.
110
Adóazonosító jel Tízjegyű számsor Az 1. jegy a 8
jegy a születési időpont és között eltelt napok száma 7 – 9. azonos napon születettek között kiosztott véletlen szám 10. Ellenőrző szám
111
A 10. jegy képzése Összegezzük a jegyek és a sorszámaik szorzatát, majd tekintjük a 11-el vett maradékot. Ahol ez 10, azok nem adhatóak ki.
112
TAJ szám 9 jegyű azonosító 1-8 folytonosan kiadott sorszám
9. jegy az ellenőrző CDV kód. A páratlan helyeken állókat 3-mal, a páros helyeken állókat 7-tel megszorozzuk, és a szorzatot összeadjuk. A CDV az összeg 10-es maradéka.
113
Vény azonosító Speciális, zárt rendszerben használt EAN 13 vonalkód.
2 – 6. jegyek az orvos azonosítója 8 – 12. folyamatos sorszám 13. Ellenőrző kód, az EAN 13-nak megfelelő
114
ISBN (International Standard Book Number)
10 jegyű azonosító 10 – 8. ország kód (Mo.: 963) 7 – 5. kiadó kódja 4 – 2. kiadvány azonosító 1. Ellenőrző kód: A sorszámmal vett szorzatokat összegezzük. 11-es maradékot kivonjuk 11-ből, ha az 1-nél nagyobb, egyébként 0 esetén 0, 1 esetén X
115
EAN 13 és az ISBN Az ISBN EAN 13 kóddal is befoglalható:
1 – jegyek mindig 4 – 12 az ISBN jegyek 13 EAN 13 ellenőrző, így az ISBN ellenőr nem kell
116
Bankkártyaszám és a Luhn algoritmus
Balról jobbra haladva a páratlan sorszámúakat megszorozzuk 2-vel. Ha a szorzat értéke > 9, akkor kivonunk 9-t belőle. A számokat összegezzük. Ha a kapott érték 0-ra végződik, akkor helyes a bankkártyaszám.
117
Az EAN 13 vonalkód 13 numerikus karakter
1 – 2, vagy 1 – 3 a termék származási helye. Pl.: Mo. 599, Olasz: 80-83, belső használatra: 20-29 Következő 4 v. 5 a termék gyártója A további karakterek a 12-ig a terméket azonosítja 13. Ellenőrző kód
118
EAN 13 ellenőrző kód Paritásnak megfelelően 1-el illetve 3-mal szorozzuk az első 12 jegyet. A 13. jegy az a szám, ami a szorzatösszeget tízzel oszthatóvá egészíti ki. Az EAN 8 kód ua. EAN13 az első 5 jegy nélkül. Ell.: Az első 5 jegy 0.
119
Pascal megvalósítása Ellenor.pas Ellenor.exe
120
Tranzakció-kezelés
121
Fizikai tárolás, elérési mód
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.