Relacyjny model danych

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

1/12

Wykład wstępny

Podstawowe pojęcia relacyjnych baz danych

(RBD)

 

Streszczenie

Wykład wyjaśnia podstawowe pojęcia dziedziny baz danych. W szczególności jest
omówiony relacyjny model danych, na którym jest oparta budowa
współczesnych, komercyjnych baz danych. Załączona jest także informacja o
architekturze klient­serwer używanej w aplikacjach baz danych oraz o historii
rozwoju baz danych.

 

Baza danych

Podstawowe fakty:

Dane są takim samym zasobem firmy jak każdy inny (np. pracownicy,
materiały, urządzenia) i wymagającym, tak samo jak one, zarządzania.
Informacja

 

to dane razem z ich semantyką ­ znaczeniem dla firmy.

Zarządzanie danymi jest realizowane poprzez system informacyjny
obsługujący zapotrzebowania na informacje dla pewnego fragmentu
rzeczywistości w firmie.
Baza danych stała się standardową metodą wprowadzenia struktury do
procesu zarządzania danymi.
Baza danych jest częścią systemu informacyjnego firmy.

Aspekty systemu informacyjnego

podkreślające jego implementacyjny charakter:

aplikacja baz danych, gdy chcemy zwrócić uwagę na charakter
programistyczny i szczególne miejsce bazy danych w całej aplikacji;
system informatyczny, gdy chcemy zwrócić uwagę na ogólne środki
informatyczne a więc także na używane oprogramowanie i sprzęt.

Dlaczego warto interesować się bazami danych?

Wszechobecność informacji:

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

2/12

od serwisów działających na przeglądarkach internetowych,
po aplikacje naukowe.

Zbiory danych o coraz większej różnorodności i wielkości:

biblioteki elektroniczne, multimedialne bazy danych, interaktywne
video, projekty badania genomu człowieka, projekt obserwacji Ziemi
(NASA).

Przy konstrukcji systemów baz danych wykorzystuje się większość działów
informatyki: 

systemy operacyjne, teorię informatyki, sztuczną inteligencję, logikę,
języki programowania, multimedia, inżynierię oprogramowania.

Obszar systemów baz danych reprezentuje jeden z największych i
najbardziej aktywnych segmentów rynku.

 

Relacyjny model danych

Relacyjny model danych pojawił się po raz pierwszy w artykule naukowym

Edgara Codda w 1970 roku.

W terminologii matematycznej ­ 

baza danych

 jest zbiorem 

relacji

.  Stąd

historycznie pochodzi nazwa relacyjny model danych i relacyjna baza danych. W
matematyce definiuje się relację jako podzbiór iloczynu kartezjańskiego zbiorów
wartości. Reprezentacją relacji jest dwuwymiarowa tabela złożona z kolumn i
wierszy. Założenia:

Liczba kolumn jest z góry ustalona.
Z każdą kolumną jest związana jej nazwa oraz dziedzina, określająca zbiór
wartości, jakie mogą wystąpić w kolumnie.
Na przecięciu wiersza i kolumny znajduje się pojedyncza (atomowa)
wartość należąca do dziedziny kolumny.
Wiersz reprezentuje jeden rekord informacji np. osobę.
W modelu relacyjnym abstrahujemy od kolejności wierszy (rekordów) i
kolumn (pól w rekordzie).

Tabela Wykładowcy

IdWykładowcy  

 

Imię        Nazwisko       Tytuł           

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

3/12

1237

 

Jan

Kowalski

Doktor

3245

 

Maciej

Jankowski

Docent

8976

 

Artur

Malinowski

Profesor

Tabela Przedmioty

NazwaPrzedmiotu

 

Kod      IdWykładowcy     

Bazy danych

 

BDA

1237

 

Projektowanie systemów informacyjnych 

 

PSI

3245

 

Technologie internetowe

 

TIN

3245

 

Programowanie obiektowe

 

POB

8976

 

Systemy decyzyjne

 

SDE

1237

 

Znaczenie IdWykładowcy w tabeli Przedmioty

