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

Adatbázis-kezelés.

Hasonló előadás


Az előadások a következő témára: "Adatbázis-kezelés."— Előadás másolata:

1 Adatbázis-kezelés

2 Adatbázis-kezelés Középszint: Emelt szint: 1-2 tábla
SQL-nyelv és lekérdező-rács használata Űrlap és jelentés készítés Emelt szint: több tábla (kapcsolatok) több elméleti háttér több alkotó jellegű probléma

3 Függvények: alapfüggvények  4-5 fajta
Lekérdezés típusok: Választó Frissítő Törlő Táblakészítő Hozzáfűző Kereszttáblás Függvények: alapfüggvények  4-5 fajta

4 Árpád-ház Milyen, ha csak elméleti feladat?
Egy, kevés rekordú adattábla SQL lekérdezés 2 értelmezés 2 alkotás Érettségin gyakorlat, gépes megoldás Milyen szoftver? Emelt szintű, de a feladat nehézsége közepes. Feladatgyűjteményben sok pontból áll.

5 Megoldás előkészítése
Adatbázis létrehozása Adattábla importálása (szoftver függet-lenség biztosítása!) Kulcs beállítása Mezőtípusok vizsgálata Lekérdezések mentése adott néven (!) Űrlap és jelentés készítés

6 Endre SELECT Gyermek, Meddig-Mettől AS [Uralkodás ideje] FROM Család
WHERE Gyermek like '*Endre*'; Szűrés és számított értékek

7 Gyerekek SELECT Szülő, Count(Gyermek) AS [Gyerekek száma] FROM Család
GROUP BY Szülő; Csoport alkotás

8 HosszSorrend SELECT Gyermek, Meddig-Mettől AS [Uralkodás ideje]
FROM Család WHERE Király ORDER BY Meddig-Mettől DESC; Rendezés számított értékek alapján

9 Béla apja SELECT Szülő FROM Család WHERE Gyermek='IV. Béla';

10 István nagyapja Allekérdezés SELECT Szülő AS Nagyszülő FROM Család
WHERE Gyermek=(SELECT Szülő WHERE Gyermek='IV. István'); Allekérdezés

11 Királyok száma Többféle megoldás van
SELECT Count(Gyermek) AS [Királyok száma] FROM Család WHERE ( (Mettől<1000) and (Meddig>=1000)) or ((Mettől<=1099) and ((Meddig>1099)) or (Mettől>=1000) and (Meddig<=1099)) and Király; Többféle megoldás van

12 Géza utániak SELECT Count(Gyermek) AS [királyok száma] FROM Család
WHERE Mettől>=(SELECT Meddig WHERE Gyermek='II Géza') and Király; Összetett szűrés

13 8. és 9. feladat Űrlap Jelentés készítés Szoftverek alkalmasak-e?
Varázsló használata kényelmes Oldal beállítások (fejléc, lábléc tartalma) Tulajdonság változtatás Szoftverek alkalmasak-e?

14 Párbajtőr feladat közép szintű feladat
adatbevitel, illetve konvertálás a választó lekérdezések dominálnak függvények használata csoportosítás 2 jelentéskészítés standard feladatsor

15 Párbajtőr pontozási útmutató
Adatbázis létrehozása 1 pont Adattábla importálása 1 pont Kulcs beállítása 1 pont

16 A: SELECT Név, Év, Helyszín
FROM Egyéni WHERE Helyezés=1 ORDER BY Év; 1 pont

17 B: SELECT Év, Helyszín, Helyezés FROM Egyéni WHERE Név='Kulcsár Győző'; 1 pont

18 C: SELECT Név, Helyezés FROM Egyéni WHERE Helyszín='Atlanta' ORDER BY Helyezés; 1 pont

19 D: SELECT Count(*) AS [Érmek száma] FROM Egyéni WHERE Ország='MA'; 1+1 pont

20 E: SELECT Név, Count(*) AS [Helyezések száma] FROM Egyéni WHERE Ország='MA' GROUP BY Név; 1+1 pont

21 F: SELECT Név, Count(*) AS [Aranyérmek száma] FROM Egyéni WHERE Helyezés=1 GROUP BY Név HAVING Count(*)>1; 1+1 pont

22 G: SELECT Ország, Count(*) AS [Aranyérmek száma] FROM Egyéni WHERE Helyezés=1 GROUP BY Ország; 1+1 pont

23 H: SELECT Helyszín, Count(Helyszín)/3 AS [Olimpiák száma] FROM Egyéni GROUP BY Helyszín HAVING Count(Helyszín)>3; 1+1 pont

24 I: jelentés 1 pont 1+1 pont J: jelentés 1 pont Összesen: 20 pont
J:SELECT Ország, Helyezés, Count(*) AS Darab FROM EgyéniGROUP BY Ország, Helyezés ORDER BY Ország; 1+1 pont J: jelentés pont Összesen: 20 pont

