Relacyjne systemy baz danych i język SQL

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

Download "Relacyjne systemy baz danych i język SQL"

Transkrypt

1 Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2004/05

2 Plan wykładu Ewolucja systemów baz danych Projektowanie baz danych i ochrona danych Optymalizacja i struktury danych Systemy OLAP I Systemy OLAP II Modelowanie wielowymiarowe Proces ekstrakcji, transformacji i ładowania danych (Proces ETL)

3 Plan wykładu 1 Relacyjne systemy baz danych 2 Model relacyjny Dziedziny i relacje Integralność danych relacyjnych Algebra relacyjna Język SQL

4 Plan wykładu 1 Relacyjne systemy baz danych 2 Model relacyjny Dziedziny i relacje Integralność danych relacyjnych Algebra relacyjna Język SQL

5 Plan wykładu 1 Relacyjne systemy baz danych 2 Model relacyjny Dziedziny i relacje Integralność danych relacyjnych Algebra relacyjna Język SQL

6 Relacyjne systemy baz danych Relacyjna baza danych to taka baza, która jest postrzegana przez użytkowników jako zbiór relacji badź tabel. Wszystkie wartości w relacjach sa atomowe, czyli skalarne (nie ma grup wielokrotnych). System relacyjny jest to taki system, który wspiera relacyjne bazy danych i umożliwia wykonywanie operacji na takich bazach. Podstawowe operacje to selekcja, projekcja i łaczenie. Wszystkie operacje działaja na poziomie zbiorów.

7 Relacyjne systemy baz danych Własność domknięcia systemów relacyjnych oznacza, że rezultat każdej operacji jest obiektem tego samego typu jak dane wejściowe (oba sa relacjami), co oznacza, że można tworzyć zagnieżdżone wyrażenia relacyjne. Formalna teoria będaca podstawa systemów relacyjnych nazywa się relacyjnym modelem danych.

8 Relacyjne systemy baz danych Model relacyjny dotyczy wyłacznie zagadnień logicznych, a nie fizycznych. Model obejmuje trzy aspekty danych strukturę danych (inaczej obiekty), integralność danych i operowanie danymi (operatory). Obiekty sa to w zasadzie tabele (relacje). Klucze główne i obce wiaż a się z aspektem integralności. Operatorami sa m.in. selekcja, projekcja i łaczenie.

9 Relacyjne systemy baz danych Optymalizator jest to ta część systemu, która określa, jak zrealizować zapytanie użytkownika (które dotycza tego co, a nie jak ). Ponieważ systemy odpowiadaja same za poruszanie się po zapamiętanej bazie danych w celu lokalizacji określonych danych, systemy takie czasem nazywane sa z automatyczna nawigacja. Optymalizacja i automatyczna nawigacja sa wstępymi warunkami uzyskania niezależności danych w systemie relacyjnym.

10 Relacyjne systemy baz danych Katalog jest zbiorem tabel systemowych, zawierajacych deskryptory różnych elementów istotnych dla systemu (tabel bazowych, perspektyw, indeksów, użytkowników). Użytkownicy moga przeszukiwać katalog dokładnie tak samo jak własne dane.

11 Relacyjne systemy baz danych Tabela pochodna jest to tabela, która jest utworzona z innych tabel za pomoca pewnego wyrażenia relacyjnego. Tabela bazowa, to taka tabela, która nie jest tabela pochodna. Perspektywa jest to nazwana tabela pochodna, której definicja wyrażona za pomoca innych tabel jest przechowywana w katalogu. Użytkownicy moga przeprowadzać operacje podobnie jak na tabelach bazowych. System realizuje operacje na perspektywach przez zastapienie odwołań do nazwy perspektywy wyrażeniami definiujacymi tę perspektywę (jest to tzw. metoda podstawiania).

12 Relacyjne systemy baz danych Standardowym językiem działania na bazach relacyjnych jest SQL. Język SQL dostarcza mechanizm definiowania bazy danych (język DDL) operawania danych (język DML) oraz kontroli danych (DCL)

