BME Építészmérnöki kar Építészeti Ábrázolás Tanszék Adattábla műveletek táblázatkezelővel BMEEPAGA301 Építész informatika 1 2. előadás 2007. szeptember 25. Fejér Tamás
Adatkezelés a táblázatkezelő nem adatbáziskezelő nagy mennyiségű adat biztonságos tárolására alkalmatlan a tábla korlátozott mérete miatt kizárt pl. a BME összes hallgatója adatainak tárolása nehézkes (csak a lap jelszavas védelmével oldható meg) pl. az egyes adatok módosításának jogosultsági szinthez kötése és gyakorlatilag megoldhatatlan a változtatások naplózása alkalmas viszont (főként kisebb mennyiségű adat esetén) adatok (különböző szempontok szerinti) gyors rendezésére adott feltételeknek megfelelő adatsorok kiszűrésére származtatott adatok előállítására diagramok készítésére
Adatok formája Lista Első sorban oszlopfeliratok (mezőnevek vagy kategóriák), csak egy sor lehet Többi sor (rekord) azonos oszlopaiban (mezőiben) a tételeknek azonos típusúnak (szöveg, szám, dátum) és jellegűnek (pl. Név. Neptun kód, etc.) kell lenni Nem lehet benne üres sor és oszlop Űrlap A lista egy elemének (rekordjának) adatai táblázatosan, mezőnév: <érték> párok formájában Összegző táblázat A táblázat elemei összegek, darabszámok, átlagok lehetnek
Adatkezelés mező, rekord (adat)mező numerikus vagy szöveges adatot tartalmazó tároló (adat)rekord egy objektumhoz tartozó különböző típusú adatmezők Asimov Isaac Alapítvány Foundation 1951 Herbert Frank Dűne Dune 1965 Pohl Frederik Az átjáró Gateway 1977 Zsoldos Péter Ellenpont Douglas Garry Hegylakó Highlander 1986
Reláció Reláció: egy táblázat Sorok logikailag összetartozó adatok (egyed) sorok sorrendje közömbös (ha nem, akkor az nem reláció) nem lehet két teljesen egyforma sor Oszlopok azonos mennyiségre vonatkozó adatokat jelenítenek meg (az egyed attribútumai) az oszlopok egyedi névvel rendelkeznek (mezőnév) ne tartalmazzon az egyed más attribútumából levezethető értéket (pl. adóazonosító jel tárolása esetén felesleges a születési idő tárolása) Helyiség neve H. kat. kód Helyiség kategória neve Speciális kategória kód Tűzszakasz Elektromos helyiség G_I ÜZEMELTETÉSI, GÉPÉSZETI ÉS ELEK Gépészet Elektromos helyiség G_I ÜZEMELTETÉSI, GÉPÉSZETI ÉS ELEK Gépészet Elektromos helyiség G_I ÜZEMELTETÉSI, GÉPÉSZETI ÉS ELEK Gépészet Szélfogó K_I Kiegészítő területek könyvtár Közlekedők T3 Könyvtár bejárat K_I Kiegészítő területek könyvtár Közlekedők T3 Ruhatár, táskatár K_I Kiegészítő területek könyvtár Kiegészítő területek T3 Könyvtár bejárat K_I Kiegészítő területek könyvtár Közlekedők T3 Postabontó A_III Könyvtári munkafolyamatok Munkatársi irodák T3
Elsődleges kulcs a reláció egy sorát egyértelműen azonosítja az attribútumok egy olyan csoportja, melyek csak egy sort azonosítanak (egyértelműség) a kulcsban szereplő attribútumok egyetlen részhalmaza sem alkot kulcsot a kulcsban szereplő attribútumok értéke nem lehet definiálatlan (NULL) ID Helyiség neve EG_00_44 Elektromos helyiség EG_00_45 Elektromos helyiség EG_00_48 Elektromos helyiség EK_00_01 Szélfogó EK_00_02 Könyvtár bejárat Konzultáció Tanár Időpont Diák ML 2007.10.01 Hallgató Bálint LP 2007.10.08 Építész Gábor LP 2007.10.08 Ábris János FT 2007.10.03
Redundancia Valamely tényt vagy a többi adatból levezethető mennyiséget ismételten (többszörösen) tároljuk. Hátrányai: Ha egy helyiség kategóriája megváltozik több mezőt kell módosítani a rekordban. Valahányszor egy új helyiség kerül be a relációba, ugyanannak a kategóriának az előző soraiból kell elővenni a helyiség kategória nevét. Ha a Postabontó helyiséget töröljük, megszűnik az A_III kategória is, elvész a kategória kód-név összerendelés Duplikátum: LP 2007.10.08 kétszer fordul elő, mégsem redundancia
Szövegfájl importálás (szinte minden adatot előállító programnak van szöveges adatmentési lehetősége) a rekordok általában a sorok, elválasztásuk kódkarakterekkel történik CR (Cariage Return = kocsivissza) CHR(13) LF (Line Feed = soremelés) CHR(10) CR + LF CHR(13)+CHR(10) a mezők általában oszlopok, elválasztásuk történhet adott karakterszám után tabulátor (Tab) szóköz (Space) vessző (Comma) pontosvessző (Semicolon) egyéb
Dinamikus adatimportálás Data> Import External Data Fájlból (Import Data): szöveges (txt), táblázatos (Excel, html, Lotus 1-2-3), adatbázis (Access, DBase, Paradox) Internetről (New Web Query): tetszőleges weblapon lévő táblázatos adat Adatbázis-kiszolgálótól (New Database Query): MS SQL, ArchiCAD Automatikus frissítés időközöként vagy a fájl megnyitásakor
Műveletek adattáblákkal Rendezés: Data> Sort Szűrés: Data> Filter Keresés más táblából: VLOOKUP() Részösszegek: Data> Subtotal Összefoglaló táblázatok készítése: Data> Pivot Table Reports Változatok vizsgálata: Tools> Scenarios
Rendezés adatok rendezésekor (Adatok Sorba rendezés (Data Sort)) a rendezni kívánt rekordok összes mezője ki kell legyen jelölve a rendezési szempontok sorrendjét helyesen kell beállítsuk (egyidejűleg három szempont adható meg)
Szűrés adatok szűrésekor (Adatok Szűrő AutoSzűrő (Data Filter AutoFilter)) kijelölt cellák alatti (egybefüggő) tartomány szűrhető a mezők szűrése kombinálható (pl. Tisza kezdetű, 10 000 város)
Keresési tábla rekordok valamilyen tulajdonság szerinti osztályozására használhatók keresési függvények (VKERES (HLOOKUP), ill. FKERES (VLOOKUP)) válaszható pontos egyezés keresése, vagy tartományba sorolás a feladat (bonyolultabban) megoldható feltételvizsgálattal is a városok nagyság szerinti kategóriákba sorolása
Számlálás valamely feltételnek megfelelő mezők (illetve az ilyen mezőkkel bíró rekordok) megszámlálására használható a feltételes összegzés függvény (DARABTELI (COUNTIF)) a feladat (pl. új mezők segítségével) megoldható feltételvizsgálattal is az egyes városnagysági kategóriák számossága
Feltételes összegzés valamely feltételnek megfelelő mezők rekordjának akár ugyanazon, akár más mezőjének összegzésére használható a feltételes összegzés függvény (SZUMHA (SUMIF)) a feladat (pl. új mezők segítségével) megoldható feltételvizsgálattal is az egyes városnagysági kategóriákba eső városok összesített lakosságszáma
További adatok lekérdezhető természetesen adott tartomány legkisebb (MIN (MIN)) illetve legnagyobb (MAX (MAX)) értéke, átlaga (ÁTLAG (AVERAGE)), darabszáma (DARAB (COUNT)), és összege (SZUM (SUM)) is
Egyéb információk a munkalap helyéről, ill. pl. a nyomtatás (képernyőmentés) idejéről szóló információk megjelenítése igen hasznos lehet a későbbi visszakereséskor (CELLA("filename") (CELL ("filename")), ill. MOST()/MA() (NOW()/TODAY()))
Példa: Magyarország helységnévkönyve Központi Statisztikai Hivatal (www.ksh.hu) Bal menüben Adatok/Népszámlálás, mikrocenzus, majd tovább a népszámlálás oldalaira (www.nepszamlalas.hu) Egyéb kiadványok, A Magyar Köztársaság Helységnévkönyve, A helységnévkönyv adatai 2. A helységek részletes adatai megyénként Számított mezők: népsűrűség, régió Irányított szűrő: nagy települések (népessége > 10000 fő vagy területe > 100 km²) Részletösszeg: lakosok száma megyénként; népsűrűség településkategóriánként Kimutatás: az előbbiek táblázat formában
Nagyobb listák áttekintése Képernyő felosztása (Window> Split) Ablaktábla rögzítése (Window> Freeze Panes) Tagolás és részletek (Data> Group and Outline) Különböző elemek kiemelése (Format> Cells> Pattern)
Gyakrabban használt függvények 1 Dátum és idő függvények, pl.: MOST() (NOW) aktuális dátum és időpont Információs függvények, pl.: CELLA("filename") (CELL) cellára vonatkozó információk (pl. mentési hely) Szöveges függvények, pl.: NAGYBETŰS( ) (UPPER) szöveg betűinek nagybetűsre alakítása KISBETŰ( ) (LOWER) szöveg betűinek kisbetűsre alakítása BAL( ;n) (LEFT), JOBB( ;n) (RIGHT) szöveg első/utolsó n számú karaktere Matematikai és trigonometriai függvények, pl.: SZUM( ) (SUM) argumentumok összeadása (üres, ill. szöveges cella értéke 0) SZUMHA( ) (SUMIF) adott tartomány adott kritériumnak megfelelő celláinak összegzése vagy azok sorába eső másik oszlop értékeinek összegzése GYÖK( ) (SQRT) szám négyzetgyöke ABS( ), INT( ), PI() szám abszolútértéke, egészrésze, ill. Pi értéke (15 jegyig) SIN( ), COS( ), TAN( ) radiánban mért szög szögfüggvényei RADIÁN( ) (RADIANS), FOK( ) (DEGREES) átváltás fok és radián között
Gyakrabban használt függvények 2 Statisztikai függvények, pl.: MIN( ), MAX( ) értékhalmazban szereplő legkisebb/legnagyobb szám ÁTLAG( ) (AVERAGE) argumentumok számtani középértéke MÉRTANI.KÖZÉP( ) (GEOMEAN) argumentumok mértani középértéke DARAB( ) (COUNT) számok(at tartalmazó cellák) száma az argumentumban DARAB2( ) (COUNTA) értékek (nem üres cellák) száma az argumentumban DARABTELI( ) (COUNTIF) tartomány adott feltételnek megfelelő celláinak száma Mátrix (keresési és hivatkozási) függvények, pl.: FKERES( ) (VLOOKUP ) adott érték sorának keresése egy tartomány bal oldali oszlopában, majd e sor adott oszlopában lévő érték visszaadása eredményül (tartományban keresés csak növekvő sorban!) VKERES( ) (HLOOKUP ) ugyanaz vízszintes tartomány esetében HOL.VAN( ) (MATCH) adott elemnek egy tömbben elfoglalt relatív pozíciója OFSZET( ) (OFFSET) egy hivatkozástól adott sor és oszlop távolságra lévő (adott sor- és oszlopszámú) hivatkozás létrehozása
Gyakrabban használt függvények 3 Logikai függvények, pl.: IGAZ () (TRUE), HAMIS() (FALSE) igaz, ill. hamis logikai érték mint eredmény NEM( ) (NOT) logikai érték ellentétét képzi (hamisból igaz, és viszont) ÉS( ) (AND) igaz, ha a vizsgált feltételek mindegyike igaz VAGY( ) (OR) igaz, ha a vizsgált feltételek legalább egyike igaz HA(feltétel;igaz_ág;hamis_ág) (IF) adott logikai feltétel kiértékelésének eredményétől függően egyik vagy másik értéket adja eredményül (további elágazások létrehozásához egymásba ágyazható)
Copyright BME Építészmérnöki Kar Építészeti Ábrázolás Tanszék munkaközössége Szoboszlai Mihály, Peredy József, Ledneczki Pál, Batta Imre, Csabay Bálint, Strommer László, Fejér Tamás, Kovács András, Kovács András Zsolt 2007.