Podstawy Informatyki Wykład XIX Bazy danych

background image

Wykład XIX

Bazy danych

Podstawy informatyki
Semestr III Elektrotechnika
Politechnika Radomska

background image

Baza danych

zbiór danych istniejący przez pewien
czas
utrwalony na nośniku komputerowym
zorganizowany

przez

system

zarządzania bazą danych (DBMS –
database management system)

background image

Funkcje DBMS

utworzenie nowej bazy danych i określenie jej schematu

(logicznej struktury) oraz modyfikowanie schematu istniejącej

bazy danych za pomocą języka definiowania danych (data

definition language)
możliwość tworzenia zapytań (query - kwerend) oraz

aktualizowania

danych

(dopisywanie,

usuwanie,

modyfikowanie) za pomocą języka zapytań (query language)

zwanego inaczej językiem operowania danymi (data

manipulation language)
możliwość przechowywania ogromnej ilości danych (> GB, TB)

przez długi czas, wraz z ochroną przed niepowołanym

dostępem
sterowanie jednoczesnym dostępem do danych przez wielu

użytkowników

background image

Relacyjne systemy baz

danych

1970, Ted Codd
prezentowanie użytkownikowi danych
w

postaci

tabel

(relacji)

bez

znajomości wewnętrznej struktury
zapytania wyrażane w języku bardzo
wysokiego

poziomu

np.

SQL

(structured query language – język
zapytań strukturalnych)

background image

Przykład

Relacja Student służąca do gromadzenia
informacji o studentach Wydziału Transportu:

tabela – relacja, kolumny – atrybuty relacji,
wiersze – krotki

Nr ewid

Nazwisko

Miejscowość

12345

Kowalski

Radom

67890

Nowak

Warszawa

...

...

...

background image

Zapytanie o adres

Kowalskiego:

SELECT miejscowość
FROM Student
WHERE nazwisko = ’Kowalski’

1. Sprawdź wszystkie krotki relacji wskazanej w

klauzuli FROM

2. Wyszukaj krotki spełniające warunek wskazany w

klauzuli WHERE

3. Sformułuj odpowiedź zawierającą wybrane krotki z

uwzględnieniem atrybutów wskazanych w klauzuli

SELECT

background image

Architektura DBMS

dane
opis danych
– nazwy relacji,

nazwy atrybutów relacji, typy

atrybutów, indeksy (struktury

danych pomagające w szybkim

odnajdowaniu

właściwych

danych)
motor

bazy

danych

składowa realizująca dostęp do

danych, może wykorzystywać

system

plików

systemu

operacyjnego,

często

bezpośrednio

zarządzają

pamięcią

dyskową

(efektywność!)

procesor zapytań – przekształca zapytanie lub operację na

bazie danych, wyrażoną zazwyczaj w języku bardzo wysokiego

poziomu (np. SQL) w ciąg poleceń żądających dostarczenia

określonych danych, wykonuje optymalizację zapytania

background image

Architektura DBMS

moduł zarządzania transakcjami – gwarantuje

spójność

systemu

(brak

kolizji

jednocześnie

przetwarzanych zapytań, bezpieczeństwo danych nawet

w przypadku awarii systemu), tworzy grupy operacji

(transakcje) – niepodzielne (przeprowadzone w całości

albo wcale), spójne (po zakończeniu gwarantują

niesprzeczność danych), izolowane (bez wzajemnego

oddziaływania z innymi transakcjami), trwałe (bez

możliwości utraty danych nawet z powodu awarii)
wejścia do DBMS – zapytania (bezpośrednie lub przez

programy), aktualizacje (bezpośrednie lub przez

programy), modyfikacje schematu (wykonywane przez

administratora)

background image

Architektura klient-serwer

DANE

MOTOR B.D.

SERWER SQL

KLIENT SQL

INTERFEJS

KLIENT SQL

INTERFEJS

KLIENT SQL

INTERFEJS

redakcja

zapytania

prezentacja

wyniku

przesłanie

odpowiedzi

przesłanie

zapytania

realizacja

zapytania

background image

Modelowanie baz danych

– diagramy związków encji

zbiory encji (entity sets) – klasy obiektów świata

rzeczywistego
atrybuty (attributes) – właściwości encji (cechy obiektów)
związki (relationships) – połączenia między zbiorami encji

background image

Liczebność związków

wiele do wiele ( –  ) – z każdą encją zbioru encji C jest

związanych wiele encji zbioru encji D oraz z każdą encją
zbioru encji D jest związanych wiele encji zbioru encji C

wiele do jeden ( – 1) – z każdą encją zbioru encji C jest

związana dokładnie jedna encja zbioru encji D ale z każdą
encją zbioru encji D jest związanych wiele encji zbioru
encji C (strzałkę stawia się po stronie „jeden”)

jeden do jeden (1 – 1) – z każdą encją zbioru encji C jest
związana dokładnie jedna encja zbioru encji D oraz z każdą
encją zbioru encji D jest związana dokładnie jedna encja
zbioru encji C

background image

Atrybuty związków

Uwaga ! czasami atrybut jest
wygodniej powiązać ze związkiem niż
ze zbiorem encji

background image

Klucze

To

atrybuty

lub

zbiory

atrybutów

jednoznacznie

identyfikujące

encję

wewnątrz zbioru encji
Jeżeli jest możliwych do ustalenia więcej
kluczy, wybiera się jeden z nich jako klucz
główny (primary key)

background image

Zasady projektowania

dokładność

zbiory

encji

powinny