13 Architektura ANSI/SPARC Ważne! W systemach relacyjnych warstwa zewnętrzna i pojęciowa zbudowane sa zgodnie z podejściem relacyjnym.

14 Relacyjne systemy baz danych Przykład relacji Pracownicy ID Nazwisko Etat Szef Płaca Zespół 100 Lech Dyrektor NULL Czech Profesor Rus Adiunkt Popiel Adiunkt Kołodziej Asystent Rzepicha Asystent Rajski Adiunkt Lubicz Asystent

15 Relacyjne systemy baz danych Przykład relacji Zespoły Zespół Nazwa Adres 10 Gospodarka elektroniczna Piotrowo 3a 20 Inteligencja biznesowa Piotrowo 3a 30 Sieci komputerowe Wieniawskiego 17/19

16 Plan wykładu 1 Relacyjne systemy baz danych 2 Model relacyjny Dziedziny i relacje Integralność danych relacyjnych Algebra relacyjna Język SQL

17 Plan wykładu 1 Relacyjne systemy baz danych 2 Model relacyjny Dziedziny i relacje Integralność danych relacyjnych Algebra relacyjna Język SQL

18 Dziedziny i relacje Relacja w dużym uproszczeniu odpowiada zwykłej tabeli. Krotka (tuple) jest to wiersz w takiej tabeli, atrybut zaś odpowiada kolumnie. Liczba krotek w tabeli to liczebność tabeli, liczba atrybutów to stopień tabeli. Klucz główny (primaty key), jest to jednoznaczny identyfikator w tabeli; jest to kolumna (lub kombinacja kolumn) taka, że żadne dwa wiersze w tabeli, w dowolnej chwili, nie maja tej samej wartości w tej kolumnie (lub kombinacji kolumn). Dziedzina jest to zbiór dopuszczalnych wartości, z których pochodza konkretne wartości określonych atrybutów danych relacji.

19 Dziedzina Dziedzina jest to zasadniczo typ danych (niekiedy definiowany przez system, a bardziej ogólnie przez użytkownika). Dziedzina określa zbiór wartości skalarnych, z których biora się wartości poszczególnych atrybutów w relacjach. Dziedziny ograniczaja porównania, ponieważ porównywane wielkości zwykle musza pochodzić z tej samej dziedziny. W rezultacje dziedziny ograniczaja pewne operacje relacyjne, takie jak złaczenie, sumę i inne. Ważne! Określenie dziedziny jest najprostszym mechanizmem sprawdzania integralności danych (np. przy porównywaniu wartości różnych atrybutów), jednak jest to element najsłabiej wspierany przez istniejace relecyjne systemy baz danych.

20 Relacja Podstawowa struktura danych w modelu relacyjnym jest relacja. Z matematycznego punktu widzenia relacja jest podzbiorem iloczynu kartezjańskiego dziedzin atrybutów. Relacja reprezentowana jest w postaci dwuwymiarowej tablicy. Relacja składa się z krotek i atrybutów.

21 Definicja relacji Zmienna relacji jest to nazwany obiekt, którego wartość zmienia się w czasie. Wartość takiej zmiennej w danej chwili jest wartościa relacji.

22 Definicja relacji Definicja Relacja R na zbiorze niekoniecznie różnych dziedzin D 1, D 2,..., D n składa się z dwóch części: nagłówka i treści: Nagłówek składa się z ustalonego zbioru atrybutów, a ściślej z par < nazwa atrybutu : nazwa dziedziny >, {< A 1 : D 1 >, < A 2 : D 2 >,..., < An : Dn >},