Jego wartość nie opisuje cechy wykładu. 
Reprezentuje związek danego przedmiotu z wykładowcą, o którym informacja
znajduje się w innej tabeli i tylko korzystając z identyfikatora możemy
rozpoznać w innej tabeli wiersz właściwego wykładowcy i odczytać o nim
informacje. 
Istotne jest więc, aby identyfikator ten jednoznacznie określał danego
wykładowcę ­ w modelu relacyjnym nie ma innej możliwości identyfikacji
wiersza tylko poprzez wartości kolumn, które jednoznacznie identyfikują
wiersz.

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

4/12

Klucz główny i jednoznaczny

Dla każdej tabeli musi być określony jednoznaczny identyfikator nazywany
kluczem głównym ­ zbiór złożony z jednej lub więcej kolumn, w których
wartości jednoznacznie identyfikują cały wiersz.
Klucz jednoznaczny (nazywany też kluczem alternatywnym lub w skrócie
kluczem) ma tę samą własność co klucz główny przy czym klucz główny jest
tylko jeden, kluczy jednoznacznych w tabeli może być więcej niż jeden.

W tabeli Przedmioty kluczem głównym jest KodPrzedmiotu, kluczem
alternatywnym jest NazwaPrzedmiotu.
W tabeli Wykładowcy kluczem głównym jest IdWykładowcyNazwisko nie
musi być kluczem!

Klucz obcy

Klucz obcy jest to zbiór złożony z jednej lub więcej kolumn, których
wartości występują jako wartości ustalonego klucza głównego lub
jednoznacznego w tej lub innej tabeli i są interpretowane jako wskaźniki do
wierszy w tej drugiej tabeli.

W tabeli Przedmioty kluczem obcym jest IdWykładowcy, którego wartości
pochodzą z kolumny IdWykładowcy w tabeli Wykładowcy.
Na przykład, wartość 1237 występująca w wierszu przedmiotu "Bazy danych"
tabeli Przedmioty stanowi odwołanie do wiersza w tabeli Wykładowcy, w
którym są zapisane informacje o wykładowcy o nazwisku "Kowalski":

   "Przedmiot Bazy danych jest wykładany przez Jana Kowalskiego"

 

Teraz pytanie:
 

Ile kluczy obcych może mieć tabela?

 

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

5/12

NULL – "brak wartości"

Dziedziny kolumn są rozszerzane o specjalny obiekt Null ­ oznaczający brak
wartości – 

chwilowy bądź 
wynikający z istoty rzeczy (coś innego niż napis pusty czy zero). 

Wszystkie porównania i operacje na danych, w których argumentem jest
Null dają w wyniku Null (również Null=Null). 
Jest to więc w efekcie trzecia wartość logiczna obok True i False.

Operator alternatywy 

OR

OR      True    False     Null    
True True

True

True

False True

False

Null

Null

True

Null

Null

 
Operator koniunkcji 

AND

AND      True    False     Null    
True

True

False

Null

False

False

False

False

Null

Null

False

Null

 
Operator negacji 

NOT

NOT  True  False  Null 
 

False True

Null

 
Czas na krótkie pytanie:
 

Czy jest możliwa taka sytuacja, że wartość wyrażenia logicznego jest prawdziwa,
mimo że wartość jednego z argumentów jest nieokreślona?

 

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

6/12

Predykaty 

Is Null

 oraz 

Is Not Null

Pozwalają stwierdzić, czy dana wartość jest Null czy nie:

"X Is Null" = True gdy, X jest Null
"X Is Null" = False gdy, X nie jest Null

"X=Null" = Null dla wszystkich X

Teraz krótkie pytanie:
 

Jaka jest wartość wyrażenia "(Null=Null) Is Null"?

 

Więzy spójności danych

są to warunki poprawności danych w tabelach.

Dla pojedynczych wartości w wierszu np. 0< Wiek <140
Dla kilku wartości w wierszu np.

Data_urodzenia Data_zatrudnienia

Więzy klucza głównegowięzy klucza jednoznacznego.
Więzy NOT NULL.
Więzy referencyjne (więzy spójności referencyjnej): wartość klucza obcego
może być albo Null albo musi występować jako wartość powiązanego z nim
klucza głównego (lub jednoznacznego).
Bardziej skomplikowane reguły wymagające zastosowania bardziej
skomplikowanego języka np. 
      Suma wszystkich zarobków pracowników działu X = Fundusz płac działu
