Bazy danych 1. Podstawowe pojęcia



Podobne dokumenty
Bazy danych 2. Wykład 1

Bazy danych. Algebra relacji

Wykład I. Wprowadzenie do baz danych

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

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

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

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

Baza danych. Modele danych

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

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

Wykład 2. Relacyjny model danych

Pojęcie systemu baz danych

Systemy GIS Systemy baz danych

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

SZKOLENIE: Administrator baz danych. Cel szkolenia

Podstawy Systemów Zarządzania Baz Danych

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

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

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

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

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

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

Bazy danych - wykład wstępny

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

1 Wstęp do modelu relacyjnego

FUNKCJE SZBD. ZSE - Systemy baz danych 1

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

ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

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

Technologia informacyjna

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

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

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

WPROWADZENIE DO BAZ DANYCH

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

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

Oracle11g: Wprowadzenie do SQL

Baza danych. Baza danych to:

Model relacyjny. Wykład II

PRZEWODNIK PO PRZEDMIOCIE

Krzysztof Kadowski. PL-E3579, PL-EA0312,

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

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

Program nauczania. Systemy baz danych. technik informatyk

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

BAZY DANYCH Podstawowe pojęcia

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

Technologia informacyjna

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

z tematyką związaną z gromadzeniem systemów informatycznych Bartman Jacek

Bazy danych. Andrzej Łachwa, UJ, /14

Relacyjne bazy danych

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Podstawowe informacje o bazach danych. Technologie Informacyjne

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

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Adam Cankudis IFP UAM

Model relacyjny. Wykład II

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

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

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

Wprowadzenie do baz danych

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Alicja Marszałek Różne rodzaje baz danych

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

Spis treści. Przedmowa

Literatura. Bazy danych s.1-1

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

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

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

WPROWADZENIE DO BAZ DANYCH

RELACYJNE BAZY DANYCH

Tomasz Grześ. Systemy zarządzania treścią

Bazy danych i ich aplikacje

Podstawy Systemów Zarządzania Baz Danych

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Projektowanie relacyjnych baz danych

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS

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

Systemy GIS Tworzenie zapytań w bazach danych

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

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

Bazy danych TERMINOLOGIA

Bazy danych. Dr Henryk Telega. BD 10/11 Wykład 1 1

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

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Opisy przedmiotów do wyboru. oferowane na stacjonarnych studiach I stopnia dla 3 roku matematyki semestr letni, rok akademicki 2017/2018

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

Przestrzenne bazy danych Podstawy języka SQL

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Projektowanie baz danych

Projektowanie Systemów Informacyjnych

2. Tabele w bazach danych

Transkrypt:

Bazy danych 1 Podstawowe pojęcia

Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi Literatura L. Banachowski Bazy danych. Tworzenie aplikacji L. Banachowski, A. Chądzyńska, K. Matejewski Relacyjne bazy danych. Wykłady i ćwiczenia C.J. Date Wprowadzenie do systemów baz danych T. Conolly, C. Begg Systemy baz danych R.Stones, N. Matthew Bazy danych i PostgreSQL Zasoby Internetu

Systemy przetwarzania danych Ręczne systemy Systemy oparte na przetwarzaniu plików Systemy oparte na bazach danych

Systemy oparte na przetwarzaniu plików Zbiór aplikacji wykonujących polecenia użytkowników (np. generowanie raportów). Każdy program definiuje i przetwarza własne dane.

Systemy oparte na przetwarzaniu plików Każdy dział ma dostęp do swoich plików poprzez aplikacje napisane specjalnie dla niego. Pakiet aplikacji każdego działu obsługuje wprowadzanie danych, nadzoruje pliki danych, umożliwia generowanie raportów wybranych spośród dostępnych w systemie. Fizyczna struktura plików z danymi oraz zapisanych w nich rekordów jest zdefiniowana w kodzie każdej aplikacji..

Systemy oparte na przetwarzaniu plików - ograniczenia Rozproszenie i odseparowanie danych Powielanie danych Ograniczona ilość możliwych zapytań Zależność danych od programu fizyczna struktura i organizacja plików danych i rekordów jest zdefiniowana w kodzie aplikacji Niekompatybilne formaty plików Nie istnieje kontrola dostępu i przetwarzania danych, wielodostęp, odtwarzanie danych po awarii