odzwierciedlać świat rzeczywisty
unikanie redundancji (nadmiarowości) –
np. Przedmioty mogłyby posiadać atrybuty
tytuł i nazwisko wykładowcy
prostota – nie należy wprowadzać do
projektu elementów niepotrzebnych
dobór właściwych elementów (atrybut –
zbiór encji – związek)

background image

Przykład. Baza ocen

studentów Wydziału

Transportu – diagram

związków encji

background image

Relacyjny model danych

relacja – dwuwymiarowa tabela, w której wpisuje się

dane
atrybut – nazwa kolumny relacji
schemat relacji – nazwa relacji oraz zbiór jej

atrybutów np.:

Student(nr

ewid,

nazwisko,

miejscowość)

krotka – wiersz relacji zawierający dane np.:
(12345, Kowalski, Kalisz)
dziedzina atrybutu – typ elementarny, do którego

należą wartości odpowiedniej składowej każdej krotki
instancja relacji – zbiór krotek danej relacji

background image

Transformacja diagramów

związków encji do projektu

relacyjnego

zbiór encji  relacja (o tej samej nazwie i z tym samym zbiorem atrybutów)

Wykładowcy

nazwis

ko

tytuł

Abacki

prof.

Bebacki mgr
...

...

background image

Transformacja diagramów

związków encji do projektu

relacyjnego

związek encji

– wiele do wiele  relacja o

schemacie zawierającym klucze

relacji uczestniczących w związku

oraz własne atrybuty związku

nazwa

Przedmioty

uzyskał

ocenę

stopień

Studenci

nr albumu

. . .

Ocena

nr

album

u

studen

ta

nazwa

przedmi

otu

stopi

12345

j.prog.

5,0

12345 syst.oper.

4,0

67890

j.prog.

4,5

...

...

...

background image

Transformacja diagramów

związków encji do projektu

relacyjnego

związek encji

– wiele do jeden i jeden do jeden  włączenie

klucza relacji „jeden” do relacji „wiele”

Przedmiot

nazwa

nr

ewid

wykł

ad

j.prog.

1

syst.op

er.

2

podst.i

nf.

1

...

...

background image

Przykład. Baza ocen

studentów Wydziału

Transportu – schemat

relacyjny

Wykładowca(

id: integer,
nazwisko: string,
tytuł: string)

Przedmiot(

id: integer,
nazwa: string,
id_wykładowcy:

integer)

Student(

id: integer,
nazwisko: string,
miejscowość: string)

Ocena(

id_studenta: integer,
id_przedmiotu:

string,
stopień: real)

Przedmiot.id_wykładowcy  Wykładowca.id

Ocena.id_studenta  Student.id

Ocena.id_przedmiotu  Przedmiot.id

background image

Przykład. Baza ocen

studentów Wydziału

Transportu – schemat

relacyjny

background image

Algebra relacji

działania

teoriomnogościowe

(oba

schematy relacji R i S muszą mieć
identyczne zbiory atrybutów)

suma relacji R  S (zbiór elementów, z których

każdy należy do R lub do S lub do obu naraz)

przecięcie relacji R  S (zbiór elementów

występujących zarówno w R i S)

różnica relacji R – S (zbiór elementów z R, które
nie należą do S)

background image

Algebra relacji

rzutowanie

A,A2,..,An

(R)

–relacja

powstająca

przez

pozostawienie atrybutów A

1

, A

2

, ..., A

n

, np.: 

nazwisko,

miejscowość

(Student)

selekcja 

C

(R) – podzbiór krotek relacji R spełniających

warunek C, np.: 

miejscowość=Opole

(Student)

iloczyn kartezjański R  S (zbiór wszystkich możliwych par

uporządkowanych, w których pierwszy element należy do R,

a drugi do S, krotka wynikowa zawiera wszystkie składowe

krotek, które wchodzą do pary)
złączenie naturalne R  S – połączenie w pary tych krotek,

które mają identyczne wartości dla określonych atrybutów
złączenie teta R 

Ø

S – wybranie z R  S tych krotek, które

spełniają warunek Ø.

background image

PRZYKŁAD. Nazwiska

wykładowców, którzy

postawili ocenę

niedostateczną:

nazwisko

(

id wykładowcy

(

id

przedmiotu

( 

stopień=2,0

(Ocena)) 

Przedmiot)  Wykładowca)


Document Outline


Wyszukiwarka

Podobne podstrony:
Sem II Transport, Podstawy Informatyki Wykład XIX i XX Object Pascal Obiekty
Podstawy Informatyki Wykład X Object Pascal Jezyki programowania, Proste typy danych
Sem II Transport, Podstawy Informatyki Wykład XXI Object Pascal Komponenty
Podstawy Informatyki Wykład V Struktury systemów komputerowych
Pluton, Technologia Informacyjna (płyta CD), Bazy danych, Pomoce
Sztuka, Technologia Informacyjna (płyta CD), Bazy danych, Sienkiewicz
Saturn, Technologia Informacyjna (płyta CD), Bazy danych, Pomoce
Zagadnienia egzamin podstawy informatyki, Elektronika i Telekomunikacja, z PENDRIVE, Politechnika -
Podstawy informatyki, wykład 7
Sem II Transport, Podstawy Informatyki Wykład XIV i XV Object Pascal Funkcje i procedury
Podstawy Informatyki Wykład VI Reprezentacja informacji w komputerze
Podstawy Informatyki Wykład XI Object Pascal Podstawy programowania w Object Pascalu
Podstawy informatyki, wykład 1
Planety i księżyce, Technologia Informacyjna (płyta CD), Bazy danych, Pomoce
Jowisz, Technologia Informacyjna (płyta CD), Bazy danych, Pomoce
Podstawy Informatyki Wykład XVI Object Pascal Obiekty

więcej podobnych podstron