Tadeusz Pankowski Relacyjne bazy danych. są podstawą zachodniej cywilizacji

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

Download "Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Relacyjne bazy danych. są podstawą zachodniej cywilizacji"

Transkrypt

1 Relacyjne bazy danych Tadeusz Pankowski 1 Model danych Relacyjne bazy danych są podstawą zachodniej cywilizacji 3 Model danych: Aspekt strukturalny: Zbiór struktur danych, zbiór operacji na tych strukturach, zbiór zależności między danymi. Aspekt semantyczny: Ustalenie znaczeń znaczenie (semantyka) struktur danych względem wiedzy o świecie rzeczywistym, określenie semantyki (wartości) operacji. Aspekt pragmatyczny: Określenie zasad korzystania z modelu danych w systemie bazy danych dla rozwiązywania konkretnych problemów (reprezentacja stanu systemu rzeczywistego, formułowanie zapytań, wykonywanie transakcji,...). 4

2 Baza danych Baza danych: jest logicznie spójnym zbiorem danych posiadających określoną strukturę, na których można wykonywać określone operacje (aspekt składniowy i operacyjny); reprezentuje pewien fragment świata rzeczywistego zwanego dziedziną przedmiotową (application domain); zmiany w dz.p. odzwierciedlane są w bazie danych (aspekt semantyczny); jest projektowana, tworzona i utrzymywana z punktu widzenia przydatności dla określonych zastosowań, którymi zainteresowana jest określona grupa użytkowników (aspekt pragmatyczny). 5 Relacyjny model danych E.F. Codd, "A relational model of data for large shared data banks", Communications of ACM 13 (3), 1970, ss Model danych (podstawa teoretyczna): struktura: dane proste (atomowe), krotki, tabele (relacje); operacje: wyszukiwanie: operacje algebry relacji, rachunki relacji operacje: definiowania, wyszukiwania, aktualizacji, administrowania (język SQL) ograniczenia (warunki spójności) (więzy integralności): zależności funkcyjne, zależności kluczowe (klucze główne), zależności referencyjne, zależności zawierania (klucze obce), ograniczenia na wartości (typy danych, dopuszczalne zbiory wartości, przedziały wartości),... 6 Relacyjne (SQL-owe) bazy danych Relacyjny model danych Relacyjne bazy danych = SQL-owe bazy danych wykraczają poza teoretyczny model relacyjny (włączają koncepcje obiektowości, XML, programowanie), SQL-owe bazy danych standard SQL-92 standard SQL:1999, SQL:2003, SQL:2006, SQL:2008 Najważniejsze relacyjne SZBD: Oracle 9i, 10g MS SQL Server 2000, 2005, 2008 DB2, Sybase, Interbase,... Inne systemy relacyjne dbase, Clipper, Xbase (stare systemy powszechne w Polsce) Access (Microsoft) MySQL, PostgreSQL (oprogramowanie wolne). 7 8

3 Relacyjny model danych Atrybut symbol, nazwa (np. Nazwisko, NrEwid, DataUr, Cena,...), U = {A 1,..., A n } zbiór atrybutów. Dziedzina atrybutu Dom(A), zbiór dopuszczalnych wartości atrybutu A. Wszystkie wartości są proste (atomowe). Wyróżniona wartość pusta NULL Dom(A). Krotka (wiersz, rekord) typu U r = [A 1 :a 1,..., A n :a n ], a i Dom(A i ), [ ] krotka pusta, r = (a 1,..., a n ) zapis uproszczony, gdy ustalona jest kolejność atrybutów, Tabela (relacja) R typu U skończony zbiór (wielozbiór mogą występować duplikaty!) krotek typu U. Formalnie: Krotka jest funkcją z U do V=Dom(A 1 )... Dom(A n ), r : U V r (A) i = r.a i Dom(A i ). 9 Algebra relacji Att nieskończony i przeliczalny zbiór atrybutów, Val zbiór wartości Algebrą relacji nazywamy następującą strukturę: AlgRel Att,Val = (Tab, {,, π X, δ X Y,, σ E }), gdzie: Tab zbiór wszystkich tabel utworzonych nad zbiorami Att i Val; suma mnogościowa tabel (tego samego typu), różnica mnogościowa tabel (tego samego typu), π X projekcja tabeli na zbiór atrybutów X, δ X Y przemianowanie tabeli poprzez zmianę nazw kolumn z X na Y, złączenie naturalne tabel o dowolnych typach, σ E selekcja tabeli według warunku selekcji E. W języku algebry relacji istnieją: nazwy tabel (symbole relacyjne), które interpretowane są jako tabele, nazwy operacji (będą one tożsame z symbolami stosowanymi powyżej). 10 Operacje na tabelach (relacjach) Dwie grupy operacji: 1. Operacje mnogościowe - wynikają z faktu, że tabela jest zbiorem: suma, różnica, przekrój. 2. Operacje relacyjne - wynikają z faktu, że tabela jest (wielo)zbiorem funkcji (krotek): projekcja, przemianowanie, złączenie, selekcja (+ pochodne: iloczyn kartezjański, złączenia zewnętrzne, podzielenie). Suma mnogościowa R, S tabele jednakowego typu U, Wynik tabela typu U. Suma mnogościowa (union): R S = { t t R t S}. SQL (UNION usuwa duplikaty, UNION ALL pozostawia duplikaty) tudent union select * from Pracownik Student Pracownik Student ALL Pracownik 11 12