Baza danych Baza danych to dostępny dla wielu użytkowników zbiór powiązanych logicznie danych trwałych wraz z definicją ich struktury, zaprojektowany dla zaspokojenia potrzeb przetwarzania danych przez daną organizację.

Baza danych Pojęcia związane zane z bazą danych Trwałość dane mają być przechowywane przez pewien okres czasu, na ogół nieokreślony z góry Zgodność z rzeczywistości cią (integralność danych) dane w bazie danych muszą stanowić wierne odzwierciedlenie modelowanego fragmentu rzeczywistości, w przypadku zmian we fragmencie rzeczywistości, baza danych też musi się zmieniać Replikacja danych w idealnej sytuacji jeden fakt dotyczący modelowanego fragmentu rzeczywistości powinien być w bazie reprezentowany tylko na jeden sposób Niezależno ność danych dane i procesy działające na bazie danych powinny być ze sobą niezależne Ochrona danych określone dane są używane tylko przez uprawnionych użytkowników

System zarządzania bazą danych System zarządzania bazą danych (SZBD, DBMS Database Management System) to system oprogramowania, który pozwala użytkownikom definiować, tworzyć i utrzymywać bazę danych oraz kontrolować do niej dostęp.

System zarządzania bazą danych DBMS pełni różne funkcje Pozwala zdefiniować bazę danych (typy danych, struktury i więzy dla danych przechowywanych w bazie) Pozwala dopisywać, modyfikować, usuwać i wyszukiwać dane z bazy Pozwala na kontrolowany dostęp do danych (szczegóły za chwilę) Przykłady: Komercyjne: Acces, Oracle, DB2, Microsoft SQL Server, Adaptive Server Anywhere Niekomercyjne: MySQL, PostgreSQL, Firebird

System informatyczny Zbiór danych opisujący pewien wybrany fragment rzeczywistości będziemy nazywać bazą danych. Struktura danych i powiązania między nimi są opisane przez tzw. schemat bazy danych. Baza danych jest zarządzana przez tzw. system zarządzania bazą danych, w skrócie SZBD. Funkcje oferowane przez SZBD zostaną omówione w dalszej części wykładu. SZBD i bazę danych będziemy dalej nazywać systemem bazy danych. Z systemem bazy danych współpracują programy użytkowników, zwane aplikacjami.zadaniem tych programów jest przetwarzanie danych, tj. wstawianie nowych danych, modyfikowanie danych już istniejących, usuwanie danych nieaktualnych, wyszukiwanie danych. Wszystkie omówione wyżej komponenty (tj. baza danych, SZBD i aplikacje) wchodzą wskład tzw. systemu informatycznego.

Architektura systemu bazy danych Głównym zadaniem wielopoziomowej architektury systemu bazy danych jest oddzielenie fizycznej reprezentacji bazy danych od różnych sposobów widzenia danych w bazie przez użytkowników.

Architektura ANSI-SPARC W 1975 r. American National Standards Institute - Standards Planning and Requirements Committee (ANSI-SPARC) zaproponował trzypoziomową architekturę dla systemu baz danych. Architektura ta wyróżnia trzy poziomy abstrakcji. Poziomy te są nazywane czasem schematami lub widokami: Poziom zewnętrzny Poziom konceptualny (pojęciowy) Poziom wewnętrzny

Poziom zewnętrzny Opisuje, jak użytkownicy widzą bazę danych i w jaki sposób uzyskują do niej dostęp. Składa się z wielu zewnętrznych sposobów widzenia bazy danych tzw. perspektyw. Perspektywa zawiera tylko te dane z bazy danych, którymi dany użytkownik jest zainteresowany. Pozostałe dane są dla niego niewidoczne. Perspektywy zwiększają poziom bezpieczeństwa danych oraz umożliwiają dostosowanie sposobu prezentacji danych do przyzwyczajeń użytkownika.

Poziom konceptualny (pojęciowy) Stanowi zbiorowy sposób widzenia bazy danych. Opisuje, jakie dane są przechowywane w bazie i jakie są ich wzajemne związki. Zawiera logiczną strukturę bazy danych.

Poziom wewnętrzny Dotyczy fizycznej reprezentacji bazy danych w komputerze. Opisuje sposób przechowywania danych w bazie strukturę danych, organizację plików używanych do przechowywania danych

