Adatbázis rendszerek I Adatkezelés és adatbázis kezelés alapfogalmai ME- GEIAL Dr. Kovács Lászl szló
Adatbázis témak makör tárgyai BSc: Adatbázis rendsz. I Adatbázis rendsz. II XML adatkezelés Oracle / SQLServer rendszergazda Adatelemzés MSc: Adatbázis rendszerek Adatelemzés és adatbány nyászat Szövegb vegbány nyászat
Adatbázis témak makör tárgyai Adatbázis rendszerek I - Adatkezelési alapok, Excel adatkezelés - Excel, programozási alapok, DBMS alapfogalmak - Fejlesztés s lépései, ER, EER, UML modellek - Hálós adatmodell, Reláci ciós séma - Reláci ciós algebra - SQL alapok - SQL SELECT - SQL speciális elemek - normalizálás - mysql DBMS struktúra, ra, SQL specifikáci ció - mysql DBA funkciók - SQL API, PowerShell DBMS, - mysql tárolt eljárások, Excel ODBC Oracle, mysql, Excel
Informáci ciós rendszerek Adatok mindenütt NSA telekommunikáci ció bankszektor GEIAL Kovács László kereskedelem kutatás
Informáci ciós rendszerek Adatkezelés szerepe alkalmazás szerver adatbázis szerver Web szerver kliensek GEIAL Kovács László
Adatkezelés alapjai program = algoritmus + adatstruktúra ra (Wirth, 1975) adattípus = műveletek + adatstruktúra ra + integritás Adatstruktúra ra felépítés alap perzisztencia ideiglenes permanens Skalár i, s, d,.. Rekord R(m 1,,m,m n ) Halmaz S(m) származtatott (egymásba ágyaz gyazás) Pointer P(m)
Adatkezelés alapjai Származtatott típusok adattípus = műveletek + adatstruktúra ra + integritás Szekvencia : S(R(i,m)) 2-dimenzi dimenziós tömb : S(R(i,i 1 2,m)) bináris ris-fa S(R(P(),P(),m)) skip-lista S(R(S(P(),i),m)) hash-tábla S(R(i,S(m))) gráf S(R(S(P(),m),m)) trie S(R(S(P()),m))
Adatkezelés alapjai Származtatott típusok adattípus = műveletek + adatstruktúra ra + integritás Szekvencia : S(R(i,m)) tömb : init(i), get(i), set(i,m) lista : init(i), get(i), set(i,m), insert(i,m), remove(i) verem : init(i), pop(), push(m), is_empty(), is_full() várakoz rakozósor : init(i), remove(), add(m), is_empty(), is_full()
Adatkezelés alapjai Származtatott típusok adattípus = műveletek + adatstruktúra ra + integritás Halmaz S(m) set : nincs ismétl tlődő elem multi-set (bag) : lehet ismétl tlődő elem
Adatkezelés alapjai Műveletek költs ltsége Nem a tényleges időtartamot mérj rjük közvetlen zvetlenül Lényeg: az elvégzett műveletsz veletszám a méret függv ggvény nyében Elegendő a költs ltségf gfüggv ggvény jellegét ismerni O(g) = {f m,x0 : x x > x0: f(x) < m g(x) } memória művelet Költs ltségf gfüggv ggvény: diszk IO művelet helyfoglalás
Adatkezelés alapjai Műveletek költs ltsége Költs ltségf gfüggv ggvény: Buborék rendezés listában: O(N 2 ) Gyors rendezés : O(Nlog(N)) Elem beszúrás s verembe : O(1) Két (nem rendezett) vektor egyezősége: ge: O(N 2 ) vagy O(Nlog(N))
Adatkezelés alapjai Perzisztens adattárol rolás Főbb dilemmák: - a csak tárol rolás megnehezíti a kezelést - ha van támogat mogató kezelés (pl. keresés) s) akkor azt implementálni lni kell a kezelőben - nem lehet minden (jövőbeli) struktúrára ra felkész szülni - a kezelő megadott struktúrákat kat fog csak támogatni
Adatkezelés alapjai Struktúrák k konverziója 1. Az adatszerkezetnél az származtatott struktúrák k lebonthatók alap struktúrákra kra (triviális) 2. A pointer átalak talakíthat tható pointer-mentes struktúrára ra P() helyett R() A B 3 A 6 6 B Minden program struktúra ra felírhat rható sztring, rekord és lista felhasználásával A műveletek konverziója már nagyobb költs ltséggel jár
Adatkezelés alapjai Struktúrák k konverziója Gráf konverziója: S(R(S(P(),m),m)) => R(S(R(i,m)),S(R(i,i,m))) a x y c b 1 2 3 a b c 1 1 2 3 x y move(a,x) i = Get_id(a) j = get_next(i,x) O(1) O(N) O(log(N))
Szintek Adatkezelés alapjai állom llománykezel nykezelő tábl blázat kezelő desktop adatbázis multiuser adatbázis elosztott adatbázisok adattárh rházak GEIAL Kovács László funkciók API rugalmasság
Excel adatkezelés alapjai Adatok tárol rolása: tábl blázatok Tábl blázat szerkezete: sorok oszlopok cella c(s,o) Közvetlen műveletek: sorba rendezés szűrő (szelekció) aggregálás Ért rtékellen kellenőrz rzés: cella adattípus Főmen menü Adatok Sorba rendezés Szűrő Rész szösszegek sszegek Érv rvényes nyesítés megszorítások sok (érv rvényes nyesítés) s) GEIAL Kovács László
Excel adatkezelés alapjai Szelekció megadása külön tábl blázatban elemi(qbe) formula mező1 mező2 mező3 >érték =érték <érték soron belül l AND kapcsolat sorok között OR kapcsolat A mezőhivatkoz hivatkozás a képletbe kerül (=oszlopcimke) rsz tipus ar r11 skoda 39,00 r5 skoda 38,00 r2 opel 36,00 tipus tipus ar =opel >30.0 =fiat >30.0 =C2 > 24 GEIAL Kovács László
Excel adatkezelés alapjai összetett műveletek makro programozás VB makro megírása Főmen menü Eszközök Makró Makrók Létrehoz trehozás Szerkesztés indító nyomógomb Főmen menü Nézet Eszközt ztárak Űrlapok Nyomógomb GEIAL Kovács László
Excel adatkezelés alapjai Makro mintaprogram: a rendszám egyediségének ellenőrz rzése GEIAL Kovács László Sub ellen1() ss1 = 0 For i = 3 To 10 k1 = Sheets(1).Cells(i, 1) s1 = 0 For j = i + 1 To 10 k2 = Sheets(1).Cells(j, 1) If k1 = k2 Then s1 = 1 End If Next j If s1 = 1 Then ss1 = 1 MsgBox (k1 & " nem egyedi") End If Next i If ss1 = 0 Then MsgBox ("egyediseg rendben") End If End Sub dinamikus változ ltozók ciklus cella hivatkozás elágaz gazás üzenet kiírás pozíci ciók bebetonozása
Excel adatkezelés alapjai VBA alapjai: - objektum alapúság - esemény vezérelts reltség - interpreteres - dinamikus változ ltozó kezelés - kapcsolat WIN OS maggal - modularizált lt
Excel adatkezelés alapjai Excel VBA objektum modell Application Workbook Worksheet Range Cells ActiveSheet forr: Kovalcsik Géza, G Excel programozása Application.Workbooks(1).ActiveSheet.Range( ).Font.Size
Excel adatkezelés alapjai WorkBook események: (IDE Thisworkbook) - workbook_open - workbook_close - workbook_activate - workbook_beforeprint Worksheet események: (IDE Munka1) - activate - change - deactivate - calculate - selectionchange - beforerightclick - beforedoubleclick Target object Cancel object
Excel adatkezelés alapjai Form objektumok - commandbutton - list - combobox - textbox - label - picture Commandbutton objektum események: - click - dblclick - gotfocus - keypress - lostfocus - mousedown - mouseup
Excel adatkezelés alapjai Option Explicit : deklarált lt változ ltozók változ ltozó deklaráci ció: dim v as tip, dim v(m) as tip,.. const v = e IO elemek: Form elemek: MsgBox( ) InputBox( ) CommandButton TextBox Spec. Operátorok: & ^ = SET =
Excel adatkezelés alapjai Program egységek: gek: Module function f() as tip f = end function sub n(). end sub Láthat thatóság v static v public v pivate v eljárás szintű lokális lis eljárás szintű statikus module szintű globális lis module szintű lokális lis
Excel adatkezelés alapjai vezérl rlési elemek: for i =e to v next i for each x in h next do while f loop do until f loop do loop while f
Excel adatkezelés alapjai vezérl rlési elemek: if f then else end if select case v case f then case else end select
Excel adatkezelés alapjai Option explicit Private Sub CommandButton1_Click() Dim terulet As Range Dim x As Object ThisWorkbook.Worksheets(1).Select Set terulet = Range("a1", "c3") For Each x In terulet.cells x.value = 2 Next End Sub
Hibakezelési elemek: Excel adatkezelés alapjai ON ERROR művelet RESUME On Error GoTo ErrHandler: Worksheets("NewSheet").Activate Exit Sub ErrHandler: If Err.Number = 9 Then ' sheet does not exist, so create it Worksheets.Add.Name = "NewSheet" ' go back to the line of code that caused the problem Resume End If A 2012-es verziótól van TRY CATCH szerkezet
Kösz szönöm a figyelmet!