Bazy danych

background image

Bazy danych

background image

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

background image

Z czym Wam się kojarzy pojęcie:

BAZA DANYCH

background image

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 w najprostszej postaci to uporządkowany zbiór

informacji.

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ść.

background image

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

background image

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??

background image

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ść.

background image

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.

background image

Wykład 1

W potocznym rozumieniu 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.

background image

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

background image

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.......

background image

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

background image

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.

background image

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ść.

background image

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.

background image

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.

background image

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 ........ ;)

background image

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.

background image

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
.

background image

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ą.

background image

Wykład 1

background image

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.

background image

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

background image

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.

background image

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.

background image

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.

background image

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.

background image

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.

background image

Wykład 1

background image

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)

background image

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.

background image

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ą.

background image

Wykład 1

Klucz sztuczny tworzony jest
gdy brak naturalnych
kandydatów na klucz główny,
najczęściej jest kluczem
liczbowym, liczby generowane
automatycznie.

background image

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.

background image

Wykład 1

background image

Wykład 1

Encja, relacja, tabela, atrybut
(pole), krotka (rekord),
dziedzina, typ danych, klucz,
klucze kandydujące, klucz
podstawowy, klucz sztuczny,
klucz obcy

background image

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. redundantiapowódź, 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. (źródło:

Wikipedia)

background image

Wykład1

Anomalią modyfikacyjną nazywamy
ograniczenie możliwości modyfikowania
danych, wynikające ze struktury tabeli.

Anomalia wstawiania (dodawania)

Anomalia usuwania

Anomalia aktualizacji

background image

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.

background image

Wykład1

background image

Wykład1

background image

Wykład1

Anomalia usuwania występuje wtedy,
kiedy usunięcie jakiegoś rekordu
powoduje niepożądane usunięcie
innych danych.

background image

Wykład1

background image

Wykład1

background image

Wykład1

Anomalia aktualizacji występuje
wtedy, kiedy modyfikacja danej
wartości wymusza taką samą
modyfikację w innych tabelach lub
rekordach.

background image

Wykład1

background image

Wykład1

Powiązania między tabelami (relacje):

Trzy typy:

Jeden – do – jednego
Jeden – do – wielu
Wiele – do – wielu

background image

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.

background image

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.

background image

Wykład1

Tabela Pracownicy dostępna dla wszystkich, Tabela Wynagrodzenia tylko dla uprawnionych

background image

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.

background image

Wykład1

background image

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.

background image

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,

background image

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ń.

background image

Wykład1

Cechy „dobrej” tabeli:

1.

Reprezentuje pojedynczy temat

2.

Posiada klucz główny

3.

Nie zawiera pól segmentowych ani wielowartościowych

4.

Nie zawiera pól wyliczonych

5.

Nie zawiera zwielokrotnionych pól

6.

Zawiera minimalną ilość zwielokrotnionych danych

background image

Wykład1

Przykład

background image

Wykład 1

ISBN

Tytuł

Au_Nazwisko

Au_imie

Wyd_Nazwa

Wyd_tel

111111

The geometry of

Random
Fields

Adler

Robert

John Wiley & Sons

23432342

222222

Basic

linear

geostatistics

Armstrong

Katrin

Springer

4565464564

333333

Statistics

for

spatial data

Cressie

Noel

John Wiley & Sons

23432342

444444

Model

based

Geostatistics

Diggle

John

Springer

4565464564

444444

Model

based

Geostatistics

Ribeiro

Juan

Springer

4565464564

555555

Applied

Spatial

Statistics

Waller

Cris

John Wiley & Sons

23432342

555555

Applied

Spatial

Statistics

Gotway

Albert

John Wiley & Sons

23432342

666666

Introduction

to

applied
geostatistics

Isaaks

Paul

Oxford

University

Press

23423223

666666

Introduction

to

applied
geostatistics

Srivastawa

Mohan

Oxford

University

Press

23423223

background image

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!!!

background image

Wykład1

background image

Wykład1

background image

Wykład1

background image

Wykład1

background image

Wykład1

background image

Wykład1

background image

Wykład1


Document Outline


Wyszukiwarka

Podobne podstrony:
1 Tworzenie bazy danychid 10005 ppt
bazy danych II
Podstawy Informatyki Wykład XIX Bazy danych
Bazy Danych1
eksploracja lab03, Lista sprawozdaniowych bazy danych
bazy danych druga id 81754 Nieznany (2)
bazy danych odpowiedzi
Bazy danych
notatek pl g owacki,bazy danych Nieznany
BAZY DANYCH SQL (2)
Bazy danych kolo 2 1 id 81756 Nieznany
Projekt Bazy Danych
Microsoft PowerPoint 02 srodowisko bazy danych, modele
in2 modelowanie bazy danych
kolokwium sklepy1, WAT, SEMESTR V, PWD, Bazy danych od maslaka
Długi wstęp, NAUKA, WIEDZA, Bazy danych

więcej podobnych podstron