4 R S Suma mnogościowa R S = { t t R t S} wynik jest zbiorem, nie zawiera duplikatów union R ALL S = { (k+j)*t k*t R j*t S} wynik jest wielozbiorem, zawiera duplikaty. (k*t R oznacza, że krotka t występuje k razy w tabeli R) Różnica mnogościowa R, S tabele jednakowego typu U, Wynik tabela typu U. Różnica mnogościowa (difference): R S = { t t R t S}. SQL (except usuwa duplikaty): except union all Różnica mnogościowa Student Pracownik Student Pracownik S Różnica mnogościowa S R = { t t S t R} wynik jest zbiorem, nie zawiera duplikatów except SQL (except usuwa duplikaty): tudent except select * from Pracownik SQL (not exists): tudent as S where not exists (select * from Pracownik P where S.Nazwisko=P.Nazwisko and S.Kierunek = P.Kierunek) 15 R S LDup R = { k*t k*t S t R} wynik jest wielozbiorem, zawiera duplikaty where not exists( where R.A = S.A and S.B=R.B) 16

5 Przekrój R, S tabele jednakowego typu U, Wynik tabela typu U. Przekrój mnogościowy (intersection): R S = { t t R t S}. Przekrój Student Pracownik Student Pracownik SQL (intersect usuwa duplikaty): : intersect SQL (intersect usuwa duplikaty): tudent intersect select * from Pracownik 17 SQL (exists): tudent as S where exists (select * from Pracownik P where S.Nazwisko=P.Nazwisko and S.Kierunek = P.Kierunek) 18 Przekrój R R S = { t t R t S} wynik jest zbiorem, nie zawiera duplikatów intersect R S = S R S R LDup S = { k*t k*t R t S} wynik jest wielozbiorem, zawiera duplikaty where exists( where R.A=S.A and S.B=R.B) R S S R 19 Operacje na krotkach projekcja (rzut) krotki Przykład: π {A,C} ([A:a, B:b, C:c]) = [A:a, C:c] Definicja (projekcja krotki na zbiór atrybutów) Niech r będzie krotką typu U, i niech X będzie podzbiorem U, X U. Projekcją (rzutem, ograniczeniem) (ang. projection) krotki r na zbiór X, co oznaczamy π X (r), nazywamy krotkę typu X taką, która jest identyczna z krotką r na zbiorze atrybutów X, tj.: t = π X (r), jeśli dla każdego A X, t.a = r. A. (t.a oznacza wartość krotki t na atrybucie A). Gdy X jest zborem pustym (X = {}), to projekcja dowolnej krotki na X jest krotką pustą, tj. π {} (t) = [] Przykład: π {} ([A:a, B:b, C:c]) = []. 20

