Modelowanie bazodanowe - Wykład. Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski

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

Download "Modelowanie bazodanowe - Wykład. Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski"

Transkrypt

1 Modelowanie bazodanowe - Wykład Grzegorz Arkit Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski 15 grudnia 2013 G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

2 Literatura Literatura Podstawy baz danych, Tadeusz Pankowski, Wydawnictwo Naukowe PWN, 1992 InterBase 6, Language Reference, Inprise/Borland, 1999 (dostępny publicznie) Firebird 2.5 Language Reference Update, Paul Vinkenoog, 2011 (dostępny publicznie) Databases - a first course, John Carter, 2001 (Chapter 3: Entity - relationship modelling dostępny opublicznie) SQL i PL/SQL podstawy, Andrzej Klusiewicz, 2013 (dostępny publicznie) inne źródła internetowe oraz materiały własne prowadzącego G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

3 Wykład I - Wstęp Przypomnienie wiadomości z teorii baz danych Relacyjny model danych Model relacyjny W najprostszym ujęciu w modelu relacyjnym dane grupowane są w relacje, które reprezentowane są przez tablice. Kolumny opisują atrybuty a wiersze dane. Pomiędzy atrybutami w danej relacji mogą zachodzić zależności funkcyjne. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

4 Wykład I - Wstęp Przypomnienie wiadomości z teorii baz danych Pierwsza postać normalna (1PN, 1NF) Każda wartość jest atomowa (elementarna). WYPOŻYCZENIA (nr czytelnika, lista książek) nr czytelnika lista książek 128 Pascal, Access 155 Excel, Pascal WYPOŻYCZENIA (nr czytelnika, książka) - 1PN nr czytelnika książka 128 Pascal 128 Access 155 Excel 155 Pascal G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

5 Wykład I - Wstęp Przypomnienie wiadomości z teorii baz danych Przykłady: nazwisko, imiona nie jest w 1PN, czy adres jest wartości elementarną? G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

6 Wykład I - Wstęp Przypomnienie wiadomości z teorii baz danych Druga postać normalna (2PN, 2NF) Każda kolumna zależy funkcyjnie od klucza(każdego). Zaliczenia Przedmiot, NrStudenta, TypOceny, Ocena, Student Klucz: Przedmiot, NrStudent Student zależy funkcyjnie od NrStudenta Rozkład: względem zależności funkcyjnej NrStudent Student R1: Przedmiot, NrStudenta, TypOceny, Ocena R2: NrStudenta, Student G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

7 Wykład I - Wstęp Przypomnienie wiadomości z teorii baz danych Trzecia postać normalna (3PN, 3NF) Gdy każdy atrybut niekluczowy jest bezpośrednio zależny od klucza (nie ma zależności tranzytywnych). imię nazwisko miejsce urodzenia powiat Emil Zając Pszczyna pszczyński Zofia Zima Pszczyna pszczyński Eulalia Jańska Szczebrzeszyn zamojski Klucz: imię i nazwisko, ale jest zależność Miejsce urodzenia > Powiat. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

8 Wykład I - Wstęp Przypomnienie wiadomości z teorii baz danych Postać normalna Boyce a-code a(pnbc, BCNF) Schemat w PNBC gdy z istnienia nietrywialnej zależności X A wynika, że X jest nadkluczem. Atrybuty: Miasto, Ulica, Kod Zależności: MU K, K M Klucz: MU, KU Dla zależności K M, K jest nadkluczem. UWAGA: nie do końca właściwy, bo nie zawsze jednej ulicy w mieście odpowiada jeden kod. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

9 Wykład I - Wstęp Przypomnienie wiadomości z teorii baz danych Dekompozycja odnalezienie nietrywialnej zależności funkcyjnej: A 1 A 2...A n B 1 B 2...B m, która narusza BCNF tzn. A 1 A 2...A n nie jest nadkluczem, dodanie do prawej strony wszystkich atrybutów zależnych funkcyjnie od A 1 A 2...A n w ten sposób powstaje nowa relacja, druga relacja będzie się składała z atrybutów A 1 A 2...A n oraz z pozostałych (poza B 1 B 2...B m ) atrybutów relacji. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

10 Wykład I - Wstęp System zarządzania bazą danych System zarządzania bazą danych System zarządzania bazą danych (SZBD, ang. Database Management System, DBMS) oprogramowanie bądź system informatyczny służący do zarządzania bazą danych. System zarządzania bazą danych może być również serwerem bazy danych (SBD) lub też może udostępniać bazę danych lokalnie na określonym komputerze. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

11 Wykład I - Wstęp System zarządzania bazą danych Niezbędne mechanizmy środki do administrowania zapisanymi na nośnikach zbiorami danych, środki zapewniające integralność i bezpieczeństwo danych, środki pozwalające na odtworzenie zawartości bazy danych po awarii, narzędzia programistyczne wykorzystujące język programowania i API, dostęp do danych poprzez język zapytań bazy danych np. SQL, wielodostępność danych, np. poprzez transakcje, środki pozwalające na autoryzację dostępu do danych, środki do zarządzania metadanymi, środki optymalizujące wykorzystanie pamięci operacyjnej, środki optymalizujące czas dostępu do danych, np. indeksy, środki do pracy w środowisku rozproszonej bazy danych. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

12 Wykład I - Wstęp System zarządzania bazą danych Dodatkowe (praktyczne) mechanizmy wyzwalacze, procedury i funkcje operujące na danych, mechanizmy określania uprawnień do danych, perspektywy. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

13 Wykład I - Wstęp System zarządzania bazą danych Rodzaje baz danych lokalne (DBase, Paradox, Access, SQLite) bazy klient serwer klastry bazodanowe (mirror, split) replikacja G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

14 Wykład I - Wstęp System zarządzania bazą danych Najczęściej stosowane rozwiązania bazodanowe darmowe lokalne: SQLite, rzadziej Dbase, Open/Libre Office Base, JavaDB, darmowe serwerowe: MySQL (serwisy WWW), PostgreSQL, Firebird, darmowe serwerowe (komercyjne): Oracle Express, MS SQLServer Express, DB2 Express (?) - darmowe wersje korporacyjnych baz danych, ale z ograniczeniami na ilość używanych zasobów komputera i/lub ograniczeniami na wielkość bazy, komercyjne - lokalne: MS Access, Paradox, komercyjne serwerowe: Oracle, MS SQL Server, DB2, itd... G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

15 Wykład I - Wstęp Podstawy języka SQL Grupy komend języka SQL DML - Data Manipulation Language (INSERT, UPDATE, DELETE) DDL - Data Definition Language (CREATE, ALTER, DROP) DCL - Data Control Language (GRANT, REVOKE) języki proceduralne (PL/SQL) DQL - Data Query Language (SELECT) G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

16 Wykład I - Wstęp Podstawy języka SQL DML - Data Manipulation Language INSERT UPDATE DELETE Służą do manipulowania danymi w obrębie pojedyńczej tabeli. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

17 Wykład I - Wstęp Podstawy języka SQL DDL - Data Definition Language CREATE ALTER DROP Służą do zarządzania obiektami bazy danych takimi jak tablice, perspektywy, indeksy, klucze, procedury, funkcje, pakiety i wiele innych. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

18 Wykład I - Wstęp Podstawy języka SQL DCL - Data Control Language GRANT REVOKE Służa do zarządzania uprawnieniami użytkowników w odniesieniu do samej bazy (np. możliwość tworzenia obiektów) jak i w odniesieniu do obiektów (np. możliwość odczytania danych z tablicy lub ich modyfikowania). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

19 Wykład I - Wstęp Podstawy języka SQL Języki proceduralne Pozwalają budować procedury i/lub funkcje operujące na danych (np. zbudować uporządkowaną alfabetycznie listę nazwisk powiązanych z danym utworem, lub zebrać kilka operacji na danych w jeden blok widziany jako atomowa operacja z punktu widzenia użytkownika). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

20 Wykład I - Wstęp Podstawy języka SQL DQL - Data Query Language Komedna SELECT służąca do pobierania danych z tablic bazy danych. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

21 Wykład I - Wstęp Podstawy języka SQL Szczegóły na temat używania poszczególnych komend SQL można znaleźć w wymienionej literaturze. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

22 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Modelowanie danych W inżynierii oprogramowanie jest procesem tworzenia modelu danych dla systemu informacyjnego poprzez zastosowanie formalnych technik modelowania danych. Jest procesem używanym do definiowania i analizowania danych wymaganych do obsługi procesów biznesowych będących w zakresie systemu informacyjnego w danej organizacji. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

23 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Model danych Jest zapisem (w systemie informacyjnym) informacji o obiektach (wraz z ich własnościami) oraz relacji zachodzących pomiędzy tymi obiektami. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

24 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Model (schemat) koncepcyjny Obejmuje budowę modelu świata rzeczywistego wyrażonego w postaci określonych wymagań dotyczących danych. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

25 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Model logiczny Opisuje dane w postaci obiektów wraz z określonymi własnościami (zapisanymi za pomocą określonych typów danych) oraz relacje pomiędzy nimi. Sposób organizacji danych, typy danych oraz relacje pomiędzy nimi są opisane w sposób przewidziany dla danego rodzaju modelu logicznego (model relacyjny, model obiektowy itp). W naszym przypadku będzie to model relacyjny. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

26 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Model fizyczny Obrazuje fizyczny układ danych w docelowym systemie przeznaczonym do przechowywania danych (w naszym przypadku w systemie RDBMS). Model fizyczny może być powiązany z konkretnym rodzajem bazy danych, ale nie musi. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

27 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia W przypadku mniejszych systemów modele koncepcyjny i logiczny zazwyczaj są tożsame. W modelowaniu bazodanowym zakładamy, że wiemy jakie dane są w danej strukturze potrzebne do obsługi procesów biznesowych. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

28 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Encja (ang. entity) w bazach danych to reprezentacja wyobrażonego lub rzeczywistego obiektu (grupy obiektów) stosowana przy modelowaniu danych podczas analizy informatycznej. Formalnie jest to pojęcie niedefiniowalne, a podstawową cechą encji jest to, że jest rozróżnialna od innych encji. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

29 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Relacja pomiędzy encjami Opisuje w jaki sposób dane mogą zależeć od siebie w modelu relacyjnym. artysta tworzy jest tworzony utwór G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

30 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Identifying relation jeżeli jest, to referencja w tablicy podrzędnej będzie elementem jej klucza głównego. W najnowszych systemach (np. Oracle SQL Developer Data Modeler od wersji 3.3) relacja w modelu logicznym mogą posiadać dodatkowe atrybuty (np. relacja pomiędzy przepisem a składnikiem może zawierać jednostkę i ilość produktu użytego w danym przepisie). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

31 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Notacje w schematach relacyjnych Notacje w schematach relacyjnych G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

32 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Notacje w schematach relacyjnych G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

33 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Notacje w schematach relacyjnych G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

34 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Notacje w schematach relacyjnych IDEF1X Relationship Cardinality Syntax G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

35 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Notacje w schematach relacyjnych Bachman Identifying pionowa kreska przy wiele. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

36 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Notacje w schematach relacyjnych Barker notations Identifying pionowa kreska przy wiele. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

37 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Notacje w schematach relacyjnych G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

38 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Notacje w schematach relacyjnych G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

39 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Notacje w schematach relacyjnych Data Architect - notacja kurzej stopki kółko (lub nic gdy nie jest wymagana), pionowa kreska gdy jest wymagana. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

40 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Notacje w schematach relacyjnych Reverse engineering Technika odwracania, inżynieria odwrotna, inżynieria wsteczna, programowanie zwrotne to proces badania produktu (urządzenia, programu komputerowego) w celu ustalenia jak on dokładnie działa, a także w jaki sposób i jakim kosztem został wykonany. W przypadku modelowania bazodanowego jest proces przejścia z modelu znajdującego się na niższym poziomie abstrakcji do modelu na wyższym poziomie abstrakcji. Najczęściej wykorzystywane do utworzenia modelu fizycznego na podstawie istniejącej bazy danych (np. w celu udokumentowania istniejącej bazy danych) G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

41 Wykład II - Modelowanie bazodanowe - podstawowe pojęcia Narzędzia Planowane narzędzia do użycia Oracle SQL Developer data Modeler Open ModelSphere Visual Paradigm for UML Community Edition ArgoUML-DB Narzędzia pozwalają używać kilku notacji Pozostałe darmowe narzędzia pozwalają zazwyczaj na modelowanie konkretnych baz danych na poziomie modelu fizycznego. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

42 Praktyczne elementy projektowania BD Nazewnictwo obiektów Przedrostki określające rodzaj obiektu: TB - tablica PRC - procedura TG - trigger itd... Nazwy obiektów: liczba mnoga czy pojedyncza? Nazwy kluczy obcych: mianownik czy dopełniacz? Nazwy kluczy głównych: ID czy ID_tablica? G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

43 Praktyczne elementy projektowania BD Nazewnictwo obiektów Przedrostki określające fragment funkcjonalny schematu ST - student RK - rekrutacja PL - plan zajęć itd... Należy pamiętać o ograniczeniach na długość nazw (np. Oracle - 30 znaków). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

44 Przydatne funkcje bazodanowe Ograniczenie danych widzianych przez użytkownika Updatable views ograniczenie przez where (w niektórych bazach danych przez with check ) aby były updatable - kolumna z tabeli 1:1 na kolumnę w view aby można było robić insert w view muszą być wszystkie pola not null z tabeli with check option - aby spowodować kontrolę danych przy insert i update (czy po zmianie dane będą zgodne z definicją perspektywy) G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

45 Przydatne funkcje bazodanowe Ograniczenie danych widzianych przez użytkownika Firebird mogą być proste albo przez trigger dodanie triggera do view blokuje automatyczny zapis do tabeli trzeba wykonać w triggerze odpowiednią komendę SQL, PosgreSQL simple view is automatically updatable, view + rule (create rule "_insert" as on insert to uzytk_v do instead... ). Oracle simple view is automatically updatable, CREATE OR REPLACE TRIGGER order_info_insert INSTEAD OF INSERT ON order_info Uprawnienia: wystarczy nadać uprawnienia dla view inaczej byłoby to bez sensu bo user i tak miałby bezpośredni dostęp do danych więc ograniczenie byłoby niepotrzebne. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

46 Przydatne funkcje bazodanowe Ograniczenie danych widzianych przez użytkownika Do czego można zastosować: dane osobowe przechowywane w jednej tabeli, ale różne grupy użytkowników mogą widzieć tylko dane dla swoje grupy: student, pracownik, kandydat itp... do podziału danych na jednostki (w strukturze hierarchicznej) przy wykorzystaniu wyzwalaczy - można robić np. insert do jednej perspektywy z podziałem danych na dwie tabele. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

47 Przydatne funkcje bazodanowe Wyzwalacze - kontrola poprawności danych Wyzwalacze pozwalają na wygenerowanie zdefiniowanego przez użytkownika błędu (innego niż standardowe błędy SQL). Możemy np. sprawdzić czy sala w danym terminie jest zajęta i przy próbie wpisania jeszcze jednej rezerwacji wygenerować odpowiedni błąd. Oczywiście wszystkie wymienione konstrukcje można stosować także procedurach. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

48 Przydatne funkcje bazodanowe Wyzwalacze - kontrola poprawności danych Firebird tworzymy wyjątek: create exception nazwa tekst wywołujemy: exception nazwa lub wywołujemy : exception nazwa custom msg PostgreSQL raise exception tekst ; Oracle Raise_Application_Error(numer, tekst ), numer = G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

49 Przydatne funkcje bazodanowe Funkcje (procedury) zwracające zestawy rekordów Funkcje (procedury) zwracające zestawy rekordów mogą okazać się pomocne w sytuacjach, kiedy normalne (za pomocą komendy SELECT) pobranie danych z bazy jest niemożliwe lub wymaga zbudowania skomplikowanego zapytania. Za pomocą takich funkcji możemy np. z podanego kodu XML pobrać w postaci zestawu rekordów dane o ustalonej strukturze. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

50 Przydatne funkcje bazodanowe Funkcje (procedury) zwracające zestawy rekordów Firebird CREATE OR ALTER PROCEDURE pl_enum (parametry wejściowe) returns (pola+typy) as begin... przypisanie wartości do zmiennych suspend;... end Wywołanie Jak normalną tabelę tylko, że z parametrami: SELECT... FROM pl_enum(...); G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

51 Przydatne funkcje bazodanowe Funkcje (procedury) zwracające zestawy rekordów PosgteSQL CREATE OR REPLACE FUNCTION funkca1(parametry) RETURNS SETOF record AS $BODY$ DECLARE rr record; begin for rr in select... loop return next rr; end loop; return ; end; $BODY$ LANGUAGE plpgsql VOLATILE SECURITY DEFINER; G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

52 Przydatne funkcje bazodanowe Funkcje (procedury) zwracające zestawy rekordów Wywołanie Przy wywołaniu trzeba podać nazwy i typy kolumn: select... from pl_jednostki_tablicy( sala_vd ) as (id_jedn d_ G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

53 Przydatne funkcje bazodanowe Funkcje (procedury) zwracające zestawy rekordów Oracle Najpierw typ zwracanego rekordu: CREATE OR REPLACE TYPE ret_id AS OBJECT ( id integer ); Potem zbiór rekordów: CREATE OR REPLACE TYPE ret_id_set; G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

54 Przydatne funkcje bazodanowe Funkcje (procedury) zwracające zestawy rekordów Funkcja: CREATE OR REPLACE FUNCTION get_id_list(pstr IN varchar2) RETURN ret_id_set PIPELINED IS ret ret_id := ret_id(0); BEGIN... PIPE ROW(ret);... RETURN ; END; Wywołanie SELECT id FROM TABLE(get_id_list(pR_IDs)) G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

55 Przydatne funkcje bazodanowe Temporary tables Temporary tables Postgresql Tabele tymczasowe są tworzone tylko na czas sesji - po zakończeniu sesji tablica jest kasowana. Po commit tabela może być nienaruszona, można skasować jej zawartość lub usunąć całkowicie. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

56 Przydatne funkcje bazodanowe Temporary tables Firebird Globalna ma zdefiniowane na stałe metadane (nie trzeba jej tworzyć za każdym razem), ale zawartość jest kasowana po zakończeniu transakcji lub połączenia (w zależności od tego jak jest zdefiniowana). CREATE GLOBAL TEMPORARY TABLE... [ON COMMIT <DELETE PRESERVE> ROWS] Oracle Analogicznie hak Firebird G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

57 Przydatne funkcje bazodanowe Tablice nadmiarowe Tablice nadmiarowe Przechowują dane, które mogą być obliczone na podstawie innych danych, ale ich bezpośrednie obliczanie w trakcie działania aplikacji mocno obciąża bazę danych. Dlatego są one budowane w trakcie działania aplikacji: aktualizacja następuje okresowo (job), aktualizacja następuje po zmianie określonej wartości (np. nazwiska osoby). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

58 Przydatne funkcje bazodanowe SELECT z wyniku innego SELECT a select..... from (select ) grupowanie wcześniej pogrupowanych wartości (np. średnia z sumy) użycie wyliczonych wartości w kilku innych wyrażeniach G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

59 Przydatne funkcje bazodanowe Metody dostępu do bazy danych z poziomu aplikacji Metody dostępu do bazy danych z poziomu aplikacji A. użytkownik aplikacji jest jednocześnie użytkownikiem bazy danych (DBUSER) B. aplikacja ma własny system użytkowników (APPUSER) G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

60 Przydatne funkcje bazodanowe Metody dostępu do bazy danych z poziomu aplikacji Zalety i wady DBUSER konta APPUSER: + użytkownik może samodzielnie pobierać dane w celu stworzenia np. jednorazowych raportów (chociażby do Excela) + jednostki (użytkownicy) mogą samodzielnie wykonywać na swoje potrzeby oddzielne, potrzebne tylko im moduły +/- projektując aplikację z DBUSER trzeba całą logikę zawrzeć w bazie danych (przynajmniej jeżeli chodzi o kontrolę uprawnień i integralność danych) - nieświadomy użytkownik może obciążyć bazę niezoptymalizowanymi zapytaniami - komendy SQL (UPDATE, DELETE) nie pytają o potwierdzenie modyfikacji danych można zmodyfikować dużą ilość danych (np. budując nieprawidłowy warunek WHERE) G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

61 Przydatne funkcje bazodanowe Metody dostępu do bazy danych z poziomu aplikacji Zalety i wady APPUSER konta DBUSER: + użytkownik może wykonywać tylko operacje dopuszczone przez projektanta aplikacji + część logiki można zawrzeć w aplikacji - nie ma możliwości bezpośredniego dostępu do danych, więc nietypowe raporty i zestawienia musi wykonywać administrator - mimo wszystko użytkownik, żeby połączyć się z bazą danych musi przesłać do niej dane logowania (DBUSER) gdzieś to trzeba zapisać (czyli istnieje możliwość złamania zabezpieczenia) + w przypadku aplikacji webowych (zwłaszcza na serwerach zewnętrznych) nie ma możliwości zbudowania systemu userów bazodanowych, więc zostaje tylko opcja z APPUSER G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

62 Przydatne fragmenty modeli bazodanowych System zarządzania użytkownikami W tej części przedstawimy przydatne rozwiązania, które można wykorzystać we własnych modelach baz danych. Pierwszym z nich będzie model zarządzania użytkownikami systemu opartego o bazę danych - model ten można wykorzystać zarówno w systemach gdzie użytkownik aplikacji jest jednocześnie użytkownikiem bazodanowym, jak i w systemach gdzie obie te grupy są rozdzielone. Model załączony jest w oddzielnym pliku (model_1.jpg). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

63 Przydatne fragmenty modeli bazodanowych System zarządzania użytkownikami Użyte typy danych (domeny): d_ids, d_ref, d_ref_null oparte na typie bigint domeny służące w do tworzenia referencji (kluczy głównych i obcych, ostatia dopuszcza wartości puste), d_sys_name domena tekstowa (30 znaków) która służy do zapisywania w tabelach nazw obiektów bazodanowych, z kontrolą czy dana nazwaz może być identyfikatorem, d_nazwa, d_nazwa_krotka, d_opis typy tekstowa o określonej z góry długości, d_calkowita wartość całkowita, d_logiczna wartość logiczna (TRUE/FALSE lub 0/1 w zależności od tego co oferuje silnik danej bazy). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

64 Przydatne fragmenty modeli bazodanowych System zarządzania użytkownikami Jednostki Przyjęto, że w modelu występuje hierarchiczny model podziału jednostek; każda jednostka może mieć tylko jedną jednostkę nadrzędną, i tylko jedna jednostka może być na szczycie hierarchii (jest tylko jedna jednostka bez jednostki nadrzędnej). Zawsze występuje przynajmniej jedna jednostka (root), której nie można usunąć z systemu (można tylko zmienić jej opis). Ważne: tablice opisane w modelu powinny odzwierciedlać bieżący stan w organizacji - jeżeli z jakichś względów potrzebne jest np. zachowanie historii zmian w strukturze, to powinniśmy zrobić to za pomocą oddzielnych tablic. Ponieważ nie wszystkie silniki bazodanowe oferują wbudowaną obsługę struktur hierarchicznych, dodatkowo stworzono tablicę jedn_zalezn która zawiera wszystkie pary jednostka-nadrzędna jednostka-podrzędna (zarówno zależność bezpośrednia jak i zależność pośrednia). Ze względów praktycznych przyjęto, że w tablicy tej występują też wszystkie pary jednostka jednostka. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

65 Przydatne fragmenty modeli bazodanowych System zarządzania użytkownikami Zabezpieczenia: nie można usunąć jednostki ze szczytu hierarchii (root), po utworzeniu jednostki dodajemy zależności: jednostka jednostka oraz pary jednostka jednostka nadrzędna przy zmianie jednostki nadrzędnej (przeniesienie jednostki w strukturze) kasujemy wpisy o zależnościach i tworzymy nowe, kontrola czy nie powstają cykle nie można modyfikować rekordów w tablicy z zależnościami (tylko INSERT I DELETE), G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

66 Przydatne fragmenty modeli bazodanowych System zarządzania użytkownikami Poziomy uprawnień Opisują do jakich obiektów bazodanowych użytkownik ma dostęp w przypadku modelu APPUSR=DBUSER, odpowiadają one rolom. Oznacza to, że modyfikując dane opisujące poziom uprawnień modyfikujemy też role bazodanowe (wymaga to odpowiednich uprawnień administracyjnych na poziomie bazy danych, nie można też wtedy zmienić nazwy poziomu, ponieważ bazy zazwyczaj nie dopuszczają zmian nazwy roli). Obiekty bazodanowe, do których dostęp chcemy kontrolować, zebrane są w tablicy obiekt, wraz z podanym typem obiektu (tablica, perspektywa i procedura/funkcja). Ważną grupę stanowią obiekty, w których dane będą dzielone ze względu na jednostki są to perspektywy pobierające dane z tablic bazowych; jeżeli umożliwiają one modyfikowanie danych to traktujemy jej jak tablice (tablice dzielone), w przeciwnym wypadku jak właściwe perspektywy (tylko odczyt). Typy obiektów są ustalone (typ_obiektu - tablicy tej nie można modyfikować w żaden sposób (read-only), podobnie zresztą jak tablicy z rodzajami uprawnień (upraw). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

67 Przydatne fragmenty modeli bazodanowych System zarządzania użytkownikami Tablica typ_obiektu_upraw opisuje jakie uprawnienia można nadawać obiektom danego typu. Dodatkowo występuje tablica obiekt_wyklucz_upraw, która dla danego obiektu pozwala wyłączyć kontrolę konkretnego uprawnienia. Tablica poziom_obiekt pozwala nadać uprawnienia do obiektu dla określonego poziomu uprawnień (UWAGA: w sytuacji, gdy APPUSER=DBUSER powoduje to nadanie/odebranie uprawnień dla określonej roli). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

68 Przydatne fragmenty modeli bazodanowych System zarządzania użytkownikami Użytkownicy Dane o użytkownikach zebrane są w tablicy uzytk. Należy pamiętać, że w modelu APPUSER = DBUSER, dane te przekładają się na użytkowników bazodanowych, co pociąga za sobą konieczność dbania o odpowiednie konstruowanie nazw, a także dopilnowanie, żeby użytkownik dokonujący zmian miał odpowiednie uprawnienia (podobnie jak przy poziomach uprawnień). Każdy użytkownik może być powiązany z różnymi poziomami uprawnień, z których wynikają jego uprawnienia, ale może mieć też nadane dodatkowe indywidualne uprawnienia dla wybranych obiektów (tablica uzytk_obiekt). Aby uprościć sprawdzanie uprawnień, należy utworzyć perspektywę (np. efektywne_uprawnienia, w której będą zebrane wszystkie uprawnienia użytkownika (te wynikające z poziomów uprawnień oraz te nadane indywidualnie). W przypadku rozbudowanych systemów z dużą ilością uprawnień można rozważyć stworzenie materialized view lub nawet tablicy, w której dane będą aktualizowane na życzenie lub w określonych odstępach czasowych (np. w nocy). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

69 Przydatne fragmenty modeli bazodanowych System zarządzania użytkownikami Podziały danych W strukturze hierarchicznej występuje nie tylko podział uprawnień do operowania na wybranych danych. Dane te należy podzielić także ze względu na miejsce w strukturze organizacyjnej. Np. dziekanat konkretnego wydziału uczelni widzi tylko dane swoich studentów. Oczywiście nie należy tworzyć oddzielnych tablic dla każdego dziekanatu, tylko podzielić dane istniejące w konkretnej tablicy za pomocą perspektywy lub perspektyw; najlepsza opcją jest zastosowanie jednej perspektywy, która będzie zwierała dane widoczne przez jednego użytkownika (w przypadku konieczności zmian dokonujemy ich w jednym miejscu). G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

70 Przydatne fragmenty modeli bazodanowych System zarządzania użytkownikami Podziały danych Po pierwsze musimy określić w jaki sposób będą dzielone dane dla poszczególnych podziałów: tablica podzial i tablica podzial_jedn. Druga z tych tablic opisuje jakie jednostki wchodzą w skład danego poziomu; ważne jest pole czy_podrzedne - mówi nam ono, że oprócz danej jednostki do poziomu wchodzą wszystkie jednostki podrzędne danej jednostki - dzięki temu, po dodaniu jednostki nie musimy się przejmować dodaniem jej do odpowiednich poziomów. Użytkownik jest zawsze przypisany do jednego podziału danych. G. Arkit (WMIiE) Modelowanie bazodanowe (W) 15 grudnia / 77

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

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

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

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

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

CREATE USER

CREATE USER Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość

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

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

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

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych. 22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych. Baza danych zbiór informacji opisujący wybrany fragment rzeczywistości. Właściwości baz

Bardziej szczegółowo

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

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

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Podstawowe informacje o bazach danych. Technologie Informacyjne

Podstawowe informacje o bazach danych. Technologie Informacyjne Podstawowe informacje o bazach danych Technologie Informacyjne dr inż. Michna Michał, Politechnika Gdańska 2010/2011 Przykłady systemów baz danych Książka telefoniczna, książka kucharska Zarządzanie magazynem/hurtownią

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt Zasady przygotowania i oceny projektów 1 Cel projektu Celem niniejszego projektu jest zaprojektowanie i implementacja

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza

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

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

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

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

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga Bazy Danych i Systemy informacyjne Wykład 14 Piotr Syga 18.01.2019 Motywacja Ograniczenia relacyjnych baz danych proste typu i struktury klucze (w tym sztuczne) relacje między tabelami uwzględniane w triggerach

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

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

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

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

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

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Pakiety podprogramów Dynamiczny SQL

Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba

Bardziej szczegółowo

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane

Bardziej szczegółowo

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie

Bardziej szczegółowo

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

Bardziej szczegółowo

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99 Plan ćwiczenia Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych Użytkownicy i schematy bazy danych. Uwierzytelnianie i autoryzacja. Przywileje systemowe i obiektowe. Role. Synonimy. Uprawnienia,

Bardziej szczegółowo

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych

Bardziej szczegółowo

Mechanika i Budowa Maszyn II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Mechanika i Budowa Maszyn II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2013/2014

Bardziej szczegółowo

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

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. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

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

PODSTAWY BAZ DANYCH 13. PL/SQL

PODSTAWY BAZ DANYCH 13. PL/SQL PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

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

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

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

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy]; Widoki/Perspektywy Podstawy Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy]; Usuwanie widoku DROP VIEW [nazwa_widoku]; Przykład 1 Przykład najprostszego

Bardziej szczegółowo

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU (pieczęć wydziału) KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: 3. Karta przedmiotu ważna od roku akademickiego: 2014/2015 4. Forma kształcenia: studia pierwszego stopnia 5. Forma

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

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

Bardziej szczegółowo

Tworzenie raportów XML Publisher przy użyciu Data Templates

Tworzenie raportów XML Publisher przy użyciu Data Templates Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia

Bardziej szczegółowo

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL, Mój projekt przedstawia bazę danych noclegów składającą się z 10 tabel. W projekcie wykorzystuje program LibreOffice Base do połączenia psql z graficznym interfejsem ( kilka formularzy przedstawiających

Bardziej szczegółowo

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Marcin Czajkowski Politechnika Białostocka Wydział Informatyki Przygotowanie wykładu: Małgorzata Krętowska Ogólny plan przedmiotu Wykład : Wprowadzenie

Bardziej szczegółowo

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Bardziej szczegółowo

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu. Plan wykładu Spis treści 1 Dynamiczny SQL 1 2 Wyzwalacze 2 3 Podsumowanie 9 4 Źródła 9 1 Dynamiczny SQL Dynamiczny SQL Dynamiczny SQL - technika programowania umożliwiająca generowanie instrukcji SQL dynamicznie

Bardziej szczegółowo

PODSTAWOWE POJĘCIA BAZ DANYCH

PODSTAWOWE POJĘCIA BAZ DANYCH Baza danych (data base) - uporządkowany zbiór danych o określonej strukturze, przechowywany na nośniku informacji w komputerze. System bazy danych można zdefiniować jako bazę danych wraz z oprogramowaniem

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

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. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co

Bardziej szczegółowo

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika Prowadzący: Dr inż. Jacek Habel Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów

Bardziej szczegółowo

Uprawnienia, role, synonimy

Uprawnienia, role, synonimy Uprawnienia, role, synonimy Schemat, użytkownicy, autoryzacja użytkowników, uprawnienia systemowe i obiektowe, nadawanie i odbieranie uprawnień, tworzenie ról, przywileje, synonimy Schematy i użytkownicy

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

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

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki

Bardziej szczegółowo

Wykład 3 2014-04-25 12:45 BD-1 W_3

Wykład 3 2014-04-25 12:45 BD-1 W_3 Wykład 3 SQL - język operacji na bazach danych Schemat przykładowej bazy danych Uczelnia Skrypt SQL - utworzenie bazy Uczelnia Polecenia selekcji i projekcji Interakcyjny dostęp do bazy danych 2014-04-25

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

Wymagania dotyczące projektu do przedmiotu: Systemy baz danych 2 / Bazy danych projekt 1 (P)

Wymagania dotyczące projektu do przedmiotu: Systemy baz danych 2 / Bazy danych projekt 1 (P) Wymagania dotyczące projektu do przedmiotu: Systemy baz danych 2 / Bazy danych projekt 1 (P) Założenie: zaprojektowanie schematu bazy danych modelującej wybrany fragment oraz implementacja tego schematu

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016 Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,

Bardziej szczegółowo

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą

Bardziej szczegółowo

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych Paweł Paduch paduch@tu.kielce.pl 06-04-2013 Rozdział 1 Wstęp Na dzisiejszych zajęciach zajmiemy się projektem bazy danych.

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej   Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze

Bardziej szczegółowo

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach Indeksy dodatkowe struktury służące przyśpieszeniu dostępu do danych o użyciu indeksu podczas realizacji poleceń decyduje SZBD niektóre systemy bazodanowe automatycznie tworzą indeksy dla kolumn o wartościach

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

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

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

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w

Bardziej szczegółowo

Zaawansowane bazy danych i hurtownie danych semestr I

Zaawansowane bazy danych i hurtownie danych semestr I Podprogramy Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych semestr I Procedury do przeprowadzenia akcji Funkcje do obliczania wartości Pakiety do zbierania logicznie

Bardziej szczegółowo

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne. Kwerendy wybierające Kwerenda wybierająca jest najczęściej używanym rodzajem kwerendy. Służy do otrzymywania danych z tabeli lub tabel i wyświetla wyniki w arkuszu danych, w którym można je następnie aktualizować

Bardziej szczegółowo

Procedury i funkcje składowane

Procedury i funkcje składowane Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe

Bardziej szczegółowo

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL Podstawy baz danych: Rysunek 1. Tradycyjne systemy danych 1- Obsługa wejścia 2- Przechowywanie danych 3- Funkcje użytkowe 4- Obsługa wyjścia Ewolucja baz danych: Fragment świata rzeczywistego System przetwarzania

Bardziej szczegółowo