Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Adatbázisok használata
Rózsa Győző
2
A tárgy weboldala: http://www.orakulum.com
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek! A tárgy weboldala:
3
A tárgy weboldala: http://www.orakulum.com
Tudnivalók kisZH-k minden egyes óra elején 7./12. héten nagy ZH Féléves feladat A féléves jegy számítása Kis ZH-k eredménye Nagy ZH-k eredménye Mindegyik legalább elégségesre teljesítése A tárgy weboldala:
4
A tárgy weboldala: http://www.orakulum.com
Ajánlott Irodalom Oracle példatár (SQL, PL/SQL) (Kende Mária Nagy István) Adatbázis-kezelés Oracle Rendszerben (Kende Mária, Kotsis Domonkos, Nagy István) Oracle database 10g Teljes referencia (Kevin Loney) A tárgy weboldala:
5
A tárgy weboldala: http://www.orakulum.com
Orakulum Ez a tárgy hivatalos weboldala Ezen belül Adatbázis kezelés Azon belül: AKT A tárgy weboldala:
6
A tárgy weboldala: http://www.orakulum.com
Féléves feladat Félév során folyamatosan kell készíteni A feladatkiírás, és a követelményei a weboldalról letölthető 01-3_FF_Követelmény MM (12).doc 01-4_FF_Feladatkiírás MM+MI (10).doc A következő gyakorlatra mindenkinek hoznia kell a feladatkiírást (értelemszerűen kitöltve, aláírva) FONTOS: Összetett kulcsok használata!!! (Oracle képfájl) A tárgy weboldala:
7
A tárgy weboldala: http://www.orakulum.com
Menetrend (1. NAGYZH) 1.: Normalizálás, Egyszerű SQL lekérdezések kisZH: Papír alapú, a normalizálásból (ehhez még letölthető segédlet az Orakulumról!) 2.:Egysoros és Csoportfüggvények 3.:Többtáblás lekérdezések, és allekérdezések 4.:Interaktív környezet 5.:DDL,DML, Adatbázis tranzakciók, Megszorítások 6.:Nézettáblák, Rownum, Felső-N analízis A tárgy weboldala:
8
A tárgy weboldala: http://www.orakulum.com
Menetrend (2. NAGYZH) 8.: DCL (Admin ismeretek) 9.: Részletező csoportosítások 10.: Analitikus függvények 11.: Hisztogram fv-k +1.: Féléves feladat leadása!!! A tárgy weboldala:
9
A tárgy weboldala: http://www.orakulum.com
Mi az Adatbázis? Az adatbázis azonos minőségű (jellemzőjű), többnyire strukturált adatok összessége, amelyet egy tárolására, lekérdezésére és szerkesztésére alkalmas szoftvereszköz kezel. Az adatbázisok célja adatok megbízható, hosszú távon tartós (idegen szóval: perzisztens) tárolása, és viszonylag gyors visszakereshetőségének biztosítása Forrás: Wikipedia A tárgy weboldala:
10
Mi az Adatbázis-kezelő?
Az adatbázis fogalma nem keverendő össze az adatbázis-kezelővel, amely az adatbázis működtetésére, rendszerszintű és felhasználói folyamatainak szervezésére szolgál. Sok esetben azonban mégis egymás szinonimájaként használjuk (például bár a valóságban adatbázis-kezelőket vásárolunk és telepítünk, mégis sokszor mondjuk, hogy „vettem/telepítettem egy adatbázist”), ha ez félreértésre nem ad okot Forrás: Wikipedia A tárgy weboldala:
11
Milyen adatbázis kezelő rendszereket ismertek?
MS-SQL MySQL postgreSQL SQLite Oracle Database A tárgy weboldala:
12
Főbb mérföldkövek az Oracle Database fejlesztésében
Soha nem volt 1-es verzió, 2-essel indult (persze ez csak marketing fogás volt) 1979 Oracle V2 1983: Oracle 3: C nyelven írták már (COMMIT, ROLLBACK) 1988: Oracle 6: PL/SQL 1997: Oracle 8: Objektum Orientált tervezés támogatása 2005: Oracle 10gR2 Ezt használjuk A tárgy weboldala:
13
A tárgy weboldala: http://www.orakulum.com
Adatmodellek Hierarchikus Legelső adatbázis kezelők használták (fa szerkezet, szülő-gyermek kapcsolat) Hálós Hierarchikus továbbfejlesztett változata (Itt egy gyereknek már több szülője is lehet) Relációs ’80-as évektől a legelterjedtebb, legáttekinthetőbb modell Az adatokat egymással kapcsolatban álló táblázatok rendszerében ábrázolja Objektum Orientált Intelligens elemekből épül föl A tárgy weboldala:
14
A tárgy weboldala: http://www.orakulum.com
Relációs adatmodell Táblázatos ábrázolás (több táblázat az adatbázis tulajdonképpen) A sorai a rekordok A sorok egy oszlopa a mező Kritériumok: Nem lehet két azonos sor A sorok és oszlopok sorrendje nem számít A tárgy weboldala:
15
Relációs modell - kapcsolat típusok
Nincs kapcsolat 1:1 kapcsolat Minden halmazból 1 elemnek csakis 1 elem felel meg, és viszont 1:N kapcsolat Egy halmazból 1 elemnek több elem is megfelel, fordítva viszont csakis egyetlen egy M:N kapcsolat Mindkét halmazból 1 elemhez tartozhat több elem, és fordítva A tárgy weboldala:
16
A tárgy weboldala: http://www.orakulum.com
Kulcsok Elsődleges kulcs Minden rekordban egyedi!!! (Lehet összetett is) Nem lehet ‚NULL’ Idegen kulcs Egy másik tábla elsődleges kulcsa Összetett kulcs Legalább két attribútumból áll A tárgy weboldala:
17
A tárgy weboldala: http://www.orakulum.com
Adatbázis Anomáliák Módosítási Anomália Törlési Anomália Bővítési Anomália A tárgy weboldala:
18
A tárgy weboldala: http://www.orakulum.com
Normalizálás A hozzá kapcsolódó anyag az orakulum.com weboldalon a „labor”-on belül található SQL Bevezető feladatgyűjtemény (pdf) Egyszerűen megfogalmazva: Az az eljárás, mely segítségével az adatok ésszerű csoportosítása formálisan is elvégezhető Mi a célja? Redundancia csökkentése A tárgy weboldala:
19
A tárgy weboldala: http://www.orakulum.com
Normalizálás A függőségekre bizonyos követelményeket fogalmazunk meg (normálformák): 1NF: Minden attribútum egyszerű 2NF: A másodlagos attribútumok mindegyikét a kulcsattribútumok csak együttesen határozzák meg 3NF: A másodlagos attribútumok egymástól függetlenek BCNF (Boyce-Codd):A kulcs attribútumoknak nincs olyan részhalmaza, mely más kulcs- vagy másodlagos attribútumoktól függene. (Azaz nincs kulcstörés) A tárgy weboldala:
20
A tárgy weboldala: http://www.orakulum.com
1.NF Minden attribútum egyszerű NÉV Foglalkozások Tóth Gyula bádogos, vízvezeték szerelő NÉV Foglalkozás Tóth Gyula bádogos vízvezeték szerelő A tárgy weboldala:
21
A tárgy weboldala: http://www.orakulum.com
2.NF Mi az a Funkcionális függőség? Ha egy tulajdonság értékét, egy másik tulajdonság egyértelműen meghatározza Mondjunk erre pár példát a hétköznapokból! A reláció minden nem elsődleges attribútuma teljes funkcionális függőségben van az összes reláció kulccsal A tárgy weboldala:
22
A tárgy weboldala: http://www.orakulum.com
2. NF Ismerjük föl a függőségeket! A Terem meghatározza a férőhelyek számát A Terem és az Óra kezdete pedig a Tárgyat A tárgy weboldala:
23
A tárgy weboldala: http://www.orakulum.com
2. NF A tárgy weboldala:
24
A tárgy weboldala: http://www.orakulum.com
3.NF A reláció nem tartalmaz funkcionális függőséget a nem elsődleges attribútumok között. Jelen esetben a Tárgy egyértelműen meghatározza az oktatót, az oktató azonban az ő címét. (Tárgy ->Oktatóm -> ) Tárgy Oktatóm Adatbázisok Rózsa Győző Analízis Kis Gábor Diszkrét Matek A tárgy weboldala:
25
A tárgy weboldala: http://www.orakulum.com
3. NF Tárgy Oktatóm Adatbázisok Rózsa Győző Analízis Kis Gábor Diszkrét Matek Tárgy Oktatóm Adatbázisok Rózsa Győző Analízis Kis Gábor Diszkrét Matek Oktatóm Rózsa Győző Kis Gábor A tárgy weboldala:
26
A tárgy weboldala: http://www.orakulum.com
BCNF Boyce-Codd normál forma A kulcs attribútumoknak nincs olyan részhalmaza, mely más kulcs- vagy másodlagos attribútumoktól függene. (Azaz nincs kulcstörés) Tulajdonképpen a 3.NF egy szigorúbb változata FELTÉTEL: MINDEN TANÁR CSAK EGY TÁRGYAT OKTAT, DE TÖBB FÉLÉVÉT IS Mi lehet a probléma? Az Oktató és a Félév meghatározza a Tárgyat, de a Tárgy és a Félév pedig az Oktatót Oktató Tanév Tárgy Félév Létszám Csicsek Judit Matematika 1 13 Berta Gábor Programozás 14 2 15 16 3 17 A tárgy weboldala:
27
A tárgy weboldala: http://www.orakulum.com
BCNF 2. Tanév Tárgy Félév Létszám Matematika 1 13 Programozás 14 2 15 16 3 17 Oktató Tanév Tárgy Csicsek Judit Matematika Berta Gábor Programozás A tárgy weboldala:
28
A normalizálás lépései
1.: Az ősmodell kijelölése, hívhatnánk 0. lépésnek is. 2.:Tárolandó attribútumok kijelölése 3.:Függőségek felismerése 4.: Ezen függőségek normalizálása 5.:Ezen függőségek összefoglalása 6.: Adatmodell felírása A tárgy weboldala:
29
A tárgy weboldala: http://www.orakulum.com
SQL alapok Strukturált Lekérdező Nyelv Először az Oracle használta Adattípusai Numerikus Alfanumerikus Dátum Egyéb típusok (pl: blob, clob) A tárgy weboldala:
30
Egyszerű SQL lekérdezések
SELECT FROM WHERE GROUP BY HAVING ORDER BY ; A bűvös szavak, oda-vissza kell tudni Interaktív játék (Tornázzunk egy kicsit) A tárgy weboldala:
31
Egyszerű SQL lekérdezések - Ismerkedés az „sql plus”-al
Virtuális gép indítása SQL plus indítása Felhasználónév: scott Jelszó: tiger Mit tegyünk ha nem sikerül belépni 1: Várjunk egy picit, amíg a szolgáltatás elindul 2: Szolgáltatás újraindítása A tárgy weboldala:
32
Egyszerű SQL lekérdezések - ismerkedés a táblákkal
Két táblával fogunk foglalkozni Ha ezek otthon valami miatt nem töltődnének be, akkor a „labor”-on belül az init2.sql fájl kell lefuttatni EMP tábla Alkalmazottak tábla, mely oszlopai: EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO DEPT tábla Telephely tábla, mely oszlopai: DEPTNO, DNAME, LOC A tárgy weboldala:
33
Egyszerű SQL lekérdezések
A SELECT utasítás: Az adatok egy halmazát válogatja ki egy táblázatba FROM: Meghatározza, hogy mely táblából szeretnénk kiválogatni az adatokat WHERE: Itt adhatunk meg szűrési feltételeket „;” : Minden utasítást pontosvesszővel zárunk A tárgy weboldala:
34
Egyszerű SQL lekérdezések - példák
Listázzuk ki az EMP tábla tartalmát SELECT * FROM EMP; Listázzuk ki a DEPT tábla tartalmát SELECT * FROM DEPT; A tárgy weboldala:
35
Egyszerű SQL lekérdezések - WHERE
A segítségével szűrhetjük az eredményhalmazunkat AND: A segítségével több feltételt is megszabhatunk egyszerre, melynek mind teljesülnie kell OR: Ha AND helyett „OR”-t használunk, akkor elég az egyik feltételnek teljesülnie BETWEEN: Ha két érték közé eső értékre vagyunk kíváncsiak, akkor használjuk A tárgy weboldala:
36
Egyszerű SQL lekérdezések - példák 2.
Listázza ki azon dolgozók nevét, és munkakörét, akiknek a fizetése nagyobb, mint 1000$! SELECT ENAME, JOB FROM EMP WHERE SAL > 1000; A tárgy weboldala:
37
Egyszerű SQL lekérdezések - Önálló gyakorlás
Listázza ki azon dolgozók összes adatát, akiknek a fizetésük kevesebb, mint 1230$! Listázza ki azon dolgozók nevét és fizetését, akik fizetése 1500$ vagy 1600$! Listázza ki azon dolgozók nevét és fizetését, akik fizetése 1000$ és 1700$ között van! A tárgy weboldala:
38
A tárgy weboldala: http://www.orakulum.com
Köszönöm a figyelmeteket! Következő órára várom a Féléves feladatkiírást, valamint a normalizálásból írunk kiszárthelyit. A tárgy weboldala:
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.