Adatbázis rendszerek I
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

Adatbázis rendszerek I PowerPoint PPT Presentation


  • 65 Views
  • Uploaded on
  • Presentation posted in: General

Adatbázis rendszerek I. Kovács László. Az SQL nyelv elemei. SQL jelentősége. Az SQL ez egyik legfontosabb alaptechnológia az informatikában. Az SQL fejlődése során egyre több funkciót integrál magába, globális adatkezelés felé halad. (Vikram Vaswani).

Download Presentation

Adatbázis rendszerek I

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Adatb zis rendszerek i

Adatbázis rendszerek I

Kovács László

Az SQL nyelv elemei


Adatb zis rendszerek i

SQL jelentősége

Az SQL ez egyik legfontosabb alaptechnológia az informatikában.

Az SQL fejlődése során egyre több funkciót integrál magába,

globális adatkezelés felé halad

(Vikram Vaswani)

A legkeresettebb ismeretek egyike az IT álláshirdetésekben

az SQL,amely stabilan tartja magát (mellette

a C++, Java, PHP, UNIX váltakoznak)

(CWJobs.UK)

Kb. évi 10%-os piacnövekedés

az adatbáziskezelőknél,

kb. 8 billió $ 2005-ben

(Gartner Group)

Számos feladat specifikus SQL DBMS

létezik a piacon


Adatb zis rendszerek i

SQL jelentősége

Meg kell tanulni SQL-ben gondolkodni!

Az alap építőelemekből a szükséges elemeket

a helyes sorrendben kell bevonni.

Csak biztos alapra szabad építeni, a rejtett hibák csak

később derülnek ki. Látszólag működik a rendszer, …

de nem mindig helyesen vagy nem hatékonyan !!

„Aki nem mestere, az hóhéra” (Nagymamám)

zsiráf-mozaikok


Adatb zis rendszerek i

SQL használata

A SELECT parancs szinte végtelen kombinációs, bővítési

lehetőséggel rendelkezik

SELECT mezőlista

FROM tábla , (SELECT …)

WHERE mezőfeltétel AND (SELECT …)-feltétel

GROUP BY csoport-kif.

HAVING csoportfeltétel AND (SELECT..)

UNION | INTERSECT | …

(SELECT …)

A SELECT parancs több alakban is megjelenhet

SELECT … FROM …

SELECT … INTO … FROM …

CURSOR … AS SELECT …

ide kaméleon


Adatb zis rendszerek i

SQL használata

Az SQL több, mint a SELECT parancs

- view

- domain

- snapshot

- trigger

- job

- tárolt eljárás

- tárolt függvény

- felhasználó

- profile

- role

- schema

- database link

- replication

- cluster

- lock

...

interaktív

program

CLI-SQL

E-SQL

SQL

PL-SQL

T-SQL

Oracle SQL referencia: www-db.iit.uni-miskolc.hu/…


Adatb zis rendszerek i

SQL használata

Az SQL szabvány és az egyes SQL implementációk

szoros kölcsönhatásban állnak egymással

- ismerni kell a szabványt

- ismerni kell a konkrét SQL felületet

FROM T1 OUTER JOIN T2 ON f

FROM T1 = (+) T2 WHERE f

  • egyedi objektumok

  • egyedi operátorok

  • egyedi függvények

  • egyedi kapcsolók

  • egyedi paraméterek

  • egyedi adattípusok

  • eltérő operátorok

  • hiányzó operátorok

WHERE CTOD(‘2003.02.10’)…

WHERE TO_DATE(‘2003.02.10’,…)

WHERE CONVERT(‘2003.02.10’,…)

WHERE {2003.02.0}…

matyusa baba

egymásba ágyazott

ANSI SQL kompatibilitás


Adatb zis rendszerek i

SQL használata

Könyvekben és on-line módon számos SQL oktató forrás

áll rendelkezésre

Aki keres, az talál

www.w3schools.com/sql

www.1keydata.com/sql/

www.sqlcourse.com

www.geocities.com/SiliconValley

/Vista/2207/sql1.html

www.firstsql.com/tutor.htm

www.sql-tutorial.net

select name, count(aid) from author, (

( select authorfrom wrote, book

where publication=pubid )

union all

( select authorfrom wrote, article

where publication=pubid ) ) ba

where aid=author11 group by name,aid


Adatb zis rendszerek i

kép

Mészöly Géza (1844-1887): Homokbánya (1872)


Adatb zis rendszerek i

SQL SELECT funkciói

Táblák összekapcsolása

Algebrai jele: r1 r2 illetver1feltétel r2

SELECT mlista FROM r1, r2,.. WHERE feltétel;

Ha a feltétel elmarad

Descartes szorzatot

kapunk

Kettőnél több tábla

is összekapcsolható


Adatb zis rendszerek i

SQL SELECT funkciói

Táblák összekapcsolása

SELECT mlista FROM r1 INNER JOIN r2 ON feltétel …;

  • Illesztési és normál feltételek szétválasztása

  • Ha több táblában is azonos elnevezésű mező van, akkor a

  • kibővitett mezőnevet használjuk:

  • tábla.mező

  • Ha hosszú a táblanév alias nevet használhatunk:

  • tábla alias

  • - Tábla szerepkört is alias névvel jelöljük

DOLGOZO (kod PK, nev, beosztas, fonok REF DOLGOZO, fizetes)

SELECT f.nev, d.nev FROM dolgozo f INNER JOIN dolgozo d