X

Czas na krótkie pytanie:

Wskaż

 popularny model danych, w którym nie zawsze są przestrzegane więzy

spójności referencyjnej?

 

Perspektywa (view)

­ wirtualna tabela, którą posługują się użytkownicy np.

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

7/12

Przedmioty­Wykładowcy:

NazwaPrzedmiotu     

 

Wykładowca    

Bazy danych

 

Kowalski

Projektowanie systemów informacyjnych   

 

Jankowski

Technologie internetowe

 

Jankowski

Programowanie obiektowe

 

Malinowski

Systemy decyzyjne

 

Kowalski

Zawartość zwykłej perspektywy jest na życzenie wyliczana przez system ze
źródłowych tabel. Nie jest na stałe zapisywana w bazie danych. W pewnych
sytuacjach wygodniej jest zapisać zawartość perspektywy w bazie danych a
następnie korzystać z jej „materializacji”. Taki specjalny rodzaj perspektywy nosi
nazwę perspektywy zmaterializowanej.

Indeks 

jest to dodatkowa struktura danych umożliwiająca szybki dostęp do wierszy
tabeli na podstawie wartości w określonej kolumnie lub kolumnach np. indeks
zbudowany na kolumnie Nazwisko umożliwia szybkie wyszukiwanie danych
wykładowcy w oparciu o jego nazwisko. Przypomina indeks (skorowidz) w
książce.

Poziomy relacyjnej bazy danych

Te same dane w bazie danych mogą być w różny sposób widziane i w różny
sposób przetwarzane w zależności od wyboru odpowiedniego poziomu abstrakcji
– realizowanego przez dany system. Podstawowe realizowane poziomy abstrakcji
to:

Poziom użytkowy – widoki na dane i programy, którymi posługuje się
użytkownik. 

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

8/12

Poziom logiczny (koncepcyjny) – zbiór tabel, perspektyw i indeksów.
Poziom fizyczny – zbiór plików z danymi i z indeksami.

Przy czym perspektywy  definiuje się na poziomie logicznym a używa się na
poziomie użytkowym; indeksy definiuje się na poziomie logicznym a używa się
na poziomie fizycznym. Jeśli chodzi o tabele to definiuje się na poziomie
logicznym a używa się zarówno na poziomie użytkowym jak i fizycznym.

Z poziomu użytkowego korzystają głównie końcowi użytkownicy systemu. Z
poziomu logicznego korzysta głównie administrator danych systemu. Natomiast z
poziomu fizycznego korzysta głównie administrator bazy danych – nazywany w
skrócie dba. Oczywiście projektant bazy danych definiuje i zajmuje się
wszystkimi trzema poziomami.

Korzystanie z poszczególnych poziomów odbywa się do pewnego stopnia w
sposób niezależny. Na przykład, można zmieniać położenie danych na dysku i ich
zapis bez potrzeby zmiany struktury logicznej tabel; można zmieniać tabele bez
konieczności zmiany programów aplikacyjnych ­ o ile programy aplikacyjne są
oparte na perspektywach a nie tabelach. W pierwszym przypadku mamy do
czynienia z tak zwaną niezależnością fizyczną danych, w drugim z niezależnością
logiczną danych.

W naszej przykładowej bazie danych aplikacja może polegać na wyświetlaniu
informacji, kto prowadzi dany wykład czyli zawartości perspektywy Przedmioty­
Wykładowcy
. W pewnym momencie może się okazać, że jeden wykład jest
prowadzony przez dwóch lub więcej wykładowców. Schemat bazy danych oparty
na dwóch tabelach: Wykładowcy i Przedmioty jest już niewystarczający i
wymaga dodania nowej tabeli łączącej wykładowców z przedmiotami oraz
zmiany definicji perspektywy Przedmioty­Wykładowcy. Są to zmiany realizowane
na poziomie logicznym bazy danych. Natomiast sam program aplikacyjny oparty
na perspektywie Przedmioty­Wykładowcy nie wymaga zmiany. Jest to przykład
zastosowania zasady niezależności logicznej danych.