25 Verseny feladat Emelt szint Adatbázis létrehozás, táblák definiálása
Adatfeltöltés  idő szükséglet Lekérdezésekhez melyik tábla kell? Kapcsolatok Függvények használata Csoportosítás és allekérdezés használata

26 Adatbázis létrehozása 1 pont
Versenyző tábla: mezőnevek és adattípusok 1 pont Eredmény tábla: mezőnevek és adattípusok 1 pont

27 Iskola tábla: mezőnevek és adattípusok 1 pont
Versenyző tábla adatainak felvitele 1 pont Eredmény tábla adatainak felvitele Iskola tábla adatainak felvitele 1 pont

28 A: SELECT Versenyző.Név, sum(eredmény.pontszám) AS összpontszám FROM Versenyző, Eredmény WHERE Versenyző.VersenyzőAZ=Eredmény.VersenyzőAZ GROUP BY Versenyző.Név ORDER BY sum(eredmény.pontszám); 5 pont

29 B: SELECT FelSorszám, Max(Pontszám) AS [Maximális pontszám] FROM Eredmény GROUP BY FelSorszám; 2 pont

30 C: SELECT Iskola.Iskolanév, Iskola.Város, Count(Versenyző.IskolaAZ) AS [Indulók száma] FROM Versenyző, Iskola WHERE Iskola.IskolaAZ = Versenyző.IskolaAZ GROUP BY Versenyző.IskolaAZ, Iskola.Iskolanév, Iskola.Város; 2 pont

31 D: SELECT Versenyző.Név FROM Versenyző, Eredmény WHERE (Versenyző.VersenyzőAZ = Eredmény.VersenyzőAZ) and (Pontszám=0) GROUP BY Versenyző.Név ORDER BY Versenyző.Név; 3 pont

32 E: SELECT DISTINCT Versenyző.Név, Iskola.Iskolanév, Iskola.Város, Iskola.Utca, Iskola.Házszám FROM Versenyző, Eredmény, Iskola WHERE (Versenyző.VersenyzőAZ = Eredmény.VersenyzőAZ) and (Iskola.IskolaAZ=Versenyző.IskolaAZ) and (Pontszám>10); 2 pont

33 F: SELECT Név, Iskola.Iskolanév FROM Versenyző, Iskola, Eredmény WHERE (Versenyző.IskolaAZ=Iskola.IskolaAZ) and (Versenyző.VersenyzőAZ = Eredmény.VersenyzőAZ) and (Iskola.Város<>'Budapest') and (FelSorszám='I') and Pontszám= ( SELECT Max(Pontszám) FROM Versenyző, Eredmény,Iskola WHERE (Versenyző.VersenyzőAZ = Eredmény.VersenyzőAZ) and Versenyző.IskolaAZ=Iskola.IskolaAZ) and (FelSorszám='I') and (Iskola.Város<>'Budapest')); 5 pont

34 A jelentés a versenyzők összpontszámairól 2pont
Jelentést a versenyzők adatairól iskolánként 2 pont Összesen: 30 pont

35 Királyok Középszintű feladat Hasonlít az Árpád-ház feladathoz
Egyszerűbb lekérdezések a fele Függvény, allekérdezés van Csoport alkotás nincs Jelentéskészítés

36 Névsor SELECT * FROM Uralkodó ORDER BY Név 2 pont

37 Lászlók SELECT Név, Végső-Kezdő AS [Uralkodásuk ideje] FROM Uralkodó
WHERE Név Like '*László*' And Név Not Like '*Ulászló*‘ 3 pont

38 HosszSor SELECT Név FROM Uralkodó ORDER BY Végső-Kezdő DESC 2 pont

39 Istvánok száma SELECT Count(*) AS [Istvánok száma] FROM Uralkodó
WHERE Név like '*István*‘ 2 pont

40 Budai udvar SELECT Név FROM Uralkodó WHERE (Kezdő<= 1347) and
(1347 <= Végső) 2 pont

41 Királyok száma SELECT Count(*) AS [Királyok száma] FROM Uralkodó
WHERE ((Kezdő<1300) and (Végső>=1300)) or ((Kezdő<=1399) and (Végső>1399)) or ((Kezdő>=1300) and (Végső<=1399)) 3 pont

42 Mátyás előtt SELECT Count(*) AS [Királyok száma Mátyás előtt]
FROM Uralkodó WHERE Végső < (SELECT Kezdő WHERE Név='Mátyás') 4 pont

43 10 évnél többet uralkodók jelentés
Lászlók jelentés 2 pont

44 Nobel-díj középszintű nagyon jó ötlet
importálásnál már van probléma (,) nevek alakja szokatlan QBE-ráccsal könnyen megoldható feladatok