ON f.kod = d.fonok WHERE d.beosztas = ‘raktáros’


Adatb zis rendszerek i

SQL SELECT funkciói

Az outer-join megadása

Algebrai jele: r1 +feltétel + r2

SELECT mlista FROM r1 LEFT | RIGTH | FULL OUTER JOIN

r2 ON feltétel WHERE felt …;

SELECT * FROM AUTO A RIGHT OUTER JOIN EMBER E

ON A.TULAJ = E.IGSZ WHERE A.AR > 6000000;

T1 +T1.A = T2.A T2

T1

T2

A

B

A

C

A

B

A

C

1

C

3

L

1

C

1

T

2

G

1

T

2

G

3

U

5

P

3

U

3

L


Adatb zis rendszerek i

SQL SELECT funkciói

Az aggregáció megadása

Algebrai jele: aggregációs-lista (r)

SELECT aggregációs-lista FROM r;

SUM(mez.kif)AVG(mez.kif)

COUNT(mez.kif)MAX(mez.kif)

MIN(mez.kif)

SELECT COUNT(*) FROM AUTO;


Adatb zis rendszerek i

SQL SELECT funkciói

Az aggregáció és csoportképzés megadása

Algebrai jele: csopképkifaggregációs-lista (r)

SELECT aggregációs-lista FROM r GROUP BY csopképkif;

SELECT TIPUS, AVG(AR) FROM AUTO GROUP BY TIPUS;


Adatb zis rendszerek i

SQL SELECT funkciói

Szűrés az elkészült csoportokból

Algebrai jele: feltétel(cskifagg-lista (r))

SELECT agg-lista FROM tábla GROUP BY cskif HAVING feltétel;

SELECT TIPUS FROM AUTO GROUP BY TIPUS

HAVING AVG(AR) > 10000000;

A csoportképzés előtti és utáni szelekció együttesen is

szerepelhet:

SELECT TIPUS FROM AUTO WHERE SZIN=”PIROS”

GROUP BY TIPUS HAVING AVG(AR) > 10000000;

WHERE

HAVING


Adatb zis rendszerek i

SQL SELECT funkciói

Az eredmény rekordok rendezése

SELECT mlista FROM tábla ORDER BY mezo1 mod1, mezo2 ...;

ASC

DESC

Nem része a relációs algebrának

A második mező szerinti szempont csak az első egyezősége

esetén lényeges

SELECT RSZ, TIPUS, AR FROM AUTO ORDER BY

AR DESC, TIPUS;

Lehet sorszámmal is hivatkozni a mezőkre

SELECT RSZ, TIPUS, AR FROM AUTO ORDER BY

3 DESC, 2;


Adatb zis rendszerek i

SQL SELECT funkciói

Táblák halmaz műveletei

Algebrai jele: r1  r2 , r1  r2 , r1 \ r2

SELECT … FROM r1 … UNION SELECT … FROM r2 …;

SELECT … FROM r1 … UNION ALL SELECT … FROM r2 …;

SELECT … FROM r1 … INTERSECT SELECT … FROM r2 …;

SELECT … FROM r1 … MINUS SELECT … FROM r2 …;

csak kompatíbilis szerkezetű táblák vonhatók össze

a rendezés csak a legvégén szerepelhet egyszer

SELECT nev FROM OKTATOK WHERE varos = ‘EGER’ UNION ALL

SELECT nev FROM HALLGATOK WHERE varos = ‘EGER’

ORDER BY 1;


Adatb zis rendszerek i

SQL SELECT funkciói

Al-SELECT használata

A szelekciós feltételben számított érték is szerepelhet

A számított értéket az előállító SELECT paranccsal adjuk meg

SELECT … FROM … WHERE … (SELECT …) GROUP BY … HAVING (SELECT…)

A SELECT kifejezések többszörösen egymásba ágyazhatók

SELECT nev FROM DOLGOZOK WHERE fizetes > (SELECT AVG(fiz)

FROM DOLGOZOK);


Adatb zis rendszerek i

SQL SELECT funkciói

Speciális szelekciós operátorok

kif LIKE minta sztring illeszkedése egy mintára (%,_)

kif IS [NOT] NULLüres-e a kifejezés

kif BETWEEN kif2 AND kif3 köztes érték vizsgálat

EXISTS (al_SELECT)eredménytábla létezése

kif IN lista | (al_SELECT)tartalmazás

kif op ALL lista | (al_SELECT)minden kvantor

kif op ANY lista | (al_SELECT)létezés kvantor


Adatb zis rendszerek i

SQL VIEW objektum

Származtatott táblák haszna:

- parancs egyszerűsítés

- egyszerűbb végrehajtás

- védelemv

CREATE VIEW vnév (mnév1, …) AS SELECT … ;

CREATE VIEW BETEGSZAB AS SELECT nev, beosztas, reszleg FROM dolgozok WHERE status = 2;

Csak az előállító SQL parancs tárolódik, az adattábla nem

Hivatkozáskor áll elő a tartalom

- aktuális

- lassú lehet


Adatb zis rendszerek i

kép

Mészöly Géza: Balatoni halásztanya (1877)


Adatb zis rendszerek i

A relációs adatmodell

Egyedi elemek

- VIEW a kétszeres aggregációban

- DISTINCT

- UNION ALL

- self-join

- CROSS JOIN

- INNER JOIN

- NATURAL JOIN .. USING

- több táblás join

- SNAPSHOT


Adatb zis rendszerek i

kép

Mészöly Géza: Chioggia (1883)


  • Login