Bazy danych. Plan wykáadu. Powtórzenie BCNF i 3NF. Nowa forma redundancji. Wykáad 6: Postaci normalne. SQL - zapytania záo*one.

Wielkość: px
Rozpocząć pokaz od strony:

Download "Bazy danych. Plan wykáadu. Powtórzenie BCNF i 3NF. Nowa forma redundancji. Wykáad 6: Postaci normalne. SQL - zapytania záo*one."

Transkrypt

1 Plan wykáadu Bazy danych Wykáad 6: Postaci normalne. SQL - zapytania záo*one. Maágorzata Krtowska Katedra Oprogramowania mmac@ii.pb.bialystok.pl Zale*noci wielowartociowe Czwarta postaü normalna Dekompozycja do 4NF SQL podzapytania podzapytania skorelowane operator EXISTS Bazy danych 2 Powtórzenie BCNF i 3NF Nowa forma redundancji Relacja R jest w postaci normalnej BCNF wtedy i tylko wtedy, gdy dla ka*dej nietrywialnej zale*noci A 1, A 2,..., A n B, zbiór {A 1, A 2,..., A n } jest nadkluczem R Mówimy, *e relacja jest w trzeciej postaci normalnej (3NF) wtedy i tylko wtedy, gdy jest speániony nastpujcy warunek: jeli A 1, A 2,..., A n B jest zale*noci nietrywaln, to albo {A 1, A 2,..., A n } jest nadkluczem albo B jest elementem pewnego klucza. Mo*e si okazaü, *e schemat relacji ma postaü BCNF, ale wystpuje w nim redundancja Najpowszechniejszym *ródáem redundancji s tzw zale*noci wielowartociowe (ZW), które wyra*aj zale*noü pomidzy krotkami istniejcej relacji, która to relacja stara si reprezentowaü wicej ni* jeden zwizek wiele do wielu. W takich sytuacjach niektóre atrybuty s od siebie niezale*ne i ich wartoci musz powtórzyü si w relacji we wszystkich mo*liwych kombinacjach. Bazy danych 3 Bazy danych 4

2 Przykáad Relacja: Jzyki (nazwisko, jzyk_programowania, jzyk_obcy) Czy znajomoü jzyka programowania jest zale*na od znajomoci jzyka obcego? W jaki sposób mo*na przedstawiü to w relacji? Wyra*enie zwizku wystpujcego w tej relacji prowadzi do umieszczenia w niej wszystkich kombinacji jzyka_programowania i jzyka_obcego dla poszczególnych osób. Zale*noci wielowartociowe definicja Zale*noü wielowartociowa A 1 A 2...A n ->->B 1 B 2...B m zachodzi w relacji R wówczas, gdy wybierajc z relacji R te krotki, które s zgodne dla atrybutów typu A, zbiór wartoci atrybutów typu B nie zale*y od *adnych wartoci tych atrybutów z R, których nie ma ani w zbiorze A, ani w B. Dla ka*dej pary krotek t i u z relacji R, które maj takie same wartoci atrybutów typu A, mo*na znale(ü w R tak krotk v, której skáadowe maj wartoci równe: wartociom atrybutów typu A w krotkach t i u wartociom atrybutów typu B krotki t wartociom tych skáadowych krotki u, które nie s ani typu A, ani typu B. Bazy danych 5 Bazy danych 6 Zale*noci wielowartociowe A->->B A B pozostaáe t u v Wnioskowanie z zale*noci wielowartociowych Reguáa zale*noci trywialnych jeli w pewnej relacji zachodzi zale*noü A 1 A 2...A n ->->B 1 B 2...B m to wówczas, gdy C 1 C 2...C k s wszystkimi atrybutami B oraz czü z nich jest typu A, zachodzi równie* A 1 A 2...A n ->-> C 1 C 2...C k Reguáa przechodnioci jeli zachodz zale*noci A 1 A 2...A n ->->B 1 B 2...B m i B 1 B 2...B m ->-> C 1 C 2...C k to zachodzi równie* zale*noü A 1 A 2...A n ->-> C 1 C 2...C k Zale*noci wielowartociowe nie speániaj reguáy podziaáu i áczenia. Bazy danych 7 Bazy danych 8

3 Przykáad cd Nazwisko Ulica Miasto Tytuá Rok Jerzy Stuhr Lipowa 14 Kraków Kingsajz 1987 Jerzy Stuhr Mickiewicza 24 Warszawa Kingsajz 1987 Nazwisko Ulica Miasto Tytuá Rok Jerzy Stuhr Lipowa 14 Warszawa Kingsajz 1987 Jerzy Stuhr Mickiewicza 24 Kraków Kingsajz 1987 Wnioskowanie z zale*noci wielowartociowych cd Ka*da zale*noü funkcyjna jest zale*noci wielowartociow, czyli jeli A 1 A 2...A n ->B 1 B 2...B m to A 1 A 2...A n ->->B 1 B 2...B m Reguáa dopeánienia jeli A 1 A 2...A n ->->B 1 B 2...B m zachodzi dla relacji R, to w R zachodzi równie* A 1 A 2...A n ->-> C 1 C 2...C k, gdzie atrybuty typu C s wszystkimi tymi atrybutami R, które nie s ani typu A, ani typu B. Przykáad: Relacja Aktorzy (nazwisko, ulica, miasto, tytuá, rok) Zale*noci wielofunkcyjne nazwisko->-> ulica miasto, z reguáy dopeánienia mamy te* zale*noü nazwisko ->-> tytuá rok, która jest równie* speániona Bazy danych 9 Bazy danych 10 Czwarta postaü normalna Zale*noü wielowartociow w relacji R: A 1 A 2...A n ->->B 1 B 2...B m okrelamy jako nietrywialn, jeli: )aden atrybut typu B nie jest typu A Ka*dy atrybut R jest albo typu A, albo typu B. Relacja R jest w czwartej postaci normalnej (4NF), wtedy i tylko wtedy, gdy: A 1 A 2...A n ->->B 1 B 2...B m jest nietrywialn zale*noci wielowartociow; {A 1 A 2...A n } jest nadkluczem w R. Dekompozycja do czwartej postaci normalnej Znajdujemy zale*noü, która nie speánia 4NF np. A 1 A 2...A n ->->B 1 B 2...B m, gdzie {A 1 A 2...A n } nie jest nadkluczem (mo*e byü to zale*noü np. wyprowadzona z pewnej zale*noci funkcyjnej). Wówczas schemat relacji R dzielimy na dwa schematy: pierwszy schemat zawiera wszystkie atrybuty typu A i typu B. Drugi schemat zawiera wszystkie atrybuty typu A oraz te wszystkie atrybuty z R, które nie s atrybutami ani typu A, ani typu B Bazy danych 11 Bazy danych 12