6 Operacje na krotkach przemianowanie (atrybutów w krotce) Przykład: δ A D ([A:a, B:b, C:c]) = [D:a, B:b, C:c]. Definicja (przemianowanie atrybutów w krotce) Niech r będzie krotką typu U, B atrybutem w U i C atrybutem nie należącym do U. Przemianowaniem atrybutu B na C w krotce r, co oznaczamy δ B C (r), nazywamy krotkę t powstałą z r przez zamianę atrybutu B na C, tj. taką krotkę t typu U {B} {C}, że: t.a = r. A, dla każdego A U {B}, t.c = r.b. Uogólnienie na ciągi atrybutów: Niech X=(B 1,, B k ) i Y=(C 1,, C k ) będą ciągami atrybutów, X U, Y U = {}. Przemianowanie atrybutów z X na odpowiadające im atrybuty z Y w krotce r definiujemy następująco: δ X Y (r) = δ B k Ck (... (δ B1 C1 (r))...). 21 Operacje na krotkach złączenie krotek Przykłady: [A:a,B:b,C:c] [D:d,E:e] = [A:a,B:b,C:c,D:d,E:e] krotki rozłącznych typów; [A:a,B:b,C:c] [B:b,E:e] = [A:a,B:b,C:c,E:e] krotki nierozłącznych typów; [A:a,B:b,C:c] [] = [A:a,B:b,C:c] złączenie z krotką pustą nie zmienia krotki; Definicja (złączenie krotek) Niech r będzie krotką typu X, a s krotką typu Y. Jeśli zbiór r s jest krotką, to nazywamy go złączeniem naturalnym r i s, i oznaczamy r s. Jeśli r s nie spełnia warunków krotki, to mówimy, że r i s są niezłączalne. [A:a, B:b, C:c] i [B:d, E:e] krotki niezłączalne! suma [A:a, B:b, C:c, B:d, E:e] nie jest krotką bo atrybut B występuje dwa razy raz z wartością 'b' i powtórnie z wartością 'd'. 22 Właściwości projekcji i złączenia krotek (5) π {} (t) = [] wynikiem projekcji krotki na zbiór pusty jest krotka pusta []; r r = r złączenie krotki z samą sobą nie zmienia krotki; r s = s t złączenie krotek jest przemienne; r (s t) = (r s) t złączenie krotek jest łączne; r [] = r krotka pusta jest elementem neutralnym dla złączenia; 23 Spełnianie warunku przez krotkę Krotki: r = [NrStud:2345, Kierunek: mat ] s = [NrStud:2346, Kierunek:NULL] Warunek: E = Kierunek = mat E = (Kierunek = mat or Kierunek = fiz ) and NrStud 2345 Spełnianie: E(r) = (Kierunek = mat )([NrStud:2345, Kierunek: mat ]) = TRUE E(s) TRUE, E(s) FALSE,? E(s) = UNKNOWN, (E(s) = NULL)! Uwaga: Występowanie wartości NULL powoduje, że działamy w logice trójwartościowej z wartościami logicznymi: {TRUE, FALSE, UNKNOWN} (lub {T, F, U}). Dowolne porównanie z NULL daje wartość logiczną UNKNOWN. t.aθnull = UNKNOWN, NULL θ x, daje UNKNOWN dla każdego x, również równego NULL. 24

7 Spełnianie warunku (logicznego) przez krotkę Definicja (warunek nad zbiorem atrybutów U) Niech U będzie zbiorem atrybutów, a Const zbiorem stałych (liczb, tekstów). Niech: A, A' U, c Const, θ {=,, <, <=, >, >=, like,... } operator porównania. Warunkiem nad U nazywamy wyrażenie logiczne E o następującej składni: E ::= A θ c A θ A' (E ) not E E or E E and E Krotka r typu U spełnia warunek E, E (r ) = TRUE, jeśli wyrażenie powstałe z E przez podstawienie za każde wystąpienie atrybutu A wartości r.a jest prawdziwe. Spełnianie warunku przez krotkę Przykłady (3): E := (Kierunek= mat or Kierunek= fiz ) (Kierunek= mat or Kierunek= fiz )([NrStud:2345, Kierunek: mat ]) = ( mat = mat or mat = fiz ) = TRUE (Kierunek= mat or Kierunek= fiz )([NrStud:2345, Kierunek: inf ]) = ( inf = mat or inf = fiz ) = FALSE (Kierunek= mat or Kierunek= fiz )([NrStud:2345, Kierunek:NULL]) = (NULL = mat or NULL = fiz ) = UNKNOWN Operacje na tabelach (4) 1. Projekcja: π X (R) = {π X (r) r R } 2. Przemianowanie: δ X Y (R) := {δ X Y (r) r R } 3. Złączenie naturalne: R S = {r s r R, s S } 4. Selekcja: σ E (R ) = {r r R E (r ) = TRUE} Operacje na tabelach projekcja Projekcja: π X (R) = {π X (r) r R } 27 28

8 Projekcja Projekcja Szczególny przypadek: Problem duplikatów Czy (pielęgniarka, 1 500,00) powinna dwa razy występować w π {Stanowisko, Płaca} (Pracownik)? - tak, jeśli chcemy wyliczyć średnią płacę, - nie, jeśli sporządzamy wykaz stanowisk i płace na tych stanowiskach. π {} (R) = if R = {} then {} else {[]} 29 SQL: select Stanowisko, Płaca from Pracownik usuwanie duplikatów: select distinct Stanowisko, Płaca from Pracownik 30 Operacje na tabelach przemianowanie Przemianowanie (przykład) Przemianowanie: δ A B (R) := {δ A B (r) r R } Dla relacji: Studenci(IdStud, Nazwisko, Data_ur, Miejscowość) δ Miejscowość Miasto (Studenci) SQL: SELECT IdStud, Nazwisko, Data_ur, Miejscowość AS Miasto FROM Studenci 31 32

9 Operacje na tabelach złączenie (naturalne) Złączenie naturalne (c.d.) Złączenie (naturalne): R S = {r s r R, s S } >< Złączenie naturalne (c.d.) Złączenie naturalne (c.d.) >< W złączenie naturalnym dwóch tabel R i S typów odpowiednio X i Y: atrybuty występujące w X mogą występować także w Y, relacja wynikowa zawiera sumę atrybutów z X i Y (bez powtórzeń), łączone są te krotki, które na wspólnych atrybutach mają jednakowe wartości. 36

