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. Középszint: –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.

Hasonló előadás


Az előadások a következő témára: "Adatbázis-kezelés. Középszint: –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."— Előadás másolata:

1 Adatbázis-kezelés

2 Középszint: –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 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 SELECT Szülő AS Nagyszülő FROM Család WHERE Gyermek=(SELECT Szülő FROM Család WHERE Gyermek='IV. István'); Allekérdezés

11 Királyok száma SELECT Count(Gyermek) AS [Királyok száma] FROM Család WHERE ( (Mettől =1000)) or ((Mettől 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 FROM Család WHERE Gyermek='II. Géza') and Király; Összetett szűrés

13 8. és 9. feladat Űrlap Jelentés készítés –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ása1 pont Adattábla importálása1 pont Kulcs beállítása1 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és1 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és1 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ása1 pont Versenyző tábla: mezőnevek és adattípusok1 pont Eredmény tábla: mezőnevek és adattípusok1 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 1 pont 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)) or ((Kezdő 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ő FROM Uralkodó 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 FROM nobel 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 FROM nobel 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 FROM nobel WHERE név = '-';

48 egyszer: SELECT ország, count(*) FROM nobel GROUP BY ország HAVING count(*)=1; rangsor: SELECT ország, count(*) FROM nobel WHERE ország not like '-' GROUP BY ország 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: 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 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 1.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 2.Elsődleges kulcs nem értelemszerű

64 3.Űrlapokat és jelentéseket milyen néven mentse? 4.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. Középszint: –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."

Hasonló előadás


Google Hirdetések