Access - Adatbázis-kezelés
Fontos: Minden új részfeladat megkezdése előtt zárjunk be a programon belül minden megnyitott ablakot a programon belül!
Importálás: Külső adatok\Szövegfájl
Elindítjuk a Külső adatok átvétele - Szövegfájl ablakot és a Tallózás gombra kattintva kiválasztjuk az importálandó fájlt, majd elvégezzük az alábbi lépéseket:
- Speciális gombra kattintva a kódlap listában kiválasztjuk az Unicode (UTF-8) kódolást.
(Ha ezt elfelejtjük, akkor nem lesznek olvashatóak az ékezetes betűk) - Bejelöljük Az első sor tartalmazza a mezőneveket jelölőnégyzetet!
- Oszloponként ellenőrizzük a mezők adattipusát!
- szöveg: rövid szöveg
- feljegyzés: hosszú szöveg
- (egész) szám: hosszú egész
- valós szám: dupla
- dátum, vagy idő: Dátum/Idő
- logikai: Igen/Nem
- Beállítjuk a kulcsmezőt!
Kulcsmező az a mező, amivel egyértelműen meg tudjuk különböztetni az adatsorokat- Az Acces adjon elsődleges kulcsot a táblához, ha az importált táblából hiányzik a kulcsként megjelölt oszlop.
Ebben az esetben automatikus sorszámozás jön létre, amelynek a mezőtípusa számláló - Magam választom ki: ha ki tudjuk választani a listából (legtöbb esetben ezt választjuk)
- Ne legyen elsődleges kulcs: ha a feladat nem jelöl kulcsmezőt, vagy ha több mezőt is jelöl összetett kulcsként
Ebben az esetben utólag a tarvező nézetben kell beállítani a kulcsmezőket egyszerre kijelölve.
- Az Acces adjon elsődleges kulcsot a táblához, ha az importált táblából hiányzik a kulcsként megjelölt oszlop.
- Végén nevet adunk és elmentjük. Ha a létrejövő táblán kívül egy hiba tábla is létrejön, akkor töröljük ki mindkettőt és kezdjük újra az importálást!
- Utolsó lépésként a létrejött táblát nyíssuk meg tervező nézetben (a tábla nevén jobbklikk) és ellenőrizzük le az adattípusokat!
Tervező nézetben az alábbiakat tegyük:- Ellenőrizzük újra a mezőneveket és mezőtípusokat!
- Ha az access Adott hozzá új kulcsmezőt, akkor nevezzük át!
- Valós szám esetében a szám típusra kattintva lent be tudjuk állítani a tizedesjegyek számát.
- Szöveg típusnál a megengedett karakterek számát.
Adatbáziseszközök\Kapcsolatok:
- Adjuk hozzá a táblákat és zárjuk be a tábla megjelenítése ablakot!
- Rendezzük el szellősen a táblákat a feladatnak megfelelően, majd kössük össze azokat a mezőket, amelyek a feladat ábráján is össze vannak kötve, végül mentsük el!
FONTOS: Ha az importálást, vagy a kapcsolatok létrehozását elrontjuk, akkor nem fognak megfelelően működni a lekérdezések, ezért hiba esetén töröljük ki és kezdjük újra!
Létrehozás\Lekérdezéstervező:
- Adjuk hozzá azokat a táblákat, amelyek szükségesek a lekérdezéshez és zárjuk be a tábla megjelenítése ablakot!
Ehhez azt kell átgondolni, hogy melyik tábla melyik mezőit kell megjeleníteni, sorbarendezni, vagy feltételt beállítani!
Ha kettőnél több tábla is van az adatbázisban és a kapcsolatok ábrán szükséges táblák között is van összekapcsoló tábla, akkor azt is tegyük bele a lekérdezésbe, hogy a kapcsolatok is látszódjanak - Mezőneveken dupla kattintással adjuk hozzá azokat a mezőket, amelyeknek
- meg kell jelennie,
- amelyek szerint rendezni kell,
- vagy valamilyen feltételt kell hozzá beállítani!
Megjelenítés:
- Olvassuk el figyelmesen a feladatot és csak azokat a mezőket jelenítsük meg, amelyeket a feladat kér!
- A többi mezőnél, amelyek például csak a feltétel miatt kellenek, vegyük ki a pipát a jelölőnégyzetből, felesleges oszlopok megjelenítésért is pontlevonás jár!
Sorbarendezés:
- A rendezés sorban az alá a mezőnév alá kattintva, amely szerint rendeznünk kell, be tudjuk állítani a sorrendet növekvő, vagy csökkenő sorrendben.
- A többi mezőnél, amelyek például csak a feltétel miatt kellenek, vegyük ki a pipát a jelölőnégyzetből, felesleges oszlopok megjelenítésért is pontlevonás jár!
- A szöveges adatoknál a növekvő sorrend jelenti az abc sorrendet, a csökkenő sorrend pedig a fordított sorrendet.
- Dátum és idő adatoknál a növekvő sorrend jelenti az időrendi sorrendet.
- Ha a feladat külön nem kéri a csökkenő sorrendet, akkor alapestben a növekvő sorrendet kell beállítani!
Feltételek megadása, általános szabályok:
- Szövegnek idézőjelben kell lennie! (SHIFT+1, vagy SHIFT+2)
Az idézőjelet nem kell odaírni, magától kell megjelennie! - Dátumnak # kettőskereszt közé írva kell lennie (AltGr+v)
A kettőskeresztet nem kell odaírni, magától kell megjelennie!
Szöveg, dátum helyesírását beírás előtt a táblára kattintva tudjuk ellenőrízni. Ha nem úgy írjuk, ahogy a táblában szerepel az adat, akkor nem fog működni a feltétel. - Számok nem kerülnek idézőjelbe
- Igen/Nem logikai értékek nem kerülnek idézőjelbe
Igen = 1, Nem = 0 - Minden feltételt egyenlet/egyenlőtlenség formájában képzeljük el, ahol a mezőnév az egyenlet bal oldalán van, de nem írjuk oda
- = Az egyenlőségjelet nem kell odaírni a feltételhez, de képzeljük oda!
- <kisebb
- <=kisebb egyenlő
- >nagyobb
- >=nagyobb egyenlő
- <>Nem egyenlő
- Is Nullüres mező
- Is Not Nullnemüres mező
- Liketartalmazás (* jelet használunk jokernek)
- Not Likenem tartalmazás (* jelet használunk jokernek)
Példák egyenlőség feltételekre (egyenlősegjelet nem kell beírni) | |||
| mezőnév (mezőtípus) | amit beírunk | megjelenés | jelentés |
|---|---|---|---|
| varos (szöveg) | Budapest | "Budapest" | varos="Budapest" |
| datum (dátum/idő) | 2024.12.24. | #2024.12.24.# | datum=#2024.12.24.# |
| darab (szám) | 24 | 24 | darab=24 |
| foglalt (logikai Igen/Nem) | Igen | Igen | foglalt=Igen |
Példák kisebb, nagyobb, nem egyenlőség feltételekre | |||
| mezőnév (mezőtípus) | amit beírunk | megjelenés | jelentés |
| varos (szöveg) | <>Budapest | <>"Budapest" | varos<>"Budapest" (nem egyenlő) |
| datum (dátum/idő) | >=2024.12.24. | >=#2024.12.24.# | datum>=#2024.12.24.# (nagyobb egyenlő) |
| darab (szám) | <24 | <24 | darab<24 (kisebb) |
Példák szöveges adatok szórészlet tartalmazására a Like szóval* jel akárhány karaktert helyettesít | |||
| mezőnév (mezőtípus) | amit beírunk | megjelenés | jelentés |
| varos (szöveg) | like *da* | Like "*da*" | varos Like "*da*" (megtalál minden adatot, amiben bárhol van da pl: Budapest, Óbuda, Dabas) |
| varos (szöveg) | like da* | Like "da*" | varos Like "da*" (megtalál minden adatot, ami da betűkkel kezdődik pl: Dabas, de Budapest és Óbuda nem fog megjelenni) |
| varos (szöveg) | like *da | Like "*da" | varos Like "*da" (megtalál minden adatot, ami da betűkkel végződik pl: Óbuda, de Dabas és Budapest nem fog megjelenni) |
| varos (szöveg) | not like *da* | Not Like "*da*" | varos Not Like "*da*" (megtalál minden adatot, amiben nincs da pl: Szeged megjelenik, de Budapest, Óbuda, Dabas nem fog megjelenni) |
| varos (szöveg) | not like da* | Not Like "da*" | varos Not Like "da*" (megtalál minden adatot, ami NEM da betűkkel kezdődik pl: Budapest, Óbuda, de Dabas nem fog megjelenni) |
| varos (szöveg) | not like *da | Not Like "*da" | varos Not Like "*da" (megtalál minden adatot, ami NEM da betűkkel végződik pl: Budapest, Dabas, de Óbuda nem fog megjelenni) |
Példák üres, vagy nemüres mezők keresésére az Is szóval | |||
| mezőnév (mezőtípus) | amit beírunk | megjelenés | jelentés |
| varos (szöveg) | null | Is Null | varos Is Null Azokat a sorokat jeleníti meg, amelyeknél a varos mező kitöltetlen, üres |
| varos (szöveg) | not null | Is Not Null | varos Is Not Null Azokat a sorokat jeleníti meg, amelyeknél a varos mező ki van töltve bármilyen szöveggel, nemüres |
Csoportosítás és összesítő függvények:
- Group by csoportosításra használjuk például, ha egy adott mezőben minden érték csak egyszer szerepeljen, vagy ha valamilyen számít ást, összegzést kell készíteni különbő értékekként.
- SUM() összeadó függvény.
- MIN() minimumot, legkisebbet adja meg.
- MAX() maximumot, legnagyobbat adja meg.
- AVG() átlagot számol (Average).
- COUNT() megszámol.
Ha a feladatban nem szerepel, hogy pontosan mit számoljunk meg, akkor válasszunk olyan mezőt, amiről tudjuk, hogy nem tartalmaz kitöltetlen adatokat. Legjobb, ha a kulcsmezőt, vagy nevet, megnevezést számoljuk meg - Where Ha a lekérdezésben feltétel miatt használtunk egy mezőt, de nem kell sem csoportosítani, sem más összegzést végezni, akkor választjuk a Where-t.
Visszatérés:
- Ha a feladat nem kéri az összes adatsort, csak annak első, első 3 helyezettjét, első 20%-at, stb... akkor a Visszatérés menüpontban tudjuk átírni az összes szót a megfelelő értékre.
- Ilyenkor mindenképpen rendezzük sorba az adatokat aszerint, amiből kell a legjobb, leggyorsabb, legrosszabb, stb értékeket kiválasztani, mert sorbarendezés hibás adatok jelennek meg.
Számított 'látszólagos' mezők:
- például ha a feladatban szerepelnek utasmax és a foglalt mezők, de a feladat a szabad helyeket kéri, akkor szabad=utasmax-foglalt képlet adja meg a szabad helyek számát
Ebben az esetben betesszük a lekérdezésbe az utasmax mezőt, majd belekattintva átírjuk utasmax-foglalt-ra.
Enter után automatikusan átíródik kif1: [utasmax]-[foglalt] alakra, ahol a kettőspont elé a kif1-et kitörölve beírhatunk értelmes mezőnevet:
szabad: [utasmax]-[foglalt] - másik példában ha a feladatban szerepelnek indul és a erkezik mezők, de a feladat az utazás időtartamát kéri, akkor utazas=erkezik-indul képlet adja meg az utazás idejét
Ebben az esetben betesszük a lekérdezésbe az erkezik mezőt, majd belekattintva átírjuk erkezik-indul-ra.
Enter után automatikusan átíródik kif1: [erkezik]-[indul] alakra, ahol a kettőspont elé a kif1-et kitörölve beírhatunk értelmes mezőnevet:
utazas: [erkezik]-[indul] - harmadik példában ha a feladatban szerepelnek ujar és a regiar mezők, de a feladat az áremelkedést/árcsökkenést kéri százalékos arányban kifejezezve, akkor szazalek=ujar/regiar*100 képlet adja meg a régi ár százalékában az új árat
Ebben az esetben betesszük a lekérdezésbe az ujar mezőt, majd belekattintva átírjuk ujar/regiar*100-ra.
Enter után automatikusan átíródik kif1: [ujar]/[regiar]*100 alakra, ahol a kettőspont elé a kif1-et kitörölve beírhatunk értelmes mezőnevet:
szazalek: kif1: [ujar]/[regiar]*100