45 magyar: SELECT * FROM nobel WHERE ország='H'; Bárány: SELECT díj, ország WHERE név like '*Bárány*';

46 Wigner: SELECT díj, évszám, ország FROM nobel WHERE név like '*Wigner*'; NL: SELECT név WHERE ország="NL";

47 dijak: SELECT TOP 1 díj, count(*) FROM nobel GROUP BY díj ORDER BY 2 DESC; hiany: SELECT évszám, díj WHERE név = '-';

48 egyszer: SELECT ország, count(*) FROM nobel GROUP BY ország HAVING count(*)=1; rangsor: WHERE ország not like '-' ORDER BY 2 DESC;

49 1939: SELECT név, díj, évszám FROM nobel WHERE évszám between 1901 and 1939 ORDER BY évszám, díj;

50 Összegzés Van: Nincs: szűrés rendezés csoportosítás csoport szűrés
függvény jelentés Nincs: allekérdezés űrlap

51 Próba dolgozatok javítása!
részpontszámok meghatározása eredmények összehasonlítása

52 Termékek középszint ↔ több tábla A kapcsolat megadás Access specifikus
A lekérdezésben úgyis szükség van rá, szűréssel is jó Táblák létrehozása és importálása Kulcs mező megadás Mező formátum állítása

53 Megoldás A: SELECT Terméknév, Szín, Méret, Ár, Raktárkészlet
FROM Termékek WHERE Méret="L" AND Raktárkészlet>=5 ORDER BY Ár DESC 2 pont

54 B: SELECT Kategóriák.Kategórianév, Avg(Termékek.Ár) AS AvgOfÁr FROM Kategóriák INNER JOIN Termékek ON Kategóriák.Kategóriakód = Termékek.Kategóriakód GROUP BY Kategóriák.Kategórianév 2 pont

55 C: SELECT Termékek.Terméknév, Kategóriák.Kategórianév, Termékek.Szín, Termékek.Méret, [Termékek]![Ár]*[Termékek]![Raktárkészlet] FROM Kategóriák INNER JOIN Termékek ON Kategóriák.Kategóriakód = Termékek.Kategóriakód WHERE (((Kategóriák.Kategórianév)="pamutnadrág" Or (Kategóriák.Kategórianév)="vászonnadrág")) ORDER BY Termékek.Terméknév 3 pont

56 D: SELECT Termékek.Terméknév, Kategóriák.Kategórianév, Termékek.Méret, Termékek.Ár, Termékek.Raktárkészlet FROM Kategóriák INNER JOIN Termékek ON Kategóriák.Kategóriakód = Termékek.Kategóriakód WHERE Kategóriák.Kategórianév Like "*top" AND Termékek.Raktárkészlet>0 2 pont

57 E: SELECT Kategóriák.Kategórianév, Sum(Termékek.Raktárkészlet) AS SumOfRaktárkészlet FROM Kategóriák INNER JOIN Termékek ON Kategóriák.Kategóriakód = Termékek.Kategóriakód GROUP BY Kategóriák.Kategórianév HAVING Kategóriák.Kategórianév="kötött pulóver„ 2 pont

58 F: SELECT Terméknév, Raktárkészlet, Ár FROM Termékek WHERE Ár Between 5000 And 10000 ORDER BY Raktárkészlet, Terméknév 2 pont

59 G: űrlap H: jelentés Űrlap- és jelentés-varázslóval megoldhatók

60 Számonkért fogalmak, műveletek
A: szűrés B: kapcsolat, csoport alkotás C: számított érték, rendezés D: szűrés E: csoport szűrés és függvény használat F: több szintű rendezés G: űrlap H: jelentés, rendezett lista

61 Próba dolgozatok javítása!
részpontszámok meghatározása eredmények összehasonlítása

62 Vízi sporteszközök kölcsönzése
emelt szint feladattípus, szerkezet, szöveg jó pontozás részletes, de hiányzik: megoldás adatbázis SQL kód a pontozáshoz elég-e a leírás?

63 Tanfolyam (feladat problémái)
középszintű feladat A 4 adattáblát létre kell hoznia sok idő a gépelés Irányítószám táblát nem használjuk Dolgozó.Irányítószám mező felesleges több szóból álló mezőnevek kerülendők típus nem egyértelmű több mezőnél Elsődleges kulcs nem értelemszerű

64 Űrlapokat és jelentéseket milyen néven mentse? Nyomógomb létrehozása:
nem középszint („egyszerű űrlap”) nem minden adatbázis-kezelő ismeri pozícionáló nyomógomb jelentése ha bele is tesszük, utolsó legyen 3. és 4. feladat azonos típusú


Letölteni ppt "Adatbázis-kezelés."

Hasonló előadás


Google Hirdetések