4 Zale*noci pomidzy postaciami normalnymi Relacje w 3PN Relacje w BCNF Relacje w 4NF Podzapytania Podzapytania skorelowane Opearator EXISTS SQL WáDFLZRü 3NF BCNF 4NF Eliminowanie redundancji przez zale*qrflixqnf\mqh WiNV]Rü Tak Tak Eliminowanie redundancji przez Nie Nie Tak zale*qrflzlhorzduwr FLRZH Zachowanie zale*qrfl Tak Mo*OLZH Mo*OLZH funkcyjnych Zachowanie zale*qrfl wielowartoflrz\fk Mo*OLZH Mo*OLZH Mo*OLZH Bazy danych 13 Bazy danych 14 Podzapytania Podzapytanie - polecenie SELECT zagnie*d*one w innym poleceniu SELECT. Umo*liwia konstruowanie zapytania odwoáujcego si do wartoci wybranych przez inne polecenie SELECT. Przykáad: SELECT kolumna1, kolumna2,... FROM tabela WHERE kolumna = (SELECT kolumna FROM tabela WHERE warunek) Podzapytania zwracajce jeden wiersz Wynikiem jest pojedynczy wiersz. Przykáad: Znale(ü pracowników z pensj równ minimalnemu zarobkowi w firmie. Co nale*y robiü po kolei? 1. Znajdujemy minimaln pensj: SQL> select min(sal) from emp; MIN(SAL) Znajdujemy pracowników o pensji równej wartoci obliczonej w pierwszym kroku: select ename, job, sal from emp where sal =<wynik poprzedniego zapytania> Bazy danych 15 Bazy danych 16

5 Podzapytania zwracajce jeden wiersz Wstawiajc zapytanie 1 do 2, otrzymujemy: SQL> select ename, job, sal from emp where sal =(select min(sal) from emp); ENAME JOB SAL SMITH CLERK 800 Przebieg wykonania zapytania: realizacja zapytania wewntrznego na podstawie wartoci zwróconej przez blok wewntrzny przetwarzany jest blok gáówny zapytania W przypadku zapyta zwracajcych jeden wiersz mog byü stosowane zwykáe operatory porównania: =, >, <=,... Podzapytania zwracajce jeden wiersz Znale(ü wszystkich pracowników zatrudnionych na tym samym stanowisku, co BLAKE. SQL> select ename, job from emp where job=(select job from emp where ename='blake'); ENAME JOB JONES MANAGER BLAKE MANAGER CLARK MANAGER Czy jestemy pewni czy zapytanie zwróci jeden wiersz? Bazy danych 17 Bazy danych 18 Podzapytania zwracajce wiele wierszy Znale(ü pracowników o pensjach z listy najni*szych zarobków osiganych w departamentach. SQL> select ename, sal, deptno from emp where sal in (select min(sal) from emp group by deptno); ENAME SAL DEPTNO SMITH JAMES MILLER W jaki sposób mo*na uzyskaü informacje o pracownikach zarabiajcych najmniej w ich departamentach? (Metoda 1) SQL> select ename, sal, deptno from emp where (sal,deptno) in (select min(sal), deptno from emp group by deptno); ENAME SAL DEPTNO SMITH JAMES MILLER Bazy danych 19 Uwagi WHERE (kolumna1, kolumna 2...) = (SELECT kol1, kol2...) kolumny w bloku zewntrznym powinny byü ujte w nawiasy i oddzielone przecinkami powinna byü zgodnoü co do liczby i typu kolumn wybieranych w bloku wewntrznym i kolumn bloku zewntrznego porównywanych z nimi Bazy danych 20

6 Podzapytania skorelowane W jaki sposób mo*na uzyskaü informacje o pracownikach zarabiajcych najmniej w ich departamentach? (Metoda 2) SQL> select ename, sal, deptno from emp e where sal = (select min(sal) from emp where e.deptno=emp.deptno group by deptno); ENAME SAL DEPTNO SMITH JAMES MILLER Podzapytania skorelowane uwagi Ka*dy wiersz proponowany przez zapytanie gáówne przechodzi prób warunku wyra*onego za pomoc zapytania skorelowanego, w którym wystpuje odwoáanie do wartoci kolumn tego wiersza. Wykonanie SELECT z podzapytaniem skorelowanym: pobranie wiersza przez zewntrzne zapytanie wykonanie wewntrzngo zapytania na podstawie wartoci z pobranego w pkt 1. wiersza zaakceptowanie bd( odrzucenie wiersza na podstawie wyniku zapytania z pkt 2. Powtórzenie akcji opisanych wy*ej, a* do wyczerpania wszystkich wierszy proponowanych przez zapytanie zewntrzne. Bazy danych 21 Bazy danych 22 Sygnalizacja bádów Co si stanie, je*eli podzapytanie zwraca wicej ni* jeden wiersz a w warunku zostanie u*yty operator do porównywania jednego wyniku? SQL> select ename, sal, deptno from emp where sal = (select min(sal) from emp group by deptno); where sal = (select min(sal) from emp group by deptno) * BàD w linii 2: ORA-01427: jednowierszowe podzapytanie zwraca wicej ni* jeden wiersz Podobnie je*eli podzapytanie nie zwróci *adnego wiersza. Operatory ANY i ALL Opearatory ANY i ALL mo*na stosowaü w podzapytaniach zwracajcych wicej ni* jeden wiersz. Wykorzystuje si je w klauzulach WHERE I HAVING ácznie z operatorami porównywania (=;!=; <; >; <=; >=) Operator ANY powoduje akceptacj (speánienie warunku) po stwierdzeniu zgodnoci wyra*enia z którkolwiek z wartoci zwracanych przez podzapytanie Operator ALL sáu*y do porównania z wszystkimi wartociami zwracanymi przez podzapytanie Przed operatorami ANY i ALL mo*na stosowaü zaprzeczenie - NOT Bazy danych 23 Bazy danych 24

7 Podzapytania w klauzuli HAVING Podzapytania - wskazówki Wybraü te departamenty, których rednie zarobki przekraczaj redni zarobek departamentu 30. Select deptno, avg(sal) from emp group by deptno having avg(sal) >(select avg(sal) from emp where deptno=30); Znale(ü stanowisko pracy, na którym s najwy*sze rednie zarobki. Select job, avg(sal) from emp group by job having avg(sal) =(select max(avg(sal)) from emp group by job); Wewntrzne zapytanie musi byü ujte w nawiasy i musi wystpowaü po prawej stronie warunku W podzapytaniu nie wolno stosowaü klauzuli ORDER BY. Obowizuje zasada jednej klauzuli ORDER BY dla caáego polecenia SELECT. Jeli jest potrzebna umieszczamy j jako ostatni Kolumny wystepujce na licie wyboru wewntrznego zapytania musz wystpowaü w klejnoci zgodnej z kolejnoci kolumn ujtych w nawiasy warunku zapytania gáównego. Musi równie* wystpowaü zgodnoü co do liczby i typu kolumn wybieranych w bloku wewntrznym i kolumn bloku zewntrznego porównywanych z nimi. Bazy danych 25 Bazy danych 26 Podzapytania po FROM Przykáad cd Podzapytania mog wystpowaü po WHERE, HAVING i FROM: FROM tabela1, (podzapytanie1) alias1, (podzapytanie2) alias2... Policzyü jaki procent pracowników pracuje w poszczególnych dziaáach firmy.podaü nazw dziaáu i procent pracowników. Liczba pracowników w poszczególnych dziaách SQL> select dname, count(empno) x from emp, dept where emp.deptno (+) = dept.deptno group by dname, dept.deptno; DNAME X ACCOUNTING 3 RESEARCH 5 SALES 6 OPERATIONS 0 Bazy danych 27 Liczba wszystkich pracowników SQL> select count(*) y from emp; Y Caáe zapytanie: SQL> select A.dname, (A.x/B.y)*100 procent from (select dname, count(empno) x from emp, dept where emp.deptno (+) = dept.deptno group by dname, dept.deptno) A, (select count(*) y from emp) B; DNAME PROCENT ACCOUNTING 21, RESEARCH 35, SALES 42, OPERATIONS 0 Bazy danych 28

8 Operator EXISTS W przypadku zapyta skorelowanych czasami nie interesuje nas wynik zapytania, ale jedynie czy wiersz o zadanych przez nas warunkach istnieje. Wówczas wykorzystujemy operator EXISTS. EXISTS (podzapytanie) - zwraca true je*eli podzapytanie zwróci przynajmniej jeden wiersz NOT EXISTS(podzapytanie) zwraca true je*eli podzapytanie nie zwróci *adnego wiersza Bazy danych 29

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Plan wykładu azy danych Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Dokoczenie SQL Zalenoci wielowartociowe zwarta posta normalna Dekompozycja do 4NF Przykład sprowadzanie do

Bardziej szczegółowo

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B Plan wykładu Bazy danych Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania Definicja zalenoci funkcyjnych Klucze relacji Reguły dotyczce zalenoci funkcyjnych Domknicie zbioru atrybutów

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 6: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogościowe rzutowanie selekcja przemianowanie Małgorzata Krętowska Wydział Informatyki Politechnika

Bardziej szczegółowo

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B Plan wykáadu Bazy danych Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. Maágorzata Krtowska Wydziaá Informatyki Politechnika Biaáostocka Deficja zale*noci funkcyjnych Klucze relacji Reguáy dotyczce

Bardziej szczegółowo

Plan wykładu. Elementy ERD BAZY DANYCH. Proces modelowania i implementacji bazy danych. Diagramy związków encji. SQL podzapytania

Plan wykładu. Elementy ERD BAZY DANYCH. Proces modelowania i implementacji bazy danych. Diagramy związków encji. SQL podzapytania Plan wykładu 2 BAZY DANYCH Wykład 4: Diagramy związków encji (ERD). SQL podzapytania. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Diagramy związków encji elementy ERD liczności związków

Bardziej szczegółowo

Materiały szkoleniowe. Podstawy jzyka SQL. Prowadzcy Anna Pijanowska - Kunierz Paweł ołnierczyk

Materiały szkoleniowe. Podstawy jzyka SQL. Prowadzcy Anna Pijanowska - Kunierz Paweł ołnierczyk Materiały szkoleniowe Podstawy jzyka SQL Prowadzcy Anna Pijanowska - Kunierz Paweł ołnierczyk Spis treci Zawarto tabel wykorzystywanych na kursie 5 Zawarto tabeli DEPT 6 Zawarto tabeli EMP 6 Zawarto tabeli

Bardziej szczegółowo

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce Plan wykładu Bazy danych Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl Proces dobrego projektowania

Bardziej szczegółowo

Bazy danych. Plan wykáadu. Proces modelowania i implementacji bazy danych. Elementy ERD

Bazy danych. Plan wykáadu. Proces modelowania i implementacji bazy danych. Elementy ERD Plan wykáadu Wykáad 2: Diagramy zwizków encji (ERD) SQL - áczenie tabel, zapytania grupujce Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory sáabych encji Maágorzata Krtowska,

Bardziej szczegółowo

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML Plan wykładu azy danych Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML Przykład sprowadzenia nieznormalizowanej relacji do 3NF SQL instrukcja EXISTS DDL DML (insert) Małgorzata Krtowska Katedra

Bardziej szczegółowo

Podzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek

Podzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym w innym poleceniu SELECT. Podzapytanie może wystąpić wszędzie tam, gdzie system spodziewa się zbioru wartości, czyli w klauzulach SELECT,

Bardziej szczegółowo

Materiały szkoleniowe. Podstawy języka SQL

Materiały szkoleniowe. Podstawy języka SQL Materiały szkoleniowe Podstawy języka SQL Spis treści Zawartość tabel wykorzystywanych na kursie... 4 Zawartość tabeli DEPT...5 Zawartość tabeli EMP...5 Zawartość tabeli SALGRADE...5 Budowa tabel wykorzystywanych

Bardziej szczegółowo

Bazy danych. Plan wykładu. Operacje w algebrze relacji. Pojcie algebry relacji. Wykład 8: Algebra relacji. SQL - cd

Bazy danych. Plan wykładu. Operacje w algebrze relacji. Pojcie algebry relacji. Wykład 8: Algebra relacji. SQL - cd Plan wykładu Bazy danych Wykład 8: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogociowe rzutowanie selekcja przemianowanie Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl

Bardziej szczegółowo

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL Plan wykładu Bazy danych Wykład 3: Relacyjny model danych. SQL Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - podstawy Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

3. Podzapytania, łączenie tabel i zapytań

3. Podzapytania, łączenie tabel i zapytań 3. Podzapytania, łączenie tabel i zapytań I. PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT w instrukcji SELECT,

Bardziej szczegółowo

PODZAPYTANIE (SUBSELECT)

PODZAPYTANIE (SUBSELECT) 2. Podzapytania PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT W instrukcji SELECT, podzapytanie może być umieszczone

Bardziej szczegółowo

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. 1 Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym

Bardziej szczegółowo

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE)

Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE) Zadania SELECT do schematu EDS (EMP, DEPT, SALGRADE) W Bazie występują trzy tabele, o następujących schematach: EMP {empno(pk), ename, deptno(fk), mgr(fk), sal, comm, hiredate, job} DEPT {deptno(pk), dname,

Bardziej szczegółowo

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji BAZY DANYCH WYKŁAD 5 Normalizacja relacji. Zapytania zagnieżdżone cd. Wady redundancji Konieczność utrzymania spójności kopii, Marnowanie miejsca, Anomalie. (Wybrane materiały) Dr inż. E. Busłowska Copyright

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

Bazy danych. Plan wykładu. Złczenia tabel. Perspektywy cd. Wykład 9: Programowanie aplikacji baz danych po stronie serwera. Sekwencje Wyzwalacze

Bazy danych. Plan wykładu. Złczenia tabel. Perspektywy cd. Wykład 9: Programowanie aplikacji baz danych po stronie serwera. Sekwencje Wyzwalacze Plan wykładu Bazy danych Wykład 9: Programowanie aplikacji baz danych po stronie serwera Sekwencje Wyzwalacze Bloki anonimowe Funkcje Procedury Pakiety Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

TECHNOLOGIE BAZ DANYCH

TECHNOLOGIE BAZ DANYCH TECHNOLOGIE BAZ DANYCH WYKŁAD 3 Diagramy związków encji. Funkcje agregujące. (Wybrane materiały) Dr inż. E. Busłowska Copyright 2014-2015 E. Busłowska. 1 DIAGRAMY ZWIĄZKÓW ENCJI (DZE) Metoda graficznej

Bardziej szczegółowo

Bazy danych. Plan wykładu. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania

Bazy danych. Plan wykładu. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania Plan wykładu Bazy danych Wykład 12: Optymalizacja zapyta Etapy przetwarzanie zapytania Implementacja wyrae algebry relacji Reguły heurystyczne optymalizacji zapyta Kosztowa optymalizacja zapyta Małgorzata

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

Bazy danych Podstawy teoretyczne

Bazy danych Podstawy teoretyczne Pojcia podstawowe Baza Danych jest to zbiór danych o okrelonej strukturze zapisany w nieulotnej pamici, mogcy zaspokoi potrzeby wielu u!ytkowników korzystajcych z niego w sposóbs selektywny w dogodnym

Bardziej szczegółowo

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne.

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. Plan wykładu Bazy danych Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - funkcje Deficja zalenoci funkcyjnych Klucze relacji Reguły dotyczce zalenoci funkcyjnych Domknicie zbioru atrybutów

Bardziej szczegółowo

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,

Bardziej szczegółowo

Bazy danych SQL. Wstp. SQL (Structured( Query Language) strukturalny jzyk zapyta

Bazy danych SQL. Wstp. SQL (Structured( Query Language) strukturalny jzyk zapyta Wstp (Structured( Query Language) strukturalny jzyk zapyta Podstawowe cechy jzyka : - zapytania wyszukiwanie danych w bazie danych, - operowanie danymi wstawianie, modyfikacja, usuwanie danych z bazy danych,

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

Podstawy języka SQL cz. 2

Podstawy języka SQL cz. 2 Podstawy języka SQL cz. 2 1. Operatory zbiorowe a. UNION suma zbiorów z eliminacją powtórzeń, b. EXCEPT różnica zbiorów z eliminacją powtórzeń, c. INTERSECT część wspólna zbiorów z eliminacją powtórzeń.

Bardziej szczegółowo

Funkcje analityczne SQL CUBE (1)

Funkcje analityczne SQL CUBE (1) Funkcje analityczne SQL CUBE (1) JOB DEPTNO SUM(SAL) --------- ---------- ---------- 29025 10 8750 20 10875 30 9400 CLERK 4150 CLERK 10 1300 CLERK 20 1900 CLERK 30 950 ANALYST 6000 ANALYST 20 6000 MANAGER

Bardziej szczegółowo

Bazy danych. Plan wykáadu. Diagramy ER. Podstawy modeli relacyjnych. Wykáad 3: Relacyjny model danych. SQL - zmienne podstawienia, funkcje

Bazy danych. Plan wykáadu. Diagramy ER. Podstawy modeli relacyjnych. Wykáad 3: Relacyjny model danych. SQL - zmienne podstawienia, funkcje Plan wykáadu Bazy danych Wykáad 3: Relacyjny model danych. SQL - zmienne podstawienia, funkcje Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - zmienne podstawienia, funkcje

Bardziej szczegółowo

Wprowadzenie do języka SQL

Wprowadzenie do języka SQL Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)

Bardziej szczegółowo

Hurtownie danych - przegląd technologii

Hurtownie danych - przegląd technologii Funkcje analityczne SQL CUBE (1) Hurtownie danych - przegląd technologii Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel JOB DEPTNO SUM(SAL) 8750

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Technologie baz danych Wykład 4: Diagramy związków encji (ERD). SQL funkcje grupujące. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Plan wykładu Diagramy związków encji elementy ERD

Bardziej szczegółowo

Laboratorium Bazy danych SQL 3 1

Laboratorium Bazy danych SQL 3 1 Laboratorium Bazy danych SQL 3 1 F U N K C J E operujące na grupach wierszy: avg([distinct all]kol) oblicza średnią arytmetyczną wartości kolumny kol wszystkich wierszy grupy. count([distinct all]wyr)

Bardziej szczegółowo

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

Bardziej szczegółowo

JPS Duży przykład ewaluacji zapytania. Michał Lentner Polsko-Japońska Wyższa Szkoła Technik Komputerowych

JPS Duży przykład ewaluacji zapytania. Michał Lentner Polsko-Japońska Wyższa Szkoła Technik Komputerowych JPS Duży przykład ewaluacji zapytania Michał Lentner Polsko-Japońska Wyższa Szkoła Technik Komputerowych Baza danych używana w przykładzie

Bardziej szczegółowo

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH Plan wykładu 2 ZY DNYH Wykład 3: Sprowadzanie do postaci normalnych. SQL zapytania grupujące Małgorzata Krętowska Wydział Informatyki Politechnika iałostocka Problemy w bazie danych Przykład sprowadzenia

Bardziej szczegółowo

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja Studia podyplomowe In»ynieria oprogramowania wspóªnansowane przez Uni Europejsk w ramach Europejskiego Funduszu Spoªecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarz dzania

Bardziej szczegółowo

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny Schemat bazy danych, wczytanej z pliku create_tables.sql Relacji między tabelami klucze obce Klucz obcy jako ograniczenie dla kolumny customer_id INTEGER NOT NULL REFERENCES customer(customer_id), CONSTRAINT

Bardziej szczegółowo

Oracle 12c: Nowości w SQL i PL/SQL

Oracle 12c: Nowości w SQL i PL/SQL Oracle 12c: Nowości w SQL i PL/SQL Marek Wojciechowski Politechnika Poznańska, PLOUG Nowe możliwości w klauzuli DEFAULT Odwołania do sekwencji Obsługa jawnie wstawianych wartości NULL Wartości na poziomie

Bardziej szczegółowo

Grupowanie i funkcje agregujące

Grupowanie i funkcje agregujące Grupowanie i funkcje agregujące Zadanie 1. Stwórz odpowiednią tabelę Test_agr i wprowadź odpowiednie rekordy tak, aby wynik zapytania SELECT AVG(kol) avg_all, AVG(DISTINCT kol) avg_dist, COUNT(*) count_gw,

Bardziej szczegółowo

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych Zaliczenie Bazy danych Wykáad 1: Wprowadzenie do baz danych Wykáad: Podstawowe informacje z zakresu baz danych - relacyjne bazy danych, SQL, indeksy, architektura baz danych Pracownia specjalistyczna:

Bardziej szczegółowo

Wymagania: Konstrukcja prostych zapytań w języku SQL, umiejętność wykorzystania funkcji wierszowych i agregujących.

Wymagania: Konstrukcja prostych zapytań w języku SQL, umiejętność wykorzystania funkcji wierszowych i agregujących. Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania podzapytań ń w zapytaniach języka ę SQL. Podzapytania są ą konstrukcjami, pozwalającymi na wykonywanie zapytań w stylu podaj nazwisko

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

Podzapytania do tabel W miejscu w którym możemy użyć nazwy tabeli, możemy użyć podzapytania

Podzapytania do tabel W miejscu w którym możemy użyć nazwy tabeli, możemy użyć podzapytania Plan Podzapytania (subqueries) Podzapytania do tabel Podzapytanie jako wyrażenie Podzapytania skorelowane operatory IN, NOT IN operatory EXISTS, NOT EXISTS Podzapytania do tabel W miejscu w którym możemy

Bardziej szczegółowo

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Bazy danych 2. Wykład 4 Structured Query Language (SQL) Bazy danych 2 Wykład 4 Structured Query Language (SQL) Cechy SQL W standardzie SQL wyróŝnia się dwie części: DDL (Data Definition Language) - język definiowania danych DML (Data Manipulation Language)

Bardziej szczegółowo

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem. Typy numeryczne Typy daty i czasu. W celu uniknięcia niejasności czy zapis 11-08-2005 oznacza - 11 sierpnia 2005, czy może 8 listopada 2005, należy ustalić sposób interpretacji daty (europejski lub amerykański).

Bardziej szczegółowo

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id;

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id; Dane z kilku tabel Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id; Łączenie kilku selectów w jeden posortowany wynik 1. UNION suma bez powtórzeń. Powoduje,

Bardziej szczegółowo

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie

Bardziej szczegółowo

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra Bazy danych 8. Podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Podzapytania Podzapytania pozwalaja na tworzenie strukturalnych podzapytań, co umożliwia izolowanie poszczególnych

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

JPS. cwiczenia 3. Stosy, proste zapytania. Michał Lentner Polsko-Japońska Wyższa Szkoła Technik Komputerowych

JPS. cwiczenia 3. Stosy, proste zapytania. Michał Lentner Polsko-Japońska Wyższa Szkoła Technik Komputerowych JPS cwiczenia 3. Stosy, proste zapytania Michał Lentner Polsko-Japońska Wyższa Szkoła Technik Komputerowych Baza danych używana w przykładach Baza danych używana w przykładach

Bardziej szczegółowo

sqlplus [ użytkownik [ / hasło ] ]

sqlplus [ użytkownik [ / hasło ] ] Uruchomienie SQL*Plus: sqlplus [ użytkownik [ / hasło ] ] Zasady wpisywania komend PL/SQL: komendy mogą być wieloliniowe nie można skracać słów kluczowych można oddzielać słowa spacjami lub tabulacją słowa

Bardziej szczegółowo

WYKŁAD 1. Wprowadzenie do problematyki baz danych

WYKŁAD 1. Wprowadzenie do problematyki baz danych WYKŁAD 1 Wprowadzenie do problematyki baz danych WYKŁAD 2 Relacyjny i obiektowy model danych JĘZYK UML (UNIFIED MODELING LANGUAGE) Zunifikowany język modelowania SAMOCHÓD

Bardziej szczegółowo

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej SQL

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej SQL Plan wykładu 2 ZY DNYH Wykład 2: Sprowadzanie do postaci normalnych. SQL. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej relacji do 3NF SQL Małgorzata Krętowska Wydział Informatyki Politechnika

Bardziej szczegółowo

Lista zadań nr 1. Bazy danych laboratorium. dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz

Lista zadań nr 1. Bazy danych laboratorium. dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz Bazy danych laboratorium dr inż. Grzegorz Bazydło, dr inż. Jacek Tkacz G.Bazydlo@iie.uz.zgora.pl, www.uz.zgora.pl/~gbazydlo Lista zadań nr 1 Zagadnienia Poznanie narzędzia DBeaver. Konfiguracja połączenia

Bardziej szczegółowo

Postać normalna Boyce-Codd (BCNF)

Postać normalna Boyce-Codd (BCNF) Postać normalna Boyce-Codd (BCNF) Grunty Id_Własności Wojewódz. Id-gruntu Obszar Cena Stopa_podatku Postać normalna Boyce-Codd a stanowi warunek dostateczny 3NF, ale nie konieczny. GRUNTY Id_Własności

Bardziej szczegółowo

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING. Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING. 1 Funkcje grupowe (agregujące) (1) Działają na zbiorach rekordów, nazywanych grupami. Rekordy

Bardziej szczegółowo

Podzapytania. Podzapytania nieskorelowane i skorelowane

Podzapytania. Podzapytania nieskorelowane i skorelowane Podzapytania w SQL 1 Bazy Danych Wykład p.t. Podzapytania. Zagnieżdżanie zapytań. Podzapytania nieskorelowane i skorelowane Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano

Bardziej szczegółowo

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga Bazy Danych i Systemy informacyjne Wykład 1 Piotr Syga 09.10.2017 Ogólny zarys wykładu Podstawowe zapytania SQL Tworzenie i modyfikacja baz danych Elementy dynamiczne, backup, replikacja, transakcje Algebra

Bardziej szczegółowo

Standard SQL/XML. Wprowadzenie do XQuery

Standard SQL/XML. Wprowadzenie do XQuery Standard SQL/XML Wprowadzenie do XQuery Marek Wojciechowski marek@cs.put.poznan.pl http://www.cs.put.poznan.pl/~marek/ Języki zapytań dla XML Wraz z pojawieniem się standardu XML pojawiały się również

Bardziej szczegółowo

Bazy danych 6. Podzapytania i grupowanie. P. F. Góra

Bazy danych 6. Podzapytania i grupowanie. P. F. Góra Bazy danych 6. Podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Podzapytania Podzapytania pozwalaja na tworzenie strukturalnych podzapytań, co umożliwia izolowanie poszczególnych

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Przycisk pracy. Przycisk stopu/kasowanie

Przycisk pracy. Przycisk stopu/kasowanie RUN STOP/RST ELEMENT KLWAIARTURY PRZYCISK RUN PRZYCISK STOP/RST POTENCJOMETR min-max PRZEŁCZNIK NPN/PNP PRZEŁCZNIK 4-KIERUNKOWY FUNKCJA Przycisk pracy Przycisk stopu/kasowanie Czstotliwo Wybór Przycisk

Bardziej szczegółowo

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

Bardziej szczegółowo

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup Grupowanie i funkcje agregacji Grupowanie z użyciem rollup Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Zależności funkcyjne

Zależności funkcyjne Zależności funkcyjne Plan wykładu Pojęcie zależności funkcyjnej Dopełnienie zbioru zależności funkcyjnych Postać minimalna zbioru zależności funkcyjnych Domknięcie atrybutu relacji względem zależności

Bardziej szczegółowo

Normalizacja relacyjnych baz danych. Sebastian Ernst

Normalizacja relacyjnych baz danych. Sebastian Ernst Normalizacja relacyjnych baz danych Sebastian Ernst Zależności funkcyjne Zależność funkcyjna pomiędzy zbiorami atrybutów X oraz Y oznacza, że każdemu zestawowi wartości atrybutów X odpowiada dokładnie

Bardziej szczegółowo

Grupowanie i funkcje agregacji

Grupowanie i funkcje agregacji Grupowanie i funkcje agregacji Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula GROUP BY Grupowanie polega

Bardziej szczegółowo

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych Zaliczenie Bazy danych Wykáad 1: Wprowadzenie do baz danych Wykáad: Podstawowe informacje z zakresu baz danych - relacyjne bazy danych, SQL, indeksy, architektura baz danych Pracownia specjalistyczna:

Bardziej szczegółowo

Bazy danych 3. Normalizacja baz danych (c.d.)

Bazy danych 3. Normalizacja baz danych (c.d.) Bazy danych 3. Normalizacja baz danych (c.d.) P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012/13 Postać normalna Boyce a-codda Tabela jest w postaci normalnej Boyce a-codda (BCNF, PNBC), jeżeli 1.

Bardziej szczegółowo

Przykłady wyrae uywanych w kwerendach i filtrach

Przykłady wyrae uywanych w kwerendach i filtrach Przykłady wyrae uywanych w kwerendach i filtrach Przykłady kryteriów stosowanych przy pobieraniu rekordów Zakresy wartoci (>, =, 234 Dla pola Ilo; wywietla liczby wiksze

Bardziej szczegółowo

Fazy przetwarzania zapytania zapytanie SQL. Optymalizacja zapytań. Klasyfikacja technik optymalizacji zapytań. Proces optymalizacji zapytań.

Fazy przetwarzania zapytania zapytanie SQL. Optymalizacja zapytań. Klasyfikacja technik optymalizacji zapytań. Proces optymalizacji zapytań. 1 Fazy przetwarzania zapytanie SQL 2 Optymalizacja zapytań część I dekompozycja optymalizacja generacja kodu wyraŝenie algebry relacji plan wykonania kod katalog systemowy statystyki bazy danych wykonanie

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia IV Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 1 / 13 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

Bardziej szczegółowo

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji Plan wykładu Bazy danych Wykład 12: Optymalizacja zapytań. Język DDL, DML (cd) Etapy przetwarzania zapytania Implementacja wyrażeń algebry relacji Reguły heurystyczne optymalizacji zapytań Kosztowa optymalizacja

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia III Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. III Jesień 2011 1 / 1 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia

Bardziej szczegółowo

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych Andrzej Bąk Wstęp Zarys Co to jest baza danych? Podstawy teorii baz danych Klasyfikacja baz danych Organizacja danych w relacyjnej

Bardziej szczegółowo

Laboratorium Bazy danych SQL 2

Laboratorium Bazy danych SQL 2 Klauzula order by występuje jako ostatnia klauzula w poleceniu select, powoduje posortowanie wierszy będących wynikiem zapytania według wartości atrybutu w niej wskazanego. Domyślnie sortowanie jest według

Bardziej szczegółowo

Języki i środowiska przetwarzania danych rozproszonych

Języki i środowiska przetwarzania danych rozproszonych Języki i środowiska przetwarzania danych rozproszonych Wprowadzenie do przetwarzania kolekcji w językach programowania Wykładowca: Tomasz Kowalski Wykład przygotowany na podstawie materiałów prof. Kazimierza

Bardziej szczegółowo

Lista zadań nr 1. 4. Wyświetlić imię i nazwisko dla każdego pracownika z departamentu DEP T NO o numerze 000.

Lista zadań nr 1. 4. Wyświetlić imię i nazwisko dla każdego pracownika z departamentu DEP T NO o numerze 000. Lista zadań nr 1 Zapytania SQL, SELECT z klauzulą WHERE i ORDER BY 1. Wyświetlić zawartość tablicy z pracownikami (EMPLOYEE). 2. Wyświetlić nazwisko i imię LAST NAME, F IRST NAME dla każdego pracownika.

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Model relacyjny Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 1 / 50 Iloczyn kartezjański Iloczyn kartezjański zbiorów A, B

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

Normalizacja. Pojęcie klucza. Cel normalizacji

Normalizacja. Pojęcie klucza. Cel normalizacji Plan Normalizacja Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1. Cel normalizacji. 2. Klucze schematów relacyjnych atrybuty kluczowe i niekluczowe. 3. 2PN druga postać normalna. 4. 3PN trzecia

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo