Bazy danych
Literatura
Riordan R. M., Projektowanie systemów relacyjnych baz danych, RM
2000
Schwartz S., Po prostu Access 2003, Helion 2004
Date C. J., Relacyjne bazy danych dla praktyków, Helion 2006
Hernandez M. J., Bazy danych dla zwykłych śmiertelników, Mikom
2004
Garcia Molina H., Ullman J., Widom J., Systemy Baz
Danych Pełny wykład, WNT, 2006
Z czym Wam się kojarzy pojęcie:
BAZA DANYCH
Wykład 1
Zbiór danych opisujący w uporządkowany sposób pewien wybrany
fragment rzeczywistości będziemy nazywać bazą danych.
Baza danych nie powinna się kojarzyć wyłącznie z komputerami ...
Bazą danych jest równie\ papierowa ksią\ka telefoniczna, kartoteki
biblioteczne (np. na naszym Wydziale, itp. Itd.) jednak papierowe
bazy danych majÄ… istotne ograniczenia. Jakie????
Przejście od papieru do elektronicznych baz danych dało nowe
mo\liwości i większą elastyczność.
Wykład 1
Kilka przykładów gdzie na pewno spotkamy się z bazami danych...
prezentowanie klientom danych przez sieć WWW
system bankowy
system rezerwacji miejsc lotniczych
dokumentowanie działalności przedsiębiorstw
badania naukowe
Wykład 1
DBMS Database Management System System ZarzÄ…dzania Bazami
Danych SZBD potocznie równie\ nazywany Systemem Baz Danych
Stanowi narzędzie do tworzenia i efektywnego zarządzania du\ymi zbiorami
danych oraz do przechowywania ich przez długi czas.
Jakich mo\liwości dostarcza DBMS??
Wykład 1
Pamięć trwała: pod tym względem DBMS jest podobny do systemu plików,
udostępnia pamięć do przechowywania wielkiej liczby danych. Jednak\e
odpowiednie struktury DBMS zapewniajÄ… zdecydowanie efektywniejszy
dostęp i mo\liwość operowania na wielkiej liczbie danych ni\ to jest w
przypadku systemu plików.
Interfejs programisty: DBMS udostępnia u\ytkownikowi lub aplikacji silny
język zapytań, dzięki któremu uzyskuje się dostęp do danych oraz
modyfikuje się je. Daje znacznie więcej ni\ jedynie mo\liwość odczytywania
i zapisywania plików.
Zarządzanie transakcjami: DBMS zapewnia jednoczesny dostęp do danych,
tzn. wiele ró\nych procesów (zwanych transakcjami) jednocześnie uzyskuje
dostęp. izolacja, niepodzielność, trwałość.
Wykład 1
Izolacja wykonanie transakcji tak, jakby na pozór
wykonywała się jedna w danej chwili
Niepodzielność wymaganie aby transakcja wykonała
się w całości albo wcale
Trwałość zdolność do naprawy ró\nego rodzaju
błędów oraz trwanie przez długi okres czasu.
Wykład 1
BAZA DANYCH jest zbiorem danych zarzÄ…dzanym przez DBMS a od DMBS
oczekujemy:
Umo\liwienia u\ytkownikowi utworzenia nowej bazy danych i określenia jej
schematu (logicznej struktury danych)
Udostępnienie u\ytkownikowi mo\liwości tworzenia zapytań o dane oraz
aktualizowania danych.
Zapewnienia mo\liwości przechowywania du\ej ilości danych (mierzonych
w giga, tera .....) przez długi czas chroniąc zarazem przed przypadkowym
oraz niepowołanym dostępem
Sterowania jednoczesnym dostępem do danych przez wielu u\ytkowników,
zapewnieniem bezkolizyjności oraz ochrony danych przed przypadkowym
uszkodzeniem.
Wykład 1
Przykład: Systemy rezerwacji miejsc lotniczych.
Rezerwacja na określony rejs dokonana przez konkretnego klienta obejmuje
informacje takie jak: numer fotela, upodobania dotyczące posilków.
Informacje dotyczÄ…ce rejsu: miejsce odlotu, port przeznaczenia, czas odlotu i
czas przylotu oraz np. typ samolotu.
Informacje o cenach biletów i dostępności
Dane dotyczÄ…ce klienta
Wykład 1
Przykład: Systemy rezerwacji miejsc lotniczych.
Typowe zapytania o dane jakie mogłyby się pojawić dotyczyłyby: rejsów
między określonymi portami w określonym terminie, dostępności i cenach
miejsc. Aktualizacje obejmują rezerwację lotu klienta, przydział miejsca.
Systemy takie muszą zapewniać jednoczesny dostęp do danych w dowolnej
chwili dla wielu agencji lotniczych. Nie mogą dopuścić do tego aby 2
agencje przydzielily to samo miejsce ró\nym klientom.......
Wykład 1
Edgar Frank Ted Codd (1923 2003)
brytyjski informatyk, twórca relacyjnego modelu
baz danych. Studiował matematykę i chemię w
Exeter College, Oxford. Po II wojnie światowej
przeprowadził się do Stanów Zjednoczonych i zaczął
pracę dla IBM. W latach 60 70 XX w. pracował nad
sposobami organizacji baz danych. W 1970 roku
ukazuje siÄ™ jego fundamentalna praca z tego
zakresu:
Nagroda Turinga 1981 r.
za wkład do teorii i praktyki systemów
zarzÄ…dzania bazami danych
Wykład 1
Model relacyjny oparty jest na zbiorze reguł matematycznych
wywodzących się z teorii mnogości oraz logiki predykatów. Jest
najpopularniejszym modelem danych. Ogólnie systemy relacyjnych
baz danych charakteryzują się następującymi właściwościami:
wszystkie dane są reprezentowane koncepcyjnie jako zbiór wartości
uporzÄ…dkowanych w formie wierszy i kolumn zwanych RELACJ.
wszystkie wartości są skalarne. Oznacza to, \e dowolna pozycja
relacji na przecięciu się wiersza i kolumny jest pojedynczą wartością
wszystkie operacje są wykonywane na całej relacji, a ich wynikiem
jest równie\ relacja.
Wykład 1
Model relacyjny oparty jest na tylko
jednej podstawowej strukturze danych -
relacji. Pojęcie relacji mo\na uwa\ać za
pewną abstrakcję intuicyjnego pojęcia
tabeli, zbudowanej z wierszy i kolumn,
w której na przecięciu ka\dej kolumny z
ka\dym wierszem występuje określona
wartość.
Wykład 1
RELACYJNY MODEL DANYCH `" RELACYJNA BAZA DANYCH
`"
`"
`"
Model danych jest abstrakcyjną, spójną wewnętrznie, logiczną definicją
struktury danych, operatorów danych itd., tworzących abstrakcyjną
maszynÄ™ .
Implementacja modelu danych jest fizycznÄ… realizacjÄ… na prawdziwej
maszynie elementów maszyny abstrakcyjnej, które wspólnie składają sie
na model.
Wykład 1
Podstawową strukturą danych jest relacja będąca podzbiorem iloczynu kartezjańskiego
dwóch wybranych zbiorów reprezentujących dopuszczalne wartości.
Niech A1 = [a,b,c], A2 =[x,y]
Wtedy A1 × A2 = {(a,x), (a,y), (b,x), (b,y), (c,x), (c,y)}
PrzykÅ‚ady relacji, które sÄ… podzbiorami iloczynu kartezjaÅ„skiego A1×A2 :
X = {(a,x), (b,x), (c,x)}
Y = {(a,x), (a,y), (b,y)}
Analogicznie jak dla iloczynu kartezjańskiego elementy relacji są nazywane krotkami.
Relacja jest zbiorem krotek posiadających taką samą strukturę, lecz ró\ne wartości.
Ka\da krotka posiada co najmniej jeden atrybut.
Iloczyn kartezjański zbiorów A i B to zbiór wszystkich par uporządkowanych (a,b), takich, \e a nale\y do zbioru A, zaś b
nale\y do zbioru B.
Wykład 1
Dygresja a propos iloczynu kartezjańskiego:
MajÄ…c macierz (tablicÄ™ liczb) o m wierszach i n kolumnach, gdzie widzicie iloczyn
kartezjański?? Proszę podejść do tablicy i pokazać .....
Kto odpowie dostaje 5.0 ........ ;)
Wykład 1
Baza danych jest zbiorem relacji, o następujących
własnościach:
Ka\da relacja w bazie danych jest jednoznacznie określona przez
swojÄ… nazwÄ™.
Ka\da kolumna w relacji ma jednoznacznÄ… nazwÄ™ (w ramach tej
relacji).
Kolumny relacji tworzą zbiór nieuporządkowany. Kolumny nazywane
bywają równie\ atrybutami (polami).
Wszystkie wartości w danej kolumnie muszą być tego samego typu.
Przynale\eć do jednej dziedziny.
Wykład 1
Równie\ wiersze relacji tworzą nieuporządkowany zbiór, w
szczególności, nie ma powtarzających się wierszy. Wiersze relacji
nazywa siÄ™ te\ rekordami, krotkami.
Ka\de pole (przecięcie wiersza z kolumną) zawiera wartość
atomową (elementarną) z dziedziny określonej przez kolumnę.
Brakowi wartości odpowiada wartość specjalna NULL, zgodna z
ka\dym typem kolumny (chyba, \e została jawnie wykluczona
przez definicjÄ™ typu kolumny).
Ka\da relacja zawiera klucz główny - kolumnę (lub kolumny), której
wartości jednoznacznie identyfikują wiersz (a więc w
szczególności nie powtarzają się). Wartością klucza głównego nie
mo\e być NULL.
Wykład 1
Ka\da relacja posiada nagłówek i
zawartość. Nagłówek to zbiór
atrybutów, zawartość jest zbiorem
krotek zgodnych z nagłówkiem.
Liczbę atrybutów określa się mianem
stopnia relacji, liczbÄ™ krotek w
zawartości nazywa się liczbościa lub
mocÄ….
Wykład 1
Wykład 1
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
type dane = record
imie : string[20];
nazwisko : string[30];
adres_ulica : string[30];
adres_nr_domu : integer;
adres_nr_mieszk : integer;
end;
begin
{ TODO -oUser -cConsole Main : Insert code here }
end.
Wykład 1
Typ danych a dziedzina
Domena (dziedzina)
twór logiczny, zbiór
wszystkich mo\liwych
wartości jakie mo\e
przyjmować atrybut.
Typ danych to pojęcie
fizyczne, określa
przypisanie do atrybutu
dozwolonych wartości.
Przykład:
Wiek domena
Liczba typ danych
Wykład 1
Tekst w większości baz danych większość pól jest
właśnie tego typu. Pole mo\e zawierać dowolny ciąg
znaków (litery, cyfry, znaki interpunkcyjne). Pole
tekstowe mo\e zawierać maksymalnie 255 znaków. (nr
tel., kod pocztowy itp.)
Nota Większa odmiana pola Tekst. Mo\na w nim
zapisać 65 535 znaków. Jest przeznaczone to
zapisywania komentarzy oraz uwag. Przy sortowaniu
brane pod uwagę pierwsze 255 znaków.
Wykład 1
Liczba przechowywanie danych liczbowych (poza
walutowymi)
Walutowy specjalny typ danych liczbowych słu\ący
do wyra\ania kwot pieniÄ™\nych.
Data/Godzina pole przechowywuje datÄ™ i godzinÄ™.
Tak/Nie typ danych znany równie\ jako boolean
słu\y do przechowywania wartości logicznych.
Wykład 1
Autonumer wykorzystywany do automatycznego
nadawania nowych wartości dla pola klucza
podstawowego, ka\de następne pole tego rodzaju w
tabeli będzie miało wartość o 1 większą.
Jednoznaczna identyfikacja rekordów. Indeksowanie
włączone (TAK). Mo\na równie\ skorzystać z opcji
generowania niepowtarzajęcych się wartości
losowych.
Wykład 1
Obiekt OLE (Object linking and embedding)
Zadeklarownie pola jako obiekt OLE umo\liwia
osadzanie lub dołączanie innych dokumentów: arkusz
kalkulacyjny Excel, Dokumeny Word, grafika
itp.Obiekty osadzone (embedded) majÄ… naturÄ™
statycznÄ… zostajÄ… zapisane w pliku bazy danych.
Obiekty połączone (linked objects) to odwołania do
oryginalnych dokumentów zapisanych poza bazą
danych.
Wykład 1
Hiperłącze zadeklarownie pola jako hiperłącze
umo\liwia wprowadzenie w polu adresu internetowego,
którego kliknięcie spowoduje otworzenie wskazanego
zasobu internetu.
Kreator odnośników tak zdefiniowane pole będzie
wyświetlane jako lista rozwijalna dopuszczalnych
wartości. Wartości te mogą pochodzić z innej tabeli lub
kwerendy lub wpisane przez u\ytkownika.
Wykład 1
Wykład 1
Klucze kandydujÄ…ce to wszystkie potencjalne
pola w tabeli dające mo\liwość jednoznacznej
identyfikacji rekordów.
Tabela mo\e mieć wiele kluczy kandydujących
ale tylko jeden z nich mo\e stać się kluczem
głównym.
Spośród kluczy kandydujących wybiera się klucz
główny kierując się zasadą najlepszej
reprezentacji danych zawartych w tabeli oraz
względami praktycznymi. (np. PESEL, nr
legitymacji studenckiej)
Wykład 1
Klucze kandydujÄ…ce mogÄ… siÄ™
składać z pojedynczego atrybutu
(klucz prosty) lub z wielu atrybutów
(klucz zło\ony).
Klucz kandydujący musi spełniać
warunek nieredukowalności.
Wykład 1
Klucz główny powinna zawierać
ka\da tabela, w celu jednoznacznej
identyfikacji. Wybiera się go spośród
kluczy kandydujących. Wybór klucza
głównego jest decyzją arbitralną.
Wykład 1
Klucz sztuczny tworzony jest gdy
brak naturalnych kandydatów na
klucz główny, najczęściej jest
kluczem liczbowym, liczby
generowane automatycznie.
Wykład 1
Zakładając, \e dwie tabele są
powiązane, czyli mo\na między nimi
utworzyć relację (powiązanie),
umieszczamy kopię klucza głównego
jednej tabeli w drugiej tabeli. Klucz ten
w tabeli docelowej nosi miano klucza
obcego, poniewa\ tabela ta posiada ju\
klucz główny.
Wykład 1
Wykład 1
Encja, relacja, tabela, atrybut (pole),
krotka (rekord), dziedzina, typ
danych, klucz, klucze kandydujÄ…ce,
klucz podstawowy, klucz sztuczny,
klucz obcy
Wykład 1
Podstawowym celem fazy projektowania bazy
danych jest zagwarantowanie modelowi
zdolności do udzielenia odpowiedzi na ka\de
rozsÄ…dne zapytanie (kwerendÄ™) jakie mo\e
zostać zadane, minimalizacja redundancji oraz
anomalii modyfikacyjnych.
Redundancja (łac. redundantia powódz, nadmiar, zbytek), inaczej
nadmiarowość w stosunku do tego, co konieczne lub zwykłe. Określenie
mo\e odnosić się zarówno do nadmiaru zbędnego lub szkodliwego,
niecelowo zu\ywajÄ…cego zasoby, jak i do po\Ä…danego zabezpieczenia na
wypadek uszkodzenia części systemu. (zródło: Wikipedia)
Wykład 1
Normalizacja proces doprowadzania bazy danych do
stanu, w którym składowanie danych oraz ich
eksploatacja jest maksymalnie wydajna.
Polega na rozkładaniu du\ych tabel o nieefektywnej
strukturze na mniejsze bez utraty danych. W normalizacji
obowiązuje zało\enie, \e dobrze zbudowana baza
danych nie zawiera duplikatów a nadmierne dane są
ograniczone do minimum.
Wykład1
AnomaliÄ… modyfikacyjnÄ… nazywamy
ograniczenie mo\liwości modyfikowania
danych, wynikajÄ…ce ze struktury tabeli.
Anomalia wstawiania (dodawania)
Anomalia usuwania
Anomalia aktualizacji
Wykład1
Anomalia wstawiania występuje w takiej tabeli, w
której dodawanie nowych rekordów jest w jakiś
sposób ograniczone lub powoduje powstawanie
nadmiarowych (redundantnych) danych.
Nie mo\na wprowadzić czegoś jeśli nie
wprowadziło się czegoś wcześniej.
Wprowadzenie czegoś powoduje powtórzenia.
Wykład1
Wykład1
Wykład1
Anomalia usuwania występuje wtedy,
kiedy usunięcie jakiegoś rekordu
powoduje niepo\ądane usunięcie innych
danych.
Wykład1
Wykład1
Wykład1
Anomalia aktualizacji występuje wtedy,
kiedy modyfikacja danej wartości
wymusza takÄ… samÄ… modyfikacjÄ™ w innych
tabelach lub rekordach.
Wykład1
Wykład1
Powiązania między tabelami (relacje):
Trzy typy:
Jeden do jednego
Jeden do wielu
Wiele do wielu
Wykład 1
Stanowią sposób na łączenie tabel przechowujących
powiÄ…zane ze sobÄ… dane.
PomagajÄ… w ulepszeniu struktur tabel i minimalizowaniu
ilości nadmiarowych danych.
Umo\liwiajÄ… jednoczesne odczytywanie danych z wielu
ró\nych połączonych ze sobą tabel.
Wykład1
Mówimy, \e dwie tabele łączy relacja jeden do jednego, jeśli
pojedynczemu rekordowi tabeli A odpowiada dokładnie jeden rekord
tabeli B, a pojedynczemu rekordowi w tabeli B odpowiada dokładnie
jeden rekord w tabeli A.
Wykład1
Tabela Pracownicy dostępna dla wszystkich, Tabela Wynagrodzenia tylko dla uprawnionych
Wykład1
Mówimy, \e między dwoma tabelami istnieje relacja jeden do wielu, jeśli
pojedynczemu rekordowi w tabeli A odpowiada jeden lub więcej rekordów w
tabeli B, a pojedynczemu rekordowi w tabeli B dokładnie jeden rekord w
tabeli A.
Wykład1
Wykład1
Mówimy, \e między dwoma tabelami istnieje relacja wiele do wielu, jeśli
pojedynczemu rekordowi w tabeli A odpowiada jeden lub więcej rekordów w
tabeli B i na odwrót pojedynczemu rekordowi w tabeli B odpowiada jeden
lub więcej rekordów tabeli A.
Wykład1
RelacjÄ™ wiele do wielu definuje siÄ™ przy u\yciu tabeli
Å‚Ä…czÄ…cej.
Tabela łącząca składa się z kopii kluczy głównych
obydwu tabel uczestniczÄ…cych w relacji. Razem
stanowią klucz główny tabeli łączącej natomiast ka\dy z
osobna jest kluczem obcym, wiÄ…\Ä…cym tabelÄ™ Å‚Ä…czÄ…cÄ… z
tabelami uczestniczÄ…cymi w relacji,
Wykład1
Tworzenie schematu powiązań w kilku krokach:
1. Wyszukać osobne tematy w zbiorze informacji opisujące dane zjawisko
czy obiekt. (Rozdział na kilka tabel)
2. Opatrzyć powstałe tabele kluczami głównymi (podstawowymi)
3. Wyszukać bezpośrednie powiązania między parami tabel i zdefiniować
typ powiÄ…zania (1-1, 1-N, M-N)
4. W zale\ności od typu powiązania umieścić kopię klucza podstawowego
(klucz obcy) w odpowiedniej tabeli lub stworzyć tabelę łączącą.
5. Sprawdzić poprawność stworzonych powiązań.
Wykład1
Cechy dobrej tabeli:
1. Reprezentuje pojedynczy temat
ImiÄ™ i Nazwisko Adres Przedmioty Åšrednia ocen
2. Posiada klucz główny
Jan Kowalski 30-300, Matematyka, 4.5
Kraków, Geodezja
3. Nie zawiera pól segmentowych
ul.
Zielona
ani wielowartościowych
12
4. Nie zawiera pól wyliczonych
Jan Nowak 31-315, Geodezja, 3.4
Kraków, Fizyka
5. Nie zawiera zwielokrotnionych
ul. Szara
pól
16
6. Zawiera minimalną ilość
zwielokrotnionych danych
Wykład1
Przykład
Wykład 1
ISBN Tytuł Au_Nazwisko Au_imie Wyd_Nazwa Wyd_tel
111111 The geometry of Adler 234567 John Wiley & Sons 23432342
Random Fields
222222 Basic linear Armstrong 3453453 Springer 4565464564
geostatistics
333333 Statistics for spatial Cressie 453534545 John Wiley & Sons 23432342
data
444444 Model based Diggle 34234234 Springer 4565464564
Geostatistics
444444 Model based Ribeiro 23422234 Springer 4565464564
Geostatistics
555555 Applied Spatial Waller 24234 John Wiley & Sons 23432342
Statistics
555555 Applied Spatial Gotway 45345 John Wiley & Sons 23432342
Statistics
666666 Introduction to Isaaks 2343242 Oxford University Press 23423223
applied
geostatistics
666666 Introduction to Srivastawa 34234443 Oxford University Press 23423223
applied
geostatistics
Wykład 1
20 000 studentów
18 Wydziałów
50 znaków przeznaczonych na nazwę Wydziału
1 znak = 2 bajty
Jaka oszczędność wynika z utworzenia
nowej tabeli przechowywujÄ…cej tylko nazwy
wydziałów?
20 000 000 ksiÄ…\ek
15 000 Wydawnictw
50 znaków na nazwę wydawnictwa
1 znak = 2 bajty
ProszÄ™ to przeliczyc!!!
Wykład1
Wykład1
Wykład1
Wykład1
Wykład1
Wykład1
Wykład1
Wyszukiwarka
Podobne podstrony:
BAZY DANYCH Streszczenie z wykładówStrona polecenia do bazy danych2004 11 Porównanie serwerów relacyjnych baz danych Open Source [Bazy Danych]MySQL Mechanizmy wewnętrzne bazy danychBazy danych w CADPostać normalna (bazy danych) – Wikipedia, wolna encyklopediabazy danych01 Projektowanie relacyjnej bazy danych Czym jest relacyj2004 05 Rozproszone fraktale [Bazy Danych]bazy danych projekt infor w projekciewięcej podobnych podstron