Z zastosowaniem zasady niezależności fizycznej danych mamy do czynienia w
sytuacji, gdy dotychczas używany dysk zapełni się i zajdzie potrzeba dodania
nowego dysku. Nowe wiersze wprowadzane do tabel będą teraz zapisywane na
nowym dysku. Natomiast ani schematy tabel ani programy aplikacyjne nie
wymagają żadnej zmiany.
 

Katalog (słownik danych), metadane

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

9/12

jest to zbiór tabel i perspektyw opisujących schemat bazy danych to jest
definicje wszystkich jej obiektów (na każdym z trzech poziomów bazy danych).
Na przykład metadaną dotyczącą tabeli jest nazwa kolumny oraz jej typ danych.

Istotne jest użycie relacyjnego modelu danych w tym celu. Zatem metadane są
zapisywane i przetwarzane w taki sam sposób jak zwykłe dane.
 

Architektura klient­serwer

Aplikacje bazodanowe składają się zwykle z co najmniej dwóch części:

strony klienta ­ na stacji roboczej użytkownika,
strony serwera – na komputerze zawierającym serwer bazy danych czyli
bazę danych wraz z jej systemem zarządzania (SZBD).

Funkcje aplikacji po stronie serwera bazy danych

Przechowywanie i organizacja dostępu do danych.
Wykonywanie instrukcji języka baz danych (jest to język o nazwie SQL
omawiany na wykładzie 9).
Sprawowanie kontroli nad spójnością danych.
Zarządzanie zasobami bazy danych w tym kontami użytkowników.

Funkcje aplikacji po stronie klienta

Kontakt z użytkownikiem (interfejs użytkownika).
Wyjaśnianie użytkownikowi stanu obliczeń w tym błędów i sytuacji
wyjątkowych.
Przyjmowanie od niego zleceń na operacje, wykonywanie tych zleceń lub
przesyłanie ich w postaci instrukcji języka SQL do serwera bazy danych.

Historia baz danych

1951 ­ Firma Univac wprowadziła taśmę magnetyczną do przechowywania
danych (oprócz dotychczasowych dziurkowanych kart).

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

10/12

1956 ­ Firma IBM wprowadziła stacje twardych dysków magnetycznych do
przechowywania danych.
1961– Integrated Data Store IDS (Charles Bachman, General Electric) ­
pierwszy SZBD, początek sieciowego modelu danych.
1965­70 – Information Management System IMS (IBM) – hierarchiczny
model danych.
1970 – Edgar Codd (1924­2003), IBM – relacyjny model danych.

1971 – CODASYL, standard sieciowego modelu danych.
1976 – Peter Chen – model związków encji (ERD, ERM), brak standardu do
tej pory.
Początek lat siedemdziesiątych ­ w laboratorium badawczym IBM w San
Jose powstał prototyp języka SQL o nazwie Sequel.
1973 ­ pierwszy system zarządzania relacyjną bazą danych (System R w
firmie IBM).
1979 ­ firma Relational Software (później Oracle) wprowadziła na rynek
pierwszą komercyjną wersję systemu zarządzania relacyjną bazą danych.
1987 pierwszy standard języka SQL (ISO),

kolejne wersje standardu ANSI/ISO: 1989, 1992 SQL2, 1999
SQL:1999 – model obiektowo­relacyjny, trwają prace nad następnymi
standardami SQL3 i SQL4.

Lata osiemdziesiąte – badania nad dedukcyjnymi i obiektowymi bazami
danych.

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

11/12

1997 ­ Standard obiektowych baz danych ODMG 2.0.
Lata dziewięćdziesiąte – rozszerzenie baz danych o nowe aspekty:
architektury wielowarstwowe, rozproszenie, integrację, równoległość,
Internet, hurtownie danych, OLAP, multimedia, bazy dokumentów w tym
XML, GIS (Geographical Information Systems), ERP (Enterprise Resource
Planning) oraz MRP (Management Resource Planning) ­ pakiety takie jak
SAP, Baan, Oracle, PeopleSoft, Siebel, CRM (Customer Relationship
Management).

