Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
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ú
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.