tanari.hu - Nagy Istvan

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:

  1. 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)
  2. Bejelöljük Az első sor tartalmazza a mezőneveket jelölőnégyzetet!
  3. 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
  4. Beállítjuk a kulcsmezőt!
    Kulcsmező az a mező, amivel egyértelműen meg tudjuk különböztetni az adatsorokat
    1. 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ó
    2. Magam választom ki: ha ki tudjuk választani a listából (legtöbb esetben ezt választjuk)
    3. 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.
  5. 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!
  6. 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:

  1. Adjuk hozzá a táblákat és zárjuk be a tábla megjelenítése ablakot!
  2. 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ő:

  1. 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
  2. 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írunkmegjelenésjelenté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)2424darab=24
foglalt (logikai Igen/Nem)IgenIgenfoglalt=Igen

Példák kisebb, nagyobb, nem egyenlőség feltételekre

mezőnév (mezőtípus)amit beírunkmegjelenésjelenté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<24darab<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
Ha a szó elé írjuk, akkor azt jelenti, a szó előtt bármilyen szöveg lehetséges, ha a szó végére írjuk, akkor pedig a szó után bármilyen szöveg lehetséges

mezőnév (mezőtípus)amit beírunkmegjelenésjelenté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 *daLike "*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 *daNot 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írunkmegjelenésjelentés
varos (szöveg)nullIs Nullvaros Is Null Azokat a sorokat jeleníti meg, amelyeknél a varos mező kitöltetlen, üres
varos (szöveg)not nullIs Not Nullvaros 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:

  1. 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]
  2. 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]
  3. 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