Podsumowanie

W wykładzie tym zostały wyjaśnione podstawowe pojęcia związane z bazami
danych oraz znaczenie baz danych w aplikacjach informatycznych. W
szczególności został przedstawiony główny model danych współczesnych baz
danych mianowicie 

relacyjny model danych

 a w jego ramach takie pojęcia jak:

tabela

klucz

klucz główny

klucz obcy

perspektywa

, pseudo­wartość 

NULL

,

więzy spójności

 w tym 

spójności referencyjnej

.

 

Słownik pojęć

tabela

 ­ dwuwymiarowa struktura danych złożona z kolumn wierszy. Na

przecięciu wiersza i kolumny znajduje się elementarna dana. W wierszu jest
zapisywany rekord danych opisujący obiekt (np. rekord danych opisujący osobę
lub firmę) lub pewien związek między obiektami. Każda kolumna zawiera zbiór
elementarnych danych opisujących jeden atrybut obiektu np. nazwę firmy lub
nazwisko osoby.

klucz

 ­ zbiór kolumn (często jednoelementowy), których wartości jednoznacznie

określają wiersz (obiekt).

klucz główny

 ­ wyróżniony klucz, którego używa się jako identyfikatora obiektu.

klucz jednoznaczny

 ­ to samo co klucz.

klucz obcy

 ­ zbiór kolumn (często jednoelementowy), których wartości występują

jako wartości ustalonego klucza głównego lub jednoznacznego w tej lub innej
tabeli i są interpretowane jako wskaźniki do wierszy w tej drugiej tabeli.

NULL

 ­ konstrukcja określająca brak wartości (danych).

perspektywa

 ­ wirtualna tabela, którą posługują się użytkownicy ­ definiowana

background image

7.04.2015

Relacyjny model danych

http://edu.pjwstk.edu.pl/wyklady/sbd/scb/w0.htm

12/12

na poziomie logicznym, używana na poziomie użytkowym.

więzy spójności danych

 ­ warunki poprawności danych w tabelach relacyjnej

bazy danych.

­­­   

referencyjne

 ­ warunek poprawności danych mówiący, że wartości klucza

obcego mogą być albo Null albo muszą występować jako wartości powiązanego z
nim klucza głównego (lub jednoznacznego).

 

Zadania

1. Podaj przykład dwóch tabel połączonych związkiem klucz obcy – klucz główny.
Określ ich klucze główne. Czy posiadają one klucze alternatywne
(jednoznaczne)? Określ jeden (lub więcej) kluczy obcych. Narysuj dwie tabele i
wprowadź do nich po kilka wierszy z zachowaniem więzów spójności
referencyjnej.

2. Zastanów się nad znaczeniem danych i informacji w twoim życiu. Czy
korzystasz z systemów do przechowywania danych? Czy można je nazwać bazą
danych?

Strona przygotowana przez Lecha Banachowskiego ­ 03/13/09 .


Wyszukiwarka

Podobne podstrony:
[03] Bazy Danych Relacyjny Model Danych
Relacyjny model danych 4
Relacyjny model danych 1
Wykład 2 Relacyjny model danych
[03] Bazy Danych Relacyjny Model Danych
egz, Pytania na egzamin testowy, Pytania na egzamin testowy, Relacyjne bazy danych 2002
Projekt BD Relacyjne Bazy Danych obligat ET II II 01
MINSWD, model danych
podstawy relacyjnych baz danych wyklad cz1 architektura
Relacyjne bazy danych
2009 02 Relacyjna baza danych HSQLDB [Bazy Danych]
WPROWADZENIE DO RELACYJNYCH BAZ DANYCH POJECIA PODSTAWOWE
podstawy relacyjnych baz danych wyklad cz3 projektowanie
helion relacyjne bazy danych GUR6WE4GX5KXMQXHUR6X4BY2FZ6BIT5VOOO27YQ
Przewodnik Relacyjne bazy danych 2008-2009, Ogrodnictwo 2011, INFORMATYKA, informatyka sgg, MS Acces
Obiektowe rozszerzenia relacyjnych baz danych

więcej podobnych podstron