10 Złączenie naturalne (c.d.) Złączenie naturalne tabel właściwości (4) Szczególne przypadki złączenia: R relacja typu X, S relacja typu Y. 1. Jeśli X = Y, to R S = R S dla tabel tego samego typu złączenie naturalne jest ich przekrojem. SQL: lub: select Nazwisko, P.Oddział, Ordynator from Pracownik P, Oddział O where P.Oddział = O.Oddział select Nazwisko, P.Oddział, Ordynator from Pracownik P join Oddział O on P.Oddział = O.Oddział Jeśli X Y = {}, to R S = R S dla tabel o rozłącznych typach złączenie naturalne jest ich iloczynem kartezjańskim (każda krotka z R łączy się z każdą krotką z S). 3. R {[]} = R, (tzn. Y={}, S={[]}, uwaga {} = ) wynikiem złączenia tabeli R z tabelą zawierającą krotkę pustą (tabela typu pustego), jest tabela R. 4. R {} = {}, (tzn. S={}) wynikiem złączenia tabeli R z tabelą pustą (dowolnego typu), jest tabela pusta. 38 Złączenie właściwości (4) Ilustracja właściwości (4) Twierdzenie (właściwości złączenia naturalnego) R tabela typu U, wówczas: 1. R S = S R złączenie jest przemienne. 2. (R S) T = R (S T) złączenie jest łączne. 3. Jeśli X U, to R π X (R) = R złączenie tabeli R z dowolną swoją projekcją daje w wyniku R. 4. Jeśli X Y = U, to R π X (R) π Y (R) tabela jest zawarta w złączeniu dowolnych dwóch swoich projekcji, których suma typów jest równa typowi relacji. Zachodzi zawieranie a nie równość (!). Sprz IdKli IdTow Data a x 1 a x 2 a y 2 b y 3 Sprz π {IdKli,IdTow} (Sprz) π {IdKli,Data} (Sprz), krotka [a, y, 1] nie należy do Sprz! π IdKli,IdTow (Sprz) π IdKli,Data (Sprz) IdKli IdTow IdKli Data a x a 1 a y a 2 b y b 3 π IdKli,IdTow (Sprz) π IdKli,Data (Sprz) IdKli IdTow Data a x 1 a x 2 a y 1 a y 2 b y 3? 39 40

11 Ilustracja właściwości (4) Operacje na tabelach selekcja Sprz π IdKli,IdTow (Sprz) π IdKli,Data (Sprz) IdKli IdTow Data a x 1 a x 2 a y 2 b y 3 IdKli a a b IdTow x y y IdKli Data a 1 a 2 b 3 Selekcja: σ E (R ) = {r r R E (r ) = TRUE} π IdKli,IdTow (Sprz) π IdKli,Data (Sprz) IdKli IdTow Data a x 1 a x 2 a y 1 a y 2? Wynikiem selekcji jest zbiór tych krotek tabeli R, które spełniają warunek E. b y Selekcja - przykład select * from Studenci where Data_ur > and Miejscowosc < > Poznań Pochodne operacje na tabelach iloczyn kartezjański Definicja: Jeśli R i S są tabelami rozłącznych typów, to ich złączenie naturalne nazywamy iloczynem kartezjańskim: R S = R S = {r s r R, s S }. Operacja iloczynu kartezjańskiego jest często poprzedzana operacją przemianowania, aby uzyskać rozłączne nazwy kolumn. Każda krotka z R jest łączona z każdą krotką z S. Jeśli R ma n R kolumn i m R wierszy, a S ma n S kolumn i m S wierszy, to: R S ma n R + n S kolumn i m R *m S wierszy

12 SQL: lub Iloczyn kartezjański (c.d.) P P O O select P.Nazwisko, P.Oddział, O.Oddział, O.Ordynator from Pracownik P, Oddział O select P.*, O.* from Pracownik P, Oddział O Definicja (θ-złączenie) Złączenie warunkowe, θ-złączenie (θ-join) Niech R i S będą tabelami rozłącznych typów, odpowiednio X i Y, a E niech będzie warunkiem selekcji nad zbiorem atrybutów X Y. Złączeniem (warunkowym) tabel R i S, względem warunku E, nazywamy selekcję iloczynu kartezjańskiego R i S względem warunku E R E S = σ E (R S), Złączenia zewnętrzne (OUTER JOIN) Złączenie zewnętrzne lewostronne LEFT OUTER JOIN (LOJ) Celem wprowadzenia złączenia zewnętrznego jest to, aby w relacji wynikowej zawarte były wszystkie krotki należące do jednego z argumentów (relacji leżącej po lewej bądź po prawej stronie operatora), albo do obydwu tych argumentów i to niezależnie od tego, czy dla danej krotki istnieje dopasowana do niej krotka należąca do drugiej relacji, czy nie. Wyróżniamy: 1. Złączenie zewnętrzne lewostronne - LEFT OUTER JOIN 2. Złączenie zewnętrzne prawostronne - RIGHT OUTER JOIN 3. Złączenie zewnętrzne pełne - FULL OUTER JOIN Definicja Niech R i S będą tabelami (rozłącznych) typów odpowiednio X i Y, a E niech będzie warunkiem selekcji nad zbiorem atrybutów X Y. Lewostronnym złączeniem zewnętrznym tabel R i S względem E, co oznaczamy, R + E S, nazywamy następującą tabelę typu X Y: R + E S = R E S (R π X (R E S)) Null(Y). Do wyniku należą więc wszystkie krotki lewego operanda (R) złączone bądź z dopasowanymi krotkami tabeli S, bądź z wartościami NULL, gdy brak dla nich w S dopasowanych krotek

13 Złączenie zewnętrzne lewostronne - przykład Podaj dane o wszystkich studentów wraz z informacjami o zdanych przez nich egzaminach: Złączenie zewnętrzne prawostronne RIGHT OUTER JOIN (ROJ) Definicja Niech R i S będą tabelami (rozłącznych) typów odpowiednio X i Y, a E niech będzie warunkiem selekcji nad zbiorem atrybutów X Y. Prawostronnym złączeniem zewnętrznym tabel R i S względem E, co oznaczamy, R + E S, nazywamy następującą tabelę typu X Y: R + E S = R E S Null(X) (S π Y (R E S)). Do wyniku należą więc wszystkie krotki prawego operanda (S) złączone bądź z dopasowanymi krotkami tabeli R, bądź z wartościami NULL, gdy brak dla nich w R dopasowanych krotek Złączenie zewnętrzne prawostronne - przykład Złączenie zewnętrzne pełne FULL OUTER JOIN (FOJ) Definicja Niech R i S będą tabelami typów odpowiednio X i Y, a E niech będzie warunkiem selekcji nad zbiorem atrybutów X Y. Pełnym złączeniem zewnętrznym tabel R i S względem E, co oznaczamy, R + + E S, nazywamy sumę mnogościową złączeń lewo- i prawostronnego tabel R i S względem warunku E: R + + E S = R + E S R + E S 51 52

14 Złączenie zewnętrzne pełne -przykład Podzielenie (division) Podaj wszystkich studentów, wszystkich pracowników wraz z informacjami o promotorstwie prac magisterskich. Definicja Niech dane będą relacje R(U) i S(X) i niech X U. Podzieleniem relacji R(U) przez S(X) nazywamy relację R S, taką że: R S := {t π U X (R) s S. t s R} Podzielenie - przykład Podaj numery studentów, którzy zdawali egzamin z każdego przedmiotu. Podzielenie wyrażenie za pomocą innych operacji T1 π U X (R) T1 π NrStud (Egzamin) T2 π U X ((S T1) R) T2 π NrStud ((Przedmiot T1) Egzamin) T = T1 T2 T = T1 T2 Przedmiot T1 Przedmiot T1 Egzamin 55 56

15 Podzielenie wyrażenie za pomocą innych operacji Podzielenie (c.d) Podaj numery studentów, którzy zdawali egzamin z każdego przedmiotu. R(U) S(X) = {t π U X (R) s S (t s R)}. Inaczej: R(U) S(X) = π U X (R) π U X ((π U X (R) S) R) R(U) S(X) = {t π U X (R) count({s π X (R) t s R}) = count(s)}. Wyraża zapytanie typu dla-każdego Schemat rozumowania (z podwójną negacją): studenci, dla których nie istnieje przedmiot, z którego nie zdawali egzaminu select distinct E.NrStud from Egzamin E where not exists (select * from Przedmiot P where not exists (select * from Egzamin E1 where E1.NrPrzed = P.NrPrzed and E1.NrStud = E.NrStud))) Podzielenie (c.d) {e.nrstud Egzamin(E) p(przedmiot(p) e1 (Egzamin(e1) e1.nrprzed=p.nrprzed e1.nrstud= e.nrstud))} Zastąpienie : x(ϕ ϕ ) ( x(ϕ ϕ ϕ )) {e.nrstud Egzamin(E) p(przedmiot(p) e1 (Egzamin(e1) e1.nrprzed=p.nrprzed e1.nrstud= e.nrstud))} select E.NrStud from Egzamin E where not exists (select * from Przedmiot P where not exists (select * from Egzamin E1 where E1.NrPrzed = P.NrPrzed and E1.NrStud = E.NrStud))) 59

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n.

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n. Algebra relacji Definicja 1 (Relacja matematyczna). Relacją R między elementami zbioru D 1 D 2 D n, gdzie przypomnijmy D 1 D 2 D n = {(d 1, d 2,..., d n ) : d i D i, i = 1, 2,..., n}, nazywamy każdy podzbiór

Bardziej szczegółowo

1 Wstęp do modelu relacyjnego

1 Wstęp do modelu relacyjnego Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

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

RBD Relacyjne Bazy Danych

RBD Relacyjne Bazy Danych Wykład 7 RBD Relacyjne Bazy Danych Bazy Danych - A. Dawid 2011 1 Selekcja σ C (R) W wyniku zastosowania operatora selekcji do relacji R powstaje nowa relacja T do której należy pewien podzbiór krotek relacji

Bardziej szczegółowo

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania

Bardziej szczegółowo

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 5 Strukturalny język zapytań (SQL - Structured Query Language) Algebraiczny rodowód podstawowe działania w przykładach Bazy danych.

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

Operacja Teta-złączenia. v1 v1 Θ v2

Operacja Teta-złączenia. v1 v1 Θ v2 Operacja Teta-złączenia Dane są: r(r) tabela r o schemacie R, A R s(s) tabela s o schemacie S, B S R i S nie zawierają tych samych nazw (R S = Ø) Θ {>, =,

Bardziej szczegółowo

Bazy danych. Informacje podstawowe

Bazy danych. Informacje podstawowe Bazy danych Zagadnienia Podstawy relacyjnych baz danych SQL Języki manipulowania w relacjach Aspekty aktywne baz danych Aspekty systemowe baz danych Projektowanie baz danych Zależności funkcyjne i postacie

Bardziej szczegółowo

Projektowanie relacyjnych baz danych

Projektowanie relacyjnych baz danych Mam nadzieję, że do tej pory przyzwyczaiłeś się do tabelarycznego układu danych i poznałeś sposoby odczytywania i modyfikowania tak zapisanych danych. W tym odcinku poznasz nieco teorii relacyjnych baz

Bardziej szczegółowo

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski BAZY DANYCH algebra relacyjna Opracował: dr inż. Piotr Suchomski Wprowadzenie Algebra relacyjna składa się z prostych, ale mocnych mechanizmów tworzenia nowych relacji na podstawie danych relacji. Hdy

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

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe

Bardziej szczegółowo

Bazy danych. Algebra relacji

Bazy danych. Algebra relacji azy danych lgebra relacji Model danych Model danych to spójny zestaw pojęć służący do opisywania danych i związków między nimi oraz do manipulowania danymi i ich związkami, a także do wyrażania więzów

Bardziej szczegółowo

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1 Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie

Bardziej szczegółowo

Wykład 6. SQL praca z tabelami 3

Wykład 6. SQL praca z tabelami 3 Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1

Bardziej szczegółowo

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

Bardziej szczegółowo

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Iloczyn kartezjański, połączenie równościowe, połączenie nierównościowe, połączenie zwrotne, połączenie zewnętrzne, składnia jawna połączeń, składnia

Bardziej szczegółowo

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH Wstęp do SQL SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym.

Bardziej szczegółowo

Bazy danych Algebra relacji Wykład dla studentów matematyki

Bazy danych Algebra relacji Wykład dla studentów matematyki Bazy danych Algebra relacji Wykład dla studentów matematyki 8 marca 2015 Algebra relacji Model teoretyczny do opisywania semantyki relacyjnych baz danych, zaproponowany przez T. Codda (twórcę koncepcji

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Definicja. Definicja

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Definicja. Definicja Plan Zależności funkcyjne 1. Zależności funkcyjne jako klasa ograniczeń semantycznych odwzorowywanego świata rzeczywistego. 2. Schematy relacyjne = typ relacji + zależności funkcyjne. 3. Rozkładalność

Bardziej szczegółowo

- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego

- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego Dr inż. Ludmiła Rekuć p. 58 B4 www.ioz.pwr.wroc.pl, ludmila.rekuc@pwr.wroc.pl Dr inż. Witold Rekuć p. 57 B4 www.ioz.pwr.wroc.pl, witold.rekuc@pwr.wroc.pl - Przedmiot kończy się egzaminem - Egzamin ma formę

Bardziej szczegółowo

Wykład 2. Relacyjny model danych

Wykład 2. Relacyjny model danych Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających

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

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9. Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie

Bardziej szczegółowo

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele

Bardziej szczegółowo

SZKOLENIE: Administrator baz danych. Cel szkolenia

SZKOLENIE: Administrator baz danych. Cel szkolenia SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.

Bardziej szczegółowo

Bazy danych Wykład zerowy. P. F. Góra

Bazy danych Wykład zerowy. P. F. Góra Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 8b: Algebra relacyjna http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Algebra relacyjna Algebra relacyjna (ang.

Bardziej szczegółowo

S y s t e m y. B a z D a n y c h

S y s t e m y. B a z D a n y c h S y s t e m y B a z D a n y c h Wykład na przedmiot: Bazy danych Studia zaoczne i podyplomowe UAM Anna Pankowska aniap@amu.edu.pl W y k ł a d I Temat: Relacyjne bazy danych Plan wykładu: - cel stosowania

Bardziej szczegółowo

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy

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

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

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

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

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

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

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

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony

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

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

Relacyjny model danych. Relacyjny model danych

Relacyjny model danych. Relacyjny model danych 1 Plan rozdziału 2 Relacyjny model danych Relacyjny model danych - pojęcia podstawowe Ograniczenia w modelu relacyjnym Algebra relacji - podstawowe operacje projekcja selekcja połączenie operatory mnogościowe

Bardziej szczegółowo

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 1 Algebra relacyjnych baz danych jako podstawa języka SQL i jego implementacji w systemach baz danych Oracle Bazy danych. Wykład

Bardziej szczegółowo

Relacyjny model danych

Relacyjny model danych Relacyjny model danych Wykład przygotował: Robert Wrembel BD wykład 2 (1) 1 Plan wykładu Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe BD wykład 2 (2) W ramach drugiego

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

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

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1 Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język

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

RBD Relacyjne Bazy Danych Więzy realcji

RBD Relacyjne Bazy Danych Więzy realcji Wykład 8 RBD Relacyjne Bazy Danych Więzy realcji Bazy Danych - A. Dawid 2011 1 Więzy (Constraints) Więzy ograniczenia na związki między poszczególnymi atrybutami w bazie danych. Określają często zakres

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

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

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Szkolenie autoryzowane MS 10774 Tworzenie zapytań do Microsoft SQL Server 2012 Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Opis szkolenia Uwaga! Szkolenie wycofane z oferty. Zapraszamy

Bardziej szczegółowo

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

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

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

Język SQL podstawy zapytań

Język SQL podstawy zapytań Język SQL podstawy zapytań 1 Plan prezentacji 1. Krótka historia języka SQL 2. Cechy języka SQL 3. Przykładowa baza danych 4. Podstawy zapytań - operacje na modelu relacyjnym 5. Polecenie SELECT zapytania

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła 030 PROJEKTOWANIE BAZ DANYCH Prof. dr hab. Marek Wisła Elementy procesu projektowania bazy danych Badanie zależności funkcyjnych Normalizacja Projektowanie bazy danych Model ER, diagramy ERD Encje, atrybuty,

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

I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych.

I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych. I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych. 1. Elementy logiki matematycznej. 1.1. Rachunek zdań. Definicja 1.1. Zdaniem logicznym nazywamy zdanie gramatyczne

Bardziej szczegółowo

Złaczenia tablic: FROM, WHERE, JOIN

Złaczenia tablic: FROM, WHERE, JOIN JOIN Łączenie tablic 1 Bazy Danych Wykład p.t. Złaczenia tablic: FROM, WHERE, JOIN Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano materiały: http: //www.postgresql.org/docs/8.3/interactive/index.html

Bardziej szczegółowo

Szkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł!

Szkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł! Szkolenie Oracle SQL podstawy Terminy 15 17 lutego 2010 First Minute! 1100zł! Opis szkolenia Baza danych Oracle od dawna cieszy się zasłużona sławą wśród informatyków. Jej wydajność, szybkość działania

Bardziej szczegółowo

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

Bazy danych wykład drugi. Konrad Zdanowski

Bazy danych wykład drugi. Konrad Zdanowski Algebra relacji - przypomnienie Niech R(A 1,..., A k ) i S(B 1,..., B n ) relacje. Podstawowe operacje na relacjach: operacje teoriomnogościowe: suma R S, iloczyn R S, różnica R \ S, iloczyn kartezjański

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 wykład trzeci. Konrad Zdanowski

Bazy danych wykład trzeci. Konrad Zdanowski SQL - przypomnienie Podstawowa forma kwerendy SQL: select A1,..., Ak from R1,..., Rn where ; Odpowiada jej w algebrze relacji operacja π A1,...,Ak (σ (R1 Rn)) SQL semantyka select R.

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Bazy Danych Model Relacyjny Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Relacyjny model danych Relacyjny model danych jest obecnie najbardziej popularnym modelem używanym w systemach

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

Rachunki relacji. Rachunki relacji. RRK Relacyjny Rachunek Krotek

Rachunki relacji. Rachunki relacji. RRK Relacyjny Rachunek Krotek Rachunki relacji Rachunki relacji 1. RRK Relacyjny Rachunek Krotek 2. RRD Relacyjny Rachunek Dziedzin 3. Datalog Database Prolog Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski T. Pankowski, Rachunki

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

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych Zasady transformacji modelu DOZ do projektu tabel bazy danych A. Obiekty proste B. Obiekty z podtypami C. Związki rozłączne GHJ 1 A. Projektowanie - obiekty proste TRASA # * numer POZYCJA o planowana godzina

Bardziej szczegółowo

Systemy baz danych. Notatki z wykładu. http://robert.brainusers.net 17.06.2009

Systemy baz danych. Notatki z wykładu. http://robert.brainusers.net 17.06.2009 Systemy baz danych Notatki z wykładu http://robert.brainusers.net 17.06.2009 Notatki własne z wykładu. Są niekompletne, bez bibliografii oraz mogą zawierać błędy i usterki. Z tego powodu niniejszy dokument

Bardziej szczegółowo

Systemy baz danych. mgr inż. Sylwia Glińska

Systemy baz danych. mgr inż. Sylwia Glińska Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania

Bardziej szczegółowo

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) LITERATURA C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom; Systemy baz danych. Kompletny podręcznik

Bardziej szczegółowo

Relacyjny model baz danych, model związków encji, normalizacje

Relacyjny model baz danych, model związków encji, normalizacje Relacyjny model baz danych, model związków encji, normalizacje Wyklad 3 mgr inż. Maciej Lasota mgr inż. Karol Wieczorek Politechnika Świętokrzyska Katedra Informatyki Kielce, 2009 Definicje Operacje na

Bardziej szczegółowo

Agnieszka Ptaszek Michał Chojecki

Agnieszka Ptaszek Michał Chojecki Agnieszka Ptaszek Michał Chojecki Krótka historia Twórcą teorii relacyjnych baz danych jest Edgar Frank Codd. Postulaty te zostały opublikowane po raz pierwszy w 1970 roku w pracy A Relational Model of

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

Złączenie CROSS JOIN jest to tzw. złączenie krzyżowe, którego ogólna postać wygląda następująco:

Złączenie CROSS JOIN jest to tzw. złączenie krzyżowe, którego ogólna postać wygląda następująco: Połączenia krzyżowe Złączenie typu CROSS JOIN Złączenie CROSS JOIN jest to tzw. złączenie krzyżowe, którego ogólna postać wygląda następująco: SELECT kolumna1, kolumna2,..., kolumnan FROM tabela1 CROSS

Bardziej szczegółowo

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 2 LAB 2 1. Backup bazy danych Tworzenie kopii (backup) bazy danych Odtwarzanie bazy z kopii (z backup u) 1. Pobieramy skrypt Restore 2. Pobieramy

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

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

BAZY DANYCH Podstawowe pojęcia

BAZY DANYCH Podstawowe pojęcia BAZY DANYCH Podstawowe pojęcia Wykład 1 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) BD 1 / 26 Literatura 1. L. Banachowski, Bazy danych. Tworzenie aplikacji, Akademicka

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Algebra relacji i SQL Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. IV Jesień 2014 1 / 52 Do czego służy baza danych? nazwa adres Studia rok

Bardziej szczegółowo

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji O autorze Wprowadzenie Rozdział 1. Relacyjne bazy danych i SQL Język i logika Definicja SQL Microsoft SQL Server, Oracle i MySQL Inne bazy danych Relacyjne bazy danych Klucze główne i obce Typy danych

Bardziej szczegółowo

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów

Bardziej szczegółowo

Plan wykładu: Operacje relacji: suma, przekrój, różnica, złączenia proste, iloczyn kartezjański, złączenia teta.

Plan wykładu: Operacje relacji: suma, przekrój, różnica, złączenia proste, iloczyn kartezjański, złączenia teta. Plan wykładu: Operacje relacji: suma, przekrój, różnica, złączenia proste, iloczyn kartezjański, złączenia teta. Więzy integralności a algebra relacji. Wielozbiory dlaczego są praktyczniejsze od zbirów,

Bardziej szczegółowo

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości. elacja chemat relacji chemat relacji jest to zbiór = {A 1,..., A n }, gdzie A 1,..., A n są artybutami (nazwami kolumn) np. Loty = {Numer, kąd, Dokąd, Odlot, Przylot} KaŜdemu atrybutowi A przyporządkowana

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

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p

Bardziej szczegółowo

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty Informatyka Ćwiczenie 10 Bazy danych Baza danych jest zbiór informacji (zbiór danych). Strukturę bazy danych można określić w formie jak na rysunku 1. Pracownik(ID pracownika, imie, nazwisko, pensja) Klient(ID

Bardziej szczegółowo

Modelowanie konceptualne model EER

Modelowanie konceptualne model EER Modelowanie konceptualne model EER adeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski Model EER rozszerzenie modelu ER 1. Liczne rozszerzenia modelu ER mają przede wszystkim na celu uwzględnienie zależności

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