23 Definicja relacji Definicja Relacja R na zbiorze niekoniecznie różnych dziedzin D 1, D 2,..., D n składa się z dwóch części: nagłówka i treści: Treść składa się z krotek (tuples); każda krotka jest zbiorem par <nazwa-atrybutu:wartość-atrybutu >, {< A 1 : v i1 >, < A 2 : v i2 >,..., < An : v in >} (i = 1, 2,..., m, gdzie m jest liczba krotek w zbiorze; w każdej takiej krotce jest jedna taka para < A j : v ij > typu <nazwa-atrybutu:wartość-atrybutu > dla każdego atrybutu A j w nagłówku. Dla każdej danej pary < A j : v ij >, v ij jest wartościa z konkretnej dziedziny D j stowarzyszonej z atrybutem A j.

24 Właściwości relacji Każda relacja charakteryzuje się: wszystkie krotki sa różne (nie ma podwójnych krotek, duplikatów), jej atrybuty sa różne, kolejność krotek i atrybutów nie ma znaczenia, wartości atrybutów sa atomowe.

25 Rodzaje relacji Relacja nazwana jest zmienna relacji, która została stworzona za pomoca instrukcji CREATE TABLE, CREATE VIEW, itp.. Relacja podstawowa jest relacja nazwana, która nie jest relacja pochodna (relacje podstawowe sa autonomiczne). W praktyce relacjami podstawowymi sa te relacje, które zostały uznane przez projektanta bazy danych za wystarczajaco ważne, aby mogły mieć swoja nazwę i niezależny byt w bazie danych.

26 Rodzaje relacji Relacja pochodna to taka relacja, która jest zdefiniowana (za pomoca pewnych wyrażeń relacyjnych) poprzez inne relacje nazwane a w końcu przez relacja podstawowe. Relacja wyprowadzona jest relacja, która można otrzymać ze zbioru nazwanych relacji za pomoca jakiegoś wyrażenia relacyjnego. Zbiór wszystkich relacji wyprowadzonych składa się ze zbioru wszystkich relacji podstawowych i wszystkich relacji pochodnych.

27 Rodzaje relacji Perspektywa (view) jest nazwana relacja pochodna. (Perspektywy sa, podobnie jak relacje podstawowe, w istocie zmiennymi relacji). Perspektywy sa wirtualne. W systemie sa reprezentowane wyłacznie przez definicję za pomoca innych nazwanych relacji. Migawka (snapshot), podobnie jak perspektywa, jest także nazwana relacja pochodna (i też jest zmienna relacji). W odróżnieniu migawka jest rzeczywista, a nie wirtualna. Reprezentowana jest nie tylko za pomoca definicji opartej na innych relacjach nazwanych, ale ma też własne dane. Tworzenie migawki jest podobne do realizacji zapytania z wyjatkiem tego, że wynik zapytania jest przechowywany w bazie danych pod określona nazwa jako relacja tylko do odczytu oraz okresowo migawka jest odświeżana.

28 Rodzaje relacji Wynik zapytania jest to nienazwana relacja pochodna, jaka powstaje w rezultacie wykonania określonego zapytania. Wyniki zapytań nie maja trwałego bytu w bazie (oczywiście można je umieścić w nazwanej relacji). Wynik pośredni jest nienazwana relacja pochodna, która wynika z realizacji jakiegoś wyrażenia relacyjnego zagnieżdżonego w innym takim wyrażeniu. Wyniki pośrednie podobnie jak wyniki końcowe, nie maja trwałego bytu w bazie danych (w istocie moga nawet nigdy nie materializować się w całości). Relacja zachowana jest relacja wyprowadzana, która ma jakieś bezpośrednie i wydajne odbicie w pamięci fizycznej.

29 Relacje i predykaty Z każda relacja zwiazane jest znaczenie lub predykat. Predykat stanowi kryterium akceptowalności aktualizacji danej relacji. W każdej chwili dana relacja zawiera tylko te krotki, które sprawiaja, że wartościa odpowiedniego predykatu będzie prawda.

30 Plan wykładu 1 Relacyjne systemy baz danych 2 Model relacyjny Dziedziny i relacje Integralność danych relacyjnych Algebra relacyjna Język SQL

31 Reguły integralności Każda reguła integralności musi być uzależniona od konkretnej bazy danych. Przykłady reguł integralności: Pensja musi być większa od 0, Nazwisko musi być znane, Etaty musza pochodzić z listy dostępnych wartości, itd.

32 Reguły integralności Model relacyjny oprócz obsługi reguł integralności zależnych od bazy obejmuje trzy ogólne cechy integralności: klucze kandydujace (i główne), klucze obce, dziedziny integralność atrybutu, mówi, że każdy atrybut musi spełniać następujacy warunek: wartości atrybutu sa pobierane z odpowiedniej dziedziny.

33 Klucz kandydujacy Definicja Niech R będzie relacja (zmienna relacji). Klucz kandydujacy w relacji R jest podzbiorem K zbioru atrybutów relacji R, majacym (takim, że w każdej chwili zachodza): własność jednoznaczności żadne dwie różne krotki R (z aktualnej wartości R) nie maja tej samej wartości dla K, własność nieredukowalności żaden właściwy podzbiór K nie ma własności jednoznaczności.

34 Klucze kandydujace Klucze kandydujace sa tak ważne, ponieważ zapewniaja podstawowy mechanizm adresowania na poziomie krotki w systemie relacyjnym. Oznacza to, że jedynym zagwarantowanym przez system sposobem dotarcia do określonej krotki jest droga przez wartość jakiegoś klucza kandydujacego.

35 Klucze głowne i alternatywe Relacja podstawowa może mieć więcej niż jeden klucz kandydujacy. Model relacyjny wymagał aby jeden z nich zostal wybrany kluczem glównym (primary key). Pozostałe nazywane sa kluczami alternatywnymi.

36 Klucze obce Definicja Niech R2 będzie relacja podstawowa (bazowa). Klucz obcy relacji R2 jest to podzbiór FK, zbioru atrybutów R2, taki że: istnieje relacja podstawowa R1 (relacje R1 i R2 niekoniecznie sa różne) z kluczem kandydujacym CK oraz w każdej chwili każda wartość FK w aktualnej wartości relacji R2 jest taka sama, jak wartość CK w pewnej krotce aktualnej wartości relacji R1.

37 Klucze obce Wartość klucza obcego stanowi referencję do krotki zawierajacej wartość odpowiadajacego mu klucza kandydujacego (krotki docelowej). Problem zapewnienia, by baza danych nie zawierała żadnych niedopuszczalnych wartości klucza obcego, nazywa się problemem integralności referencyjnej (referential integrity). Warunek, aby wartości danego klucza obcego zgadzały sie z wartościami odpowiadajacego mu klucza kandydujacego jest znany jako więzy referencyjne (referential constraints).

38 Klucze proste i złożone Klucze proste składaja się z jednego atrybutu. Klucze złożone składaja się z dwóch i więcej atrybutów.

39 Reguły kluczy obcych Reguły kluczy obcych dotycza dwóch operacji: usuwania i aktualizacji. Każda z tych reguł pozwala specyfikować opcje RESTRICTED oraz CASCADE.

40 Integralność encji Definicja Integralność encji żaden składnik klucza głównego relacji podstawowej nie może akceptować nulli.

41 Plan wykładu 1 Relacyjne systemy baz danych 2 Model relacyjny Dziedziny i relacje Integralność danych relacyjnych Algebra relacyjna Język SQL

42 Operatory relacyjne Selekcja (restrykcja) Projekcja (rzut) Iloczyn kartezjański Suma Przecięcie Różnica Łaczenie Iloraz

43 Selekcja Selekcja (czasami nazywana restrykcja) daje w wyniku relację składajac a się ze wszystkich krotek ze wskazanej relacji, które spełniaja określone warunki.

44 Projekcja Projekcja (rzut) daje w wyniku relację złożona z tych wszystkich krotek, która pozostały jako krotki danej realcji po usunięciu z niej wskazanych atrybutów.

45 Iloczyn kartezjański Iloczyn kartezjański daje relację składajac a się ze wszystkich krotek, będacych kombinacja dwóch krotek, po jednej z każdej wskazanej relacji.

46 Suma Suma daje w wyniku relację składajac a się ze wszystkich krotek, występujacych w jednej lub obu wskazanych relacjach.

47 Przecięcie Przecięcie daje w rezultacie relację składajac a się ze wszystkich krotek, występujacych w obu wskazanych relacjach.

48 Różnica Różnica daje w wyniku relację składajac a się ze wszystkich krotek, występujacych w pierwszej relacji i nie występujacych w drugiej wskazanej relacji.

49 Łaczenie Łaczenie daje w wyniku relację składajac a się ze wszystkich możliwych krotek, które sa kombinacjami dwu krotek, po jednej z każdej ze wskazanych relacji, takich że dwie krotki dajace wkład do którejkolwiek kombinacji maja tę sama wartość wspólnego atrybutu (lub atrybutów) tych dwu relacji.

50 Iloraz Iloraz bierze dwie relacje, jedna binarna, a druga unarna i daje w wyniku relację składajac a się ze wszystkich wartości jednego atrybutu relacji binarnej, które zgadzaja się (pod względem wartości tego drugiego atrybutu) ze wszystkimi wartościami relacji unarnej. Przykład: podaj klientów, którzy kupuja wyposażenie b2 i b3.

51 Domknięcie Wynik dowolnej operacji jest obiektem tego samego rodzaju co wejście (wszystkie sa relacjami), zatem wynik dowolnej operacji może stanowić wejście innej. Powyższa własność nazywana jest domknięciem.

52 Operatory elementarne Operatory elementarne sa to takie operatory, których nie można zdefiniować za pomoca innych. Takimi operatorami sa: selekcja, projekcja, iloczny kartezjański, suma, różnica.

53 Operacja dodatkoweo Można zdefiniować wiele operatorów relacyjnych Operatory: EXTEND i SUMMARIZE

54 Operacje aktualizacji Podstawowe operacje aktualizacji to: INSERT, UPDATE, DELETE. Operacje te działaja również na poziomie zbiorów.

55 Rachunek relacyjny Rachunek relacyjny jest alternatywny do algebry relacyjnej. Rachunek jest opisowy, algebra zaś przepisowa, w tym sensie, że daje przepisy jak postępować. Na głębszym poziomie jest to to samo, ponieważ dowolne wyrażenia z rachunku można przekształcić w równoważne znaczeniowo wyrażenie w algebrze i na odwrót. Powyższa własność jest jednym z elementów optymalizacji w relacyjnych systemach baz danych.

56 Plan wykładu 1 Relacyjne systemy baz danych 2 Model relacyjny Dziedziny i relacje Integralność danych relacyjnych Algebra relacyjna Język SQL

57 Historia języka SQL Jęzek SQL został opracowany w firmie IBM w latach 70 tych. W 1986 stał się oficjalnym standardem wspieranym przez ISO i ANSI (standard został opisany na 100 stronach). Kolejny standard SQL89 (120 stron). SQL92 (około 600 stron) aka SQL92. SQL99 (około 2200 stron) aka SQL99. SQL4 (?!:)

58 Historia języka SQL SQL92 trzy poziomy zgodności: Entry, Intermediate, Fully. Istniejace implementacja sa czymś w rodzaju nadzbioru podzbioru specyfikacji SQL a. SQL99 odmienne podejście: zdefiniowanie Core SQL99 i pakietów.

59 Tworzenie nowej relacji Postać instrukcji CREATE TABLE zespoly ( id_zesp INT(2) NOT NULL, nazwa VARCHAR(20) NOT NULL, adres VARCHAR(40), CONSTRAINT id_zesp_pk PRIMARY KEY (id_zesp) );

60 Tworzenie nowej relacji Postać instrukcji CREATE TABLE pracownicy ( id_prac INT(3) NOT NULL, nazwisko VARCHAR(20) NOT NULL, etat VARCHAR(10), szef INT(3), placa INT(5), id_zesp INT(2), CONSTRAINT id_prac_pk PRIMARY KEY (id_prac), CONSTRAINT szef_fk FOREIGN KEY (szef) REFERENCES pracownicy (id_prac), CONSTRAINT id_zesp_fk FOREIGN KEY (id_zesp) REFERENCES zespoly (id_zesp), CHECK (placa >= 0) );

61 Wstawianie nowych krotek Postać instrukcji INSERT INTO zespoly VALUES (10, Gospodarka elektroniczna, Piotrowo 3a ), (20, Inteligencja biznesowa, Piotrowo 3a ), (30, Sieci komputerowe, Wieniawskiego 17/19 );

62 Wstawianie nowych krotek Postać instrukcji INSERT INTO pracownicy VALUES (100, Lech, Dyrektor, NULL, 4000, 10), (101, Czech, Profesor, 100, 3500, 20), (102, Rus, Adiunkt, 101, 3000, 20), (103, Popiel, Adiunkt, 101, 3000, 20), (104, Kołodziej, Asystent, 101, 2000, 20), (105, Rzepicha, Asystent, 102, 2000, 20), (107, Rajski, Adiunkt, 100, 3500, 20), (108, Lubicz, Asystent, 107, 2500, 20) );

63 Modyfikacja relacji Postać instrukcji RENAME TABLE pracownicy TO pracownik; DROP TABLE pracownik; ALTER TABLE pracownicy ADD (tytul varchar(10)); ALTER TABLE pracownicy MODIFY tytul VARCHAR(10) DEFAULT mgr inz. NOT NULL; ALTER TABLE pracownicy DROP Tytul;

64 Tworzenie perspektywy Postać instrukcji niestety nieobsługiwane przez MySQL CREATE VIEW szefowie AS SELECT * FROM pracownicy WHERE id_prac in (SELECT DISTINCT szef FROM pracownicy);

65 Operowanie danymi Postać instrukcji SELECT nazwisko FROM pracownicy; SELECT id_zesp, nazwisko from pracownicy; SELECT * FROM pracownicy; SELECT DISTINCT adres FROM zespoly;

66 Operowanie danymi Postać instrukcji SELECT nazwisko, zarabia, placa FROM pracownicy; SELECT nazwisko, placa/30 FROM pracownicy; SELECT nazwisko, round(placa/30) FROM pracownicy; SELECT nazwisko, 3*placa AS placa_kwartalna FROM pracownicy; SELECT nazwisko jest etat FROM pracownicy; SELECT CONCAT(nazwisko, jest,etat) FROM pracownicy;

67 Operowanie danymi Postać instrukcji SELECT nazwisko FROM pracownicy WHERE etat = Asystent ; WHERE szef IS NULL; WHERE szef IS NOT NULL OR placa BETWEEN 3000 AND 4000; WHERE placa IN(3500, 2000) AND nazwisko LIKE L% ;

68 Operowanie danymi Postać instrukcji SELECT nazwisko FROM pracownicy WHERE etat = Asystent ORDER BY nazwisko DESC; SELECT nazwisko FROM pracownicy WHERE etat = Asystent ORDER BY 1 ASC;

69 Operowanie danymi Postać instrukcji SELECT etat, max(placa) FROM pracownicy GROUP BY etat; SELECT etat, max(placa) FROM pracownicy GROUP BY etat HAVING count(*)>2;

70 Łaczenie relacji Postać instrukcji SELECT nazwisko, nazwa FROM pracownicy, zespoly; Co jest wynikiem takiej operacji?

71 Łaczenie relacji Postać instrukcji SELECT nazwisko, nazwa FROM pracownicy, zespoly WHERE pracownicy.id_zesp = zespoly.id_zesp; SELECT nazwisko, nazwa FROM pracownicy p RIGHT JOIN zespoly z ON (p.id_zesp = z.id_zesp);

72 Operacje teoriomnogościowe Postać instrukcji SELECT nazwisko FROM pracownicy WHERE etat = Asystent UNION SELECT nazwisko FROM pracownicy WHERE etat = Adiunkt ;

73 Aktualizacja relacji Postać instrukcji UPDATE pracownicy SET placa = 5000 WHERE etat = Dyrektor ; DELETE FROM pracownicy WHERE etat = Asystent ;

74 Podzapytania nieskorelowane Postać instrukcji SELECT * FROM pracownicy WHERE id_prac in (SELECT DISTINCT szef FROM pracownicy); Operatory: IN, ALL, ANY

75 Podzapytania skorelowane Postać instrukcji SELECT nazwisko, placa FROM pracownicy p WHERE placa > (SELECT avg(placa) FROM pracownicy WHERE etat = p.etat; Operatory: EXISTS i NOT EXISTS

76 Zadania Wyświetl wszystkie etaty pracowników bez duplikatów Wyświetl wszystkie informacje o pracownikach z zespołu 20 uporzadkowanych według nazwisk Wyświetl nazwiska etaty, których nazwiska zaczynaja się na R Wyświetl roczne wynagrodzenie każdego z pracowników Wyświetl średnie wynagrodzenie wszystkich pracowników Wyświetl pracowników z ul. Piotrowo w rosnacym porzadku alfabetycznym

77 Zadania Wyświetl zespoły, które nie zatrudniaja pracowników Wyświetl pracowników zarabiajacych więcej niż RUS Wyświetl informacje w następujacym formacie: Pracownik RUS pracuje na etacie Adiunk Wyświetl pracowników i ich szefów Wyświetl dla każdego zespołu jego nazwę, adres oraz średnia płacę jego pracowników

78 Plan wykładu Ewolucja systemów baz danych Projektowanie baz danych i ochrona danych Optymalizacja i struktury danych Systemy OLAP I Systemy OLAP II Modelowanie wielowymiarowe Proces ekstrakcji, transformacji i ładowania danych (Proces ETL)

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

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą

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

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną

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

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

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)