Architektura ANSI-SPARC Użytkownik A1 Użytkownik A2 Użytkownik B1 Poziom zewnętrzny Zewnętrzny model danych A Schemat zewnętrzny A Zewnętrzny model danych B Odwzorowanie zewnętrzno-pojęciowe Odwzorowanie zewnętrzno-pojęciowe Poziom pojęciowy Schemat pojęciowy Pojęciowy model danych Odwzorowanie pojęciowo-wewnętrzne DBMS Poziom wewnętrzny Schemat wewnętrzny Wewnętrzny model danych (zapamiętana baza danych)

Architektura ANSI-SPARC

Niezależność danych Trzypoziomowa architektura służy do zapewnienia niezależności Niezależność danych ma dwie formy: Logiczna niezależność danych. Oznacza ona niewrażliwość schematów zewnętrznych na zmiany w schemacie konceptualnym. Na przykład można dodać nową daną do schematu konceptualnego bez wpływania na poziom zewnętrzny. Fizyczna niezależność danych. Oznacza ona niewrażliwość schematu konceptualnego na zmiany w schemacie fizycznym. Na przykład można zmienić strukturę przechowywania danych w bazie danych bez wpływania na schemat konceptualny.

Struktura DBMS Zestaw narzędzi DBMS Interfejs Jądro DBMS Jądro DBMS oznacza centralną maszynę, która realizuje podstawowe funkcje zarządzania danymi, takie jak zdefiniowane poniżej. Zestaw narzędzi DBMS oznacza szeroki wybór narzędzi, które obecnie mogą stanowić część DBMS lub mogą pochodzić od innych dostawców. Na przykład arkusze kalkulacyjne, języki czwartej generacji, programy monitorujące wydajność itp. Aby powiązać jądro z zestawem narzędzi, musimy mieć zdefiniowany interfejs. Jest to standardowy język, który łączy narzędzie, takie jak język czwartej generacji, z funkcjami jądra.

Funkcje CRUD Funkcje DBMS DBMS musi umożliwić użytkownikowi tworzenie struktur danych, zmiany danych w strukturach oraz usuwanie danych ze struktur. Funkcje te są określane łącznie jako operacje CRUD - Create (utwórz), Read (czytaj), Update (aktualizuj) i Delete (usuń).

Słownik danych Funkcje DBMS DBMS musi obsługiwać repozytorium metadanych - danych o danych. Repozytorium to nazywa się słownikiem danych lub katalogiem systemu. Zwykle słownik danych przechowuje dane o strukturze danych, związkach między danymi, więzach integralności nałożonych na dane, nazwach i uprawnieniach użytkowników.

Obsługa transakcji Funkcje DBMS DBMS powinien zapewnić, że albo wykonane zostaną wszystkie aktualizacje związane z daną transakcją, albo żadna z nich nie będzie wprowadzona. Transakcja to niepodzielny logicznie ciąg operacji, które używają zawartości bazy danych bądź ją aktualizują.

Funkcje DBMS Sterowanie współbieżnością DBMS musi umożliwiać wielu użytkownikom wspólne korzystanie z danych w bazie - współbieżny dostęp do danych. DBMS musi zapewniać, że w wypadku gdy dwie transakcje mają dostęp do tych samych danych, baza danych nie znajdzie się w stanie niespójnym.

Sterowanie współbieżnością czas T1 T2 saldo t 1 read(saldo) 100 t 2 read(saldo) saldo=saldo+100 100 t 3 saldo=saldo-10 write(saldo) 200 t 4 write(saldo) 90 t 5 90

Funkcje DBMS Obsługa odtwarzania bazy DBMS musi zapewnić, że baza danych może zostać odtworzona po awarii sprzętu lub oprogramowania powodującej uszkodzenie bazy.

Obsługa autoryzacji Funkcje DBMS DBMS musi mieć narzędzia zapewniające bezpieczeństwo bazy danych. Ogólnie mówiąc, DBMS musi obsługiwać pojęcie uprawnionego użytkownika bazy danych oraz umożliwiać tworzenie użytkowników oraz powiązanie uprawnień każdego użytkownika z dostępem do danych w bazie i/lub narzędzi DBMS.

Funkcje DBMS Obsługa transmisji danych DBMS musi być w stanie współpracować z oprogramowaniem transmisji danych. Szczególnie ważne jest zapewnienie połączenia oprogramowania narzędziowego z jądrem DBMS.

Funkcje DBMS Obsługa integralności danych Integralność danych jest właściwością bazy danych zapewniającą, że pozostaje ona wiernym odzwierciedleniem obszaru analizy. Aby to umożliwić, DBMS musi obsługiwać więzy integralności. DBMS musi mieć możliwość wymuszania więzów w kontekście operacji CRUD.

Funkcje DBMS Usługi wspierające niezależność danych DBMS powinien zawierać elementy wspierające niezależność programów od rzeczywistej struktury bazy danych.

Funkcje DBMS Programy narzędziowe do efektywnego zarządzania bazą danych DBMS powinien zapewnić odpowiednie narzędzia do administrowania bazą danych. Narzędzia te obejmują: narzędzia importowania danych do bazy z innych źródeł danych; narzędzia eksportowania danych z bazy danych do innych źródeł danych; narzędzia monitorowania użycia i operacji na bazie danych; narzędzia monitorowania wydajności bazy danych i zwiększania tej wydajności.

Interfejs DBMS Interfejs DBMS składa się z podjęzyka bazy danych. Jest to język programowania przeznaczony specjalnie do inicjowania funkcji DBMS. Składa się on z trzech części: Język definiowania danych (DDL) Język definiowania danych jest stosowany do tworzenia i usuwania struktur danych oraz do uzupełniania istniejących struktur. DDL aktualizuje metadane przechowywane w słowniku danych. Język operowania danymi (DML) Język operowania danymi jest używany do określania poleceń, które realizują działania CRUD na bazie danych. DML jest podstawowym mechanizmem stosowanym przy określaniu transakcji wykonywanych na bazie danych. Język kontroli danych (DCL) Język kontroli danych jest przeznaczony do wykorzystania przez administratora bazy. Jest on stosowany zwłaszcza do definiowania użytkowników bazy danych oraz przyznanych im uprawnień. Głównym przykładem takiego podjęzyka jest strukturalny język zapytań SQL. Ten podjęzyk jest często stosowany w powiązaniu z innymi narzędziami tworzenia aplikacji, takimi jak język czwartej generacji (4GL).

Grupy użytkowników Administratorzy danych (DA) podejmują decyzje, jakie dane powinny być przechowywane odpowiedzialni za projektowanie i kontrolowanie ustalonych standardów odpowiedzialni za przestrzeganie strategii i procedur postępowania odpowiedzialni za prawidłowy rozwój bazy

Grupy użytkowników Administratorzy bazy danych (DBA) odpowiedzialni technicznie za realizację decyzji administratora danych odpowiedzialni za fizyczną realizację bazy danych, kontrolę bezpieczeństwa i spójności, zapewnienie sprawnego działania aplikacji użytkowników, wydajność systemu

Porównanie DA i DBA Administrator danych Związany z planowaniem strategii Wyznacza długoterminowe cele Określa wymagania dotyczące danych Odpowiedzialny za konceptualny i logiczny projekt bazy danych Tworzy i utrzymuje model danych przedsiębiorstwa Koordynuje wykonanie systemu Zajmuje się zarządzaniem Jest niezależny od DBMS Administrator bazy danych Ocenia nowy DBMS Realizuje plany prowadzące do osiągnięcia celów Implementuje wymagania dotyczące danych Tworzy logiczny i fizyczny projekt bazy danych Implementuje fizyczny projekt bazy danych Monitoruje i steruje bazą danych Zajmuje się sprawami technicznymi Jest zależny od DBMS

Grupy użytkowników Projektanci bazy danych (logicznej i fizycznej) Twórcy aplikacji bazodanowej Użytkownicy korzystają z bazy danych poprzez specjalne aplikacje bądź poprzez korzystanie z języków wysokiego poziomu (np. SQL)

Architektura klient - serwer Klient Obsługuje interfejs użytkownika Akceptuje wprowadzane dane i sprawdza ich poprawność składniową Obsługuje sterowanie w aplikacji Tworzy żądanie do bazy danych i przesyła je do serwera Przekazuje odpowiedź z powrotem do użytkownika Serwer Akceptuje i przetwarza żądania do bazy danych od klientów Sprawdza uprawnienia Zapewnia nienaruszalność więzów integralności Realizuje przetwarzanie zapytań/aktualizacji i przekazuje odpowiedzi klientom Konserwuje katalog systemowy Obsługuje współbiezny dostęp Realizuje odzyskiwanie danych po awarii

Architektura klient - serwer

Architektura klient - serwer Zalety Umożliwia szerszy dostęp do istniejących baz danych Zwiększa wydajność systemu jednostki robocze mogą równolegle wykonywać aplikacje Pozwala na redukcje kosztów Redukuje koszty komunikacji aplikacje wykonują część operacji w komputerach klientów, a przez sieć przesyłają tylko żądanie dostępu do bazy danych Rozszerza zakres niesprzeczności danych więzy integralności są sprawdzane tylko w jednym miejscu Konfiguracja tylko jednego serwera

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 nałożonych na dane.

Model danych Części modelu danych: Część strukturalna zbiór reguł określających jaka jest struktura danych, Część wykonawcza zbiór reguł określających, jak manipuluje się danymi, Część dotycząca integralności danych zbiór reguł określających, które stany bazy są poprawne.

Rodzaje modeli danych Hierarchiczny model danych Sieciowy model danych Relacyjny model danych Model relacyjno-obiektowy Model obiektowy

Model relacyjny Twórcą modelu relacyjnego jest E.F.Codd, który w roku 1970 ogłosił pracę dotyczącą systemu baz danych opartego na modelu danych zbudowanym z relacji. Relacja R jest to dowolny podzbiór iloczynu kartezjańskiego jednego lub więcej zbiorów: R D D 1 1 D D 2 2... D... D k k = {( a, a 1 2,..., a k ): a i D, i {1,2,..., k}} i

Model relacyjny Dane zawsze odnoszą się do pewnego obiektu i charakteryzują jego wybrane własności. Własności, cechy obiektu, pozwalające częściowo opisać ten obiekt, nazywamy atrybutami (A i ). Atrybuty przyjmują wartości z określonego zbioru zwanego dziedziną (D i ). W każdym momencie dla każdego obiektu każdy atrybut przyjmuje wartość atomową (pojedynczą i niepodzielną).

Model relacyjny Schematem R relacji nazywamy zbiór atrybutów {A 1,..., A n } Relacją r o schemacie R = {A 1,..., A n } nazywamy skończony zbiór r = {t 1,..., t m } odwzorowań t i : R D, gdzie D jest równe sumie dziedzin atrybutów A 1,..., A n, takich, że t i (A j )=D j dla i=1,...,m, j=1,...,n. Każde takie odwzorowanie nazywamy krotką. Przykład: R={Numer, Skąd, Dokąd, Odlot, Przylot} t i (A j )={(Numer,83), (Skąd, 'Budapeszt'), Dokąd, 'Warszawa'). (Odlot, '11:30'), (Przylot, '13:10}

Model relacyjny Relacje mogą być reprezentowane w postaci tabel krotkom odpowiadają wiersze (rekordy), atrybutom kolumny (pola). PRACOWNICY(Nazwisko, Imię, Wiek, Pensja) - schemat relacji Nazwisko Imię Wiek Pensja rekord Kowalski Jan 35 360 Nowak Piotr 36 400 Zielińska Anna 25 340

Integralność danych - klucz Kluczem schematu R relacji nazywamy taki zbiór atrybutów K tego schematu, że przez wartości atrybutów z tego zbioru można jednoznacznie zidentyfikować każdą krotkę (tzn. żadne dwie różne krotki dowolnej relacji rozpiętej na schemacie R nie mają tych samych wartości dla atrybutów z K własność jednoznaczności). Własności: Wartość klucza pozwala jednoznacznie identyfikować rekordy. Dany schemat może posiadać więcej kluczy. Każdy nadzbiór klucza jest kluczem. Klucz, którego żaden podzbiór właściwy nie jest kluczem (własność minimalności), nazywa się kluczem właściwym (kandydującym) cym). Wśród kluczy wybiera się jeden i nazywa go się kluczem głównym wnym.

Klucz schemat relacji DANE_OSOBOWE(nr_dowodu, nazwisko, imię, data_ur) nr_dowodu nazwisko imię data_ur AB 2435209 Nowak Jan 05-05-53 CD 8574930 Kowalski Piotr 23-02-60 EF 3385778 Nowak Anna 01-12-59 GH 9938850 Bogucki Andrzej 03-03-65 IJ 8787895 Nowak Anna 11-12-59 KL 7657770 Smutny Waldemar 15-09-62

Klucz schemat relacji DANE_OSOBOWE(nr_dowodu, nazwisko, imię, data_ur) nr_dowodu nazwisko imię data_ur AB 2435209 Nowak Jan 05-05-53 CD 8574930 Kowalski Piotr 23-02-60 EF 3385778 Nowak Anna 01-12-59 GH 9938850 Bogucki Andrzej 03-03-65 IJ 8787895 Nowak Anna 11-12-59 KL 7657770 Smutny Waldemar 15-09-62 schemat relacji DANE_OSOBOWE(nr_dowodu, nazwisko, imię, data_ur) nr_dowodu nazwisko imię data_ur AB 2435209 Nowak Jan 05-05-53 CD 8574930 Kowalski Piotr 23-02-60 EF 3385778 Nowak Anna 01-12-59 GH 9938850 Bogucki Andrzej 03-03-65 IJ 8787895 Nowak Anna 11-12-59 KL 7657770 Smutny Waldemar 15-09-62 MN 6578001 Nowak Jan 05-05-53 WNIOSEK Klucz dobieramy poprzez analizę świata rzeczywistego. Zawartość tabeli jest odzwierciedleniem modelowanego świata tylko w pewnym okresie i może ona podlegać istotnym zmianom.

Integralność danych klucz obcy Kluczem obcym schematu S relacji nazywamy zbiór atrybutów FK tego schematu, który jest kluczem kandydującym pewnego schematu R relacji. RZEMIEŚLNIK_KTO RZEMIEŚLNIK_CO nazwisko adres NIP NIP wyrób cena Nowak Warszawa 774656 774656 naszyjnik 70 Nowak Opole 774875 773829 obrączki 120 Nowak Gdynia 773829 774656 kolczyki 12 Kowalski Kraków 786094 786094 naszyjnik 65 Kowalski Kraków 773521 786094 kolczyki 15 relacja nadrzędna relacja podrzędna

Integralność danych Wartość pusta (NULL) reprezentuje wartość atrybutu, która w danej chwili nie jest znana lub nie może zostać ustalona. Rodzaje relacyjnych więzów integralności: Integralność encji Każdy schemat relacji posiada klucz główny i żaden składnik klucza głównego nie akceptuje wartości pustej. Integralność referencyjna Każda wartość klucza obcego wynosi NULL lub jest równa wartości klucza kandydującego pewnej krotki w relacji nadrzędnej. Więzy ogólne Dodatkowe warunki poprawności danych określone przez użytkowników lub administratorów bazy danych.

Perspektywy w modelu relacyjnym Perspektywa to dynamicznie obliczany wynik jednej lub wielu operacji relacyjnych tworzących nową relację z relacji bazowych (relacji o schematach relacji należących do schematu bazy danych). Perspektywa jest relacją wirtualną (wyliczaną), która nie musi fizycznie istnieć w bazie danych, ale może być wyliczona w każdej chwili na żądanie użytkownika.

Perspektywy w modelu relacyjnym Perspektywy: stanowią silne i elastyczne narzędzie ochrony danych poprzez ukrywanie części bazy danych przez pewnymi użytkownikami, zapewniają użytkownikom dostęp do danych w sposób dostosowany do ich potrzeb dzięki temu różni użytkownicy mogą widzieć te same dane w różny sposób, mogą uprościć skomplikowane operacje na relacjach bazowych.

Perspektywy w modelu relacyjnym Perspektywy są dynamiczne zmiany w relacjach bazowych wpływające na perspektywę są natychmiast w niej uwzględniane. I odwrotnie, gdy użytkownik dokonuje dozwolonych zmian w perspektywie, to są one przenoszone do relacji bazowych. Ograniczenia modyfikowania danych poprzez perspektywy: Modyfikacje można wykonywać poprzez perspektywy zdefiniowane prostym zapytaniem dotyczącym jednej relacji bazowej. Perspektywa taka musi zawierać klucz główny relacji. Modyfikacji nie wolno dokonywać poprzez perspektywy dotyczące wielu relacji bazowych. Modyfikacji nie można wykonywać poprzez perspektywy zawierające operatory grupowania lub funkcje agregujące.

Koniec Dziękuję za uwage!!!