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

Slides:



Advertisements
Podobne prezentacje
Teoretyczne podstawy tworzenia systemów relacyjnych baz danych
Advertisements

Indeksy w bazie danych Oracle
Bazy danych II Transakcje Piotr Górczyński 25/08/2001.
Przetwarzanie transakcyjne
Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
Architektura SAP R/3 Wybrane zagadnienia.
Projektowanie bazy danych
Relacyjny model danych
Relacyjny model danych
Systemy do operowania dużymi i trwałymi zbiorami danych
Wykład (12 godz): Jan Aleksander Wierzbicki Ćwiczenia ( godz):
Wycofywanie potwierdzonych transakcji
Systemy zarządzania bazami danych
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 7: Relacje i ograniczenia integralnościowe Język definiowania danych - DDL (Data Definition.
Rozdział 13: Architektura systemu Oracle
Dokumentowanie wymagań w języku XML
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 8: Perspektywy i sekwencery.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 9: Język manipulowania danymi DML (Data Manipulation Language)
Wykład 10 Prowadzący: dr Paweł Drozda
Synchronizacja Rozdział 5.
Wykład 3 Wojciech Pieprzyca
Wykład 5 Wojciech Pieprzyca
Zarządzanie transakcjami
Rozproszone bazy danych
Projektowanie i programowanie obiektowe II - Wykład IV
Wstęp do interpretacji algorytmów
Modele baz danych - spojrzenie na poziom fizyczny
Zarządzanie transakcjami Wykład S. Kozielski. Zarządzanie transakcjami Transakcja – jedna lub więcej operacji na bazie danych stanowiących pewną logiczną
Bazy Danych Wykład 1 S. Kozielski.
Projektowanie struktury logicznej (schematu) relacyjnych baz danych
Bezpieczeństwo baz danych
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
OPERACJA DZIELENIA W SQL
Bazy danych.
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
Bazy danych podstawowe pojęcia
Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł
Bazy danych Access 200x Ćwiczenie 1.
Model relacyjny.
dr Łukasz Murowaniecki T-109
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Bazy danych Microsoft access 2007.
Projektowanie relacyjnych baz danych – postacie normalne
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Algorytmika.
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
Temat 1: Strukturalny język zapytań SQL
Temat 3: Integralność danych. Integralność danych, określana również mianem spójności danych, jest to funkcja SZBD, która gwarantuje, że dane nie zostaną.
Michał Krawczykowski kl. IIIB
Definiowanie kluczy w tabelach RBD
Model obiektowy bazy danych
Temat 4: Funkcje Systemu Zarządzania Bazą Danych (SZBD)
System Zarządzania Bazą Danych
Systemy informatyczne
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
1 SBD, L.Banachowski Zaawansowane cechy SQL Powtórzenie wyk ł adu 5.
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
Projektowanie relacyjnych baz danych – diagramy związków encji
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 5: Operatory zbiorowe.
Wstęp do interpretacji algorytmów
Modelowanie model związków encji
Bazy Danych Wprowadzenie
Temat: Tworzenie bazy danych
Przetwarzanie transakcyjne. Wprowadzenie (1) Baza danych – jest abstrakcyjnym odzwierciedleniem wybranego fragmentu rzeczywistości (ang. miniworld) mini.
Indeksy.
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Technologie Informacyjne Bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

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

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Architektura logiczna systemu informatycznego

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Model danych

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Funkcje systemu zarządzania bazą danych Wymagania: spójność bazy danych po awariispójność bazy danych po awarii trwałość danychtrwałość danych wielodostępwielodostęp poufność danychpoufność danych wydajnośćwydajność rozproszenie danychrozproszenie danych Funkcje DBMS: odtwarzanie bazy danychodtwarzanie bazy danych archiwizacja bazy danycharchiwizacja bazy danych zarządzanie współbieżnością transakcjizarządzanie współbieżnością transakcji identyfikacja użytkowników, autoryzacja dostępu, szyfrowanie danych, kontrola dostępuidentyfikacja użytkowników, autoryzacja dostępu, szyfrowanie danych, kontrola dostępu fizyczne struktury danych, optymalizacja zapytańfizyczne struktury danych, optymalizacja zapytań dwufazowe zatwierdzanie transakcji, replikacja danychdwufazowe zatwierdzanie transakcji, replikacja danych

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Architektura systemu bazy danych

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Fizyczna i logiczna niezależność danych

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Spójność bazy danych Definicja: Baza danych jest spójna jeżeli jej stan jest zgodny ze stanem reprezentowanego przez nią fragmentu świata rzeczywistegoBaza danych jest spójna jeżeli jej stan jest zgodny ze stanem reprezentowanego przez nią fragmentu świata rzeczywistego Zagrożenia spójności bazy danych: awarie sprzętu komputerowego i oprogramowaniaawarie sprzętu komputerowego i oprogramowania utrata danych w wyniku uszkodzenia pamięci masowejutrata danych w wyniku uszkodzenia pamięci masowej użytkownicyużytkownicy współbieżny dostęp do danychwspółbieżny dostęp do danych

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Definicja transakcji Transakcja: jest sekwencją logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan spójny. Systemy bazy danych umożliwiają łączenie operacji w transakcje i gwarantują poprawne zarządzanie transakcjami. jest sekwencją logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan spójny. Systemy bazy danych umożliwiają łączenie operacji w transakcje i gwarantują poprawne zarządzanie transakcjami.Przykład: Transakcja przelewu kwoty N z konta A na konto B:Transakcja przelewu kwoty N z konta A na konto B:begin // odejmij kwotę N z konta A; UPDATE konta SET stan = stan - N WHERE id_konta = A; // dodaj do konta B kwotę N; UPDATE konta SET stan = stan + N WHERE id_konta = B; COMMIT; end end

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Diagram stanów transakcji Begin_transaction: początek wykonywania transakcji.Begin_transaction: początek wykonywania transakcji. Read, Write: operacje odczytu i zapisu danych w bazie danych.Read, Write: operacje odczytu i zapisu danych w bazie danych. End_transaction: zbiór operacji zapisu i odczytu składający się na transakcję został wyczerpany.End_transaction: zbiór operacji zapisu i odczytu składający się na transakcję został wyczerpany. Commit: zatwierdzenie wyników transakcji.Commit: zatwierdzenie wyników transakcji. Rollback: wycofanie wyników transakcji.Rollback: wycofanie wyników transakcji.

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Spójność bazy danych. Własności transakcji A(tomicity) C(onsistency) I(solation) D(urability) Atomowość Zbiór operacji wchodzących w skład transakcji jest niepodzielny; albo zostaną wykonane wszystkie operacje transakcji albo żadna.Zbiór operacji wchodzących w skład transakcji jest niepodzielny; albo zostaną wykonane wszystkie operacje transakcji albo żadna.Spójność Poprawne wykonanie transakcji przeprowadza bazę danych z jednego stanu spójnego do innego stanu spójnego.Poprawne wykonanie transakcji przeprowadza bazę danych z jednego stanu spójnego do innego stanu spójnego.Izolacja Transakcje są od siebie logicznie odseparowane. Mogą wzajemnie oddziaływać na siebie w taki sposób jak gdyby były wykonywane sekwencyjnie.Transakcje są od siebie logicznie odseparowane. Mogą wzajemnie oddziaływać na siebie w taki sposób jak gdyby były wykonywane sekwencyjnie.Trwałość Wyniki zatwierdzonych transakcji nie mogą zostać utracone, niezależnie od awarii systemu.Wyniki zatwierdzonych transakcji nie mogą zostać utracone, niezależnie od awarii systemu.

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Relacyjny Model Danych Historia Podstawy teoretyczne: Codd: A Relational Model for Large Shared Data Banks, rok 1970Codd: A Relational Model for Large Shared Data Banks, rok 1970 Projekty badawcze (lata siedemdziesiąte): IBM System RIBM System R Berkley IngresBerkley Ingres Produkty komercyjne (lata osiemdziesiąte): DB2 (1982), Oracle (1979), Ingres (1979), Sybase, InformixDB2 (1982), Oracle (1979), Ingres (1979), Sybase, Informix Paradox, dBaseParadox, dBase

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Model relacyjny (definicja intuicyjna) Elementy modelu struktury danychstruktury danych ograniczenia integralnościoweograniczenia integralnościowe operacjeoperacje

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Struktury danych (1) Dziedzina D jest zbiorem wartości atomowych nazwiska osóbnazwiska osób numery PESELnumery PESEL numery rejestracyjne samochodów w Polscenumery rejestracyjne samochodów w Polsce kolory włosówkolory włosów wiek osóbwiek osób wydziały uniwersytetówwydziały uniwersytetów Format danych format numerów rejestracyjnych AAA9999format numerów rejestracyjnych AAA9999 format numerów telefonów (99) format numerów telefonów (99) Schemat relacji R, oznaczony przez R(A1,..., An) łączy nazwę relacji z listą atrybutów i służy do opisu relacji. R jest nazwą relacji. Każdy atrybut Ai jest nazwą roli odgrywanej przez odpowiednią dziedzinę D w schemacie relacji R. D jest nazywana dziedziną atrybutu Ai i jest oznaczana przez dom(Ai ). Krotność relacji określa liczbę atrybutów występujących w schemacie relacji. STUDENT(Imię, Nazwisko, Miasto, Wiek, Płeć, NrIndeksu) dom(Imię) = Imiona dom(Nazwisko) = Nazwiska...

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Struktury danych (2) Definicja I Relacja (lub wystąpienie relacji) r o schemacie R(A1,..., Ak), oznaczona r(R), jest zbiorem krotek:Relacja (lub wystąpienie relacji) r o schemacie R(A1,..., Ak), oznaczona r(R), jest zbiorem krotek: r = {t1, t2,..., tn}. Wystąpienie relacji r(R) nazywane jest również stanem relacji.Wystąpienie relacji r(R) nazywane jest również stanem relacji. Każda krotka jest uporządkowaną listą k wartości:Każda krotka jest uporządkowaną listą k wartości: t =, t =, gdzie każda wartość vi, 1<= i <= k, jest elementem dziedziny dom(Ai) lub wyróżnioną wartością null (wartość pusta). Definicja II Relacja r(R) jest podzbiorem iloczynu kartezjańskiego dziedzin definiujących schemat relacji r:Relacja r(R) jest podzbiorem iloczynu kartezjańskiego dziedzin definiujących schemat relacji r: r(R)  (dom(A1) x dom(A2) x... dom(Ak)).

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Wbudowane ograniczenia integralnościowe Uporządkowanie krotek w relacji Krotki w relacji nie mają określonego porządku. Podczas przeglądania relacji można określić wiele alternatywnych porządków.Krotki w relacji nie mają określonego porządku. Podczas przeglądania relacji można określić wiele alternatywnych porządków. Relacja STUDENT może być porządkowana według: nazwisk studentów, wieku lub numerów indeksów.Relacja STUDENT może być porządkowana według: nazwisk studentów, wieku lub numerów indeksów. Wartości krotek (relacje znormalizowane) Wartości krotek są atomowe: proste i jednowartościoweWartości krotek są atomowe: proste i jednowartościowe Identyfikacja krotek Krotki identyfikowane są jedynie poprzez wartość. Lokalizacja krotki nie ma żadnego wpływu na jej tożsamość.Krotki identyfikowane są jedynie poprzez wartość. Lokalizacja krotki nie ma żadnego wpływu na jej tożsamość.

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Jawne ograniczenia integralnościowe Ograniczenie na unikalność krotek relacji Każdy podzbiór SK atrybutów relacji R, taki że dla dwóch dowolnych krotek ze zbioru r(R), prawdą jest, że: t1[SK] <> t2[SK], jest nazywany nadkluczem (ang. super key) relacji R. Każda relacja ma co najmniej jeden nadklucz - schemat relacji.Każdy podzbiór SK atrybutów relacji R, taki że dla dwóch dowolnych krotek ze zbioru r(R), prawdą jest, że: t1[SK] <> t2[SK], jest nazywany nadkluczem (ang. super key) relacji R. Każda relacja ma co najmniej jeden nadklucz - schemat relacji. SK(STUDENT) = {NrIndeksu, Nazwisko, Wiek} Kluczem relacji R nazywamy taki nadklucz tej relacji, że żaden z jego podzbiorów nie jest nadkluczem. K(STUDENT) = {NrIndeksu} Jeżeli relacja zawiera więcej niż jeden klucz, to są one nazywane kluczami potencjalnymi (ang. candidate key). Jeden z nich może pełnić rolę klucza podstawowego (ang. primary key) relacji. Pozostałe są wtedy kluczami drugorzędnymi.Jeżeli relacja zawiera więcej niż jeden klucz, to są one nazywane kluczami potencjalnymi (ang. candidate key). Jeden z nich może pełnić rolę klucza podstawowego (ang. primary key) relacji. Pozostałe są wtedy kluczami drugorzędnymi. Ograniczenie integralności klucza podstawowego Wartości klucza podstawowego identyfikują krotki relacji i dlatego nie mogą przyjmować wartości pustych.Wartości klucza podstawowego identyfikują krotki relacji i dlatego nie mogą przyjmować wartości pustych. Ograniczenie referencyjne Dane są relacje R1 i R2. Podzbiór FK atrybutów relacji R1 nazywamy kluczem obcym R1 (ang. foreign key), jeżeli:Dane są relacje R1 i R2. Podzbiór FK atrybutów relacji R1 nazywamy kluczem obcym R1 (ang. foreign key), jeżeli: 1.Atrybuty w FK mają taką samą dziedzinę jak atrybuty klucza podstawowego PK relacji R2 ; 2.Dla każdej krotki t1 relacji R1 istnieje krotka t2 relacji R2, taka że: t1 [FK] = t2 [PK], lub t1 [FK] = null.

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Weryfikacja ograniczeń integralnościowych odrzucenie operacjiodrzucenie operacji podstawienie wartości domyślnejpodstawienie wartości domyślnej propagacja operacjipropagacja operacjiPrzykład Wstaw do relacji Pracownicy krotkę:Wstaw do relacji Pracownicy krotkę: t = t = Zmodyfikuj krotkę relacji Zespoły: t[Zespoły.IdZesp] = 30, taką że:Zmodyfikuj krotkę relacji Zespoły: t[Zespoły.IdZesp] = 30, taką że:t[Zespoły.IdZesp]=20 Usuń krotkę relacji Pracownicy, taką że:Usuń krotkę relacji Pracownicy, taką że: t[Nazwisko] = 'Tarzan'