Bardziej szczegółowo

Modele danych i ich ewolucja

Modele danych i ich ewolucja Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr letni 2004/05 Plan wykładu Ewolucja systemów

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

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

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

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

Widok Connections po utworzeniu połączenia. Obszar roboczy

Widok Connections po utworzeniu połączenia. Obszar roboczy Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer

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

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

ACESS- zadania z wykorzystaniem poleceń SQL

ACESS- zadania z wykorzystaniem poleceń SQL ACESS- zadania z wykorzystaniem poleceń SQL Dane są relacje o schematach: Pracownik ( (nr integer, nazwisko text(12), etat text(10), szef integer, pracuje_od date, placa_pod Currency, placa_dod Currency,

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

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. 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

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

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

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

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

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

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

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

Bazy danych 10. SQL Widoki

Bazy danych 10. SQL Widoki Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela

Bardziej szczegółowo

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków

Bardziej szczegółowo

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

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

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

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

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

Aspekty aktywne baz danych

Aspekty aktywne baz danych Aspekty aktywne baz danych Aktywne aspekty baz danych Baza danych powinna zapewniać pewne własności i niezmienniki; Własności te powinny mogą być zapisane do bazy danych, a baza danych powinna zapewniać

Bardziej szczegółowo

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Ograniczenia integralnościowe, modyfikowanie struktury relacji, zarządzanie ograniczeniami. 1 Ograniczenia integralnościowe Służą do weryfikacji

Bardziej szczegółowo

Bazy danych - Materiały do laboratoriów VIII

Bazy danych - Materiały do laboratoriów VIII Bazy danych - Materiały do laboratoriów VIII dr inż. Olga Siedlecka-Lamch Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 23 kwietnia 2011 roku Polecenie COMMIT i ROLLBACK Polecenie

Bardziej szczegółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

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

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

Projektowanie baz danych

Projektowanie baz danych Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2005/06 Plan wykładu Ewolucja

Bardziej szczegółowo

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1 Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane

Bardziej szczegółowo

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678'); polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {

Bardziej szczegółowo

Język SQL. Rozdział 8. Język manipulowania danymi DML

Język SQL. Rozdział 8. Język manipulowania danymi DML Język SQL. Rozdział 8. Język manipulowania danymi DML Wstawianie danych i polecenie INSERT, modyfikowanie danych i polecenie UPDATE, usuwanie danych i polecenie DELETE, połączenia modyfikowalne, sekwencje.

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Klucz podstawowy PRIMARY KEY Klucz kandydujący UNIQUE Klucz alternatywny - klucze kandydujące, które nie zostały wybrane na klucz podstawowy Klucz obcy - REFERENCES Tworząc tabelę,

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Wstęp do problematyki baz danych Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. I Jesień 2014 1 / 17 Plan wykładu 1 Bazy danych 1 Motywacja

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

Bazy danych 6. Klucze obce. P. F. Góra

Bazy danych 6. Klucze obce. P. F. Góra Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:

Bardziej szczegółowo

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ćwiczenie zapytań języka bazy danych PostgreSQL Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.

Bardziej szczegółowo

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE Wykład 9 Implementacja języka SQL w systemach baz danych Oracle manipulowanie danymi (DML), tworzenie, modyfikowanie i usuwanie obiektów bazy danych: tabel i perspektyw, więzów integralności, komentarzy

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

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

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

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

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

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska SQL TECHNOLOGIE BAZ DANYCH Wykład 5: Język DDL i DML. SQL (ang. StructuredQueryLanguage) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania

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 i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

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

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym. Modele - konceptualne reprezentacja obiektów w

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

Bardziej szczegółowo

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z Tworzenie tabeli Np. create table nazwa_tab( \\stworzenie tabeli Id numer(4) constraint PRAC_PK primary key, \\ustawiamy klucz podst. Nazwisko varchar2(30), \\typ tekstowy 30 znaków Kwota number(10,2)

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

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

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

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

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się

Bardziej szczegółowo

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB2: TEMAT: Relacyjne bazy danych Cz. I, II Cel laboratorium

Bardziej szczegółowo

SQL w praktyce. Miłej i owocnej nauki!!!

SQL w praktyce. Miłej i owocnej nauki!!! SQL w praktyce Niniejsza praca objęta jest prawami autorskimi. Nielegalne jest kopiowanie żadnej częsci tej pracy w żadnej postaci. Niezgodne z prawem tym bardziej jest udostępnianie innym tej pracy odpłatnie

Bardziej szczegółowo

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro Informatyka (5) SQL dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Język zapytań SQL Język deklaratywny (regułowy) - SQL, ProLog,

Bardziej szczegółowo

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -

Bardziej szczegółowo

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się

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

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli SPOOL moj_plik SPOOL OFF @ moj_ plik edit CREATE TABLE DESCRIBE ALTER TABLE RENAME DROP TABLE CONNECT CONNECT USER_NAME DISCONNECT EXIT zapisuje wszystkie wydane polecenia oraz ich wyniki do pliku moj_plik,

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

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw

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

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

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wprowadzenie do projektowania i wykorzystania baz danych Relacje Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR

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

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

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

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

Ref. 7 - Język SQL - polecenia DDL i DML

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA SQL

WPROWADZENIE DO JĘZYKA SQL J.NAWROCKI, M. ANTCZAK, H. DWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S. WĄSIK WPROWADZENIE DO JĘZYKA SQL KORZYSTANIE Z SQLITE 1) Pobierz paczkę z bazą danych ze strony prowadzącego (np. http://www.cs.put.poznan.pl/wfrohmberg/download/sqlite.zip)

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

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL 1 Podstawy relacyjnego modelu danych. 3h UWAGA: Temat zajęć jest typowo teoretyczny i stanowi wprowadzenie do zagadnień

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

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

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. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408 Bazy Danych SQL Podstawy języka III: powtórzenie Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Modyfikacja schematu relacji Utwórz tabelę wg schematu: CREATE TABLE ODDZIAL ( numer_oddzialu

Bardziej szczegółowo

2010-11-22 PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

2010-11-22 PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH PLAN WYKŁADU Bezpieczeństwo w języku SQL Użytkownicy Uprawnienia Role BAZY DANYCH Wykład 8 dr inż. Agnieszka Bołtuć OGRANICZENIA DOSTĘPU DO DANYCH Ograniczenie danych z tabeli dla określonego użytkownika

Bardziej szczegółowo