02 geneza RBDid 3906 ppt

background image

Bazy Danych

Europejska Wyższa Szkoła Informatyczno-
Ekonomiczna
Mgr inż. Piotr Greniewski

Wykład 2: Geneza relacyjnych baz danych

background image

Copyright by Piotr Greniewski

2

Spis treści

Bazy danych wstęp

Geneza relacyjnych baz danych

Podstawy relacyjnych baz danych

Podstawy-SQL-1

Podstawy-SQL-2

Podstawy-SQL-3

Operacje na danych

Transakcje i blokady

Normalizacja

background image

Copyright by Piotr Greniewski

3

Relacyjny model bazy danych

W 1970 r. publikacja E.F. Codda „Relacyjny
model danych dla dużych, współdzielonych
banków danych” stała się początkiem nowego
podejścia do przechowywania danych.

Dokument ten przedstawił ideę relacji pokazał
sposób wykorzystania tabel do
reprezentowania faktów, które są powiązane z
obiektami świata rzeczywistego.

Relacyjny model bazy danych kładzie duży
większy nacisk niż inne modele na
integralność danych.

background image

Copyright by Piotr Greniewski

4

Relacyjny model bazy danych

RDBMS (ang. Relational Data Base Management)
System jest zdefiniowany przez kilka ważnych reguł:

rekordy w tabeli określa się terminem

krotka

(ang. tuple). Krotka to uporządkowana grupa
elementów lub atrybutów z których każda posiada
zdefiniowany typ,

wszystkie krotki w tabeli, mają ten sam wzorzec tzn.
posiadają tą samą liczbę komponentów o
identycznych typach,

w dowolnej tabeli złożonej z krotek nie może być
duplikatów, czyli nie mogą wystąpić identyczne
wiersze (rekordy),

każdy atrybut w rekordzie musi być niepodzielny,

background image

Copyright by Piotr Greniewski

5

Relacyjny model bazy danych

RDBMS ciąg dalszy ...

atrybut służący do rozróżniania rekordów, które
niczym innym się nie różnią nazywa się kluczem,

jako klucz może być stosowana kombinacja więcej
niż jednego atrybutu,

atrybut czyniący rekord unikalnym nazywa się
kluczem podstawowym,

w relacyjnej bazie danych każda relacja (tabela)
musi posiadać klucz podstawowy,

reguła integralności odwołań (ang. referential
integrity)
czyli dążenie do sytuacji, kiedy wszystkie
rekordy w bazie danych zawsze mają sens.

background image

Copyright by Piotr Greniewski

6

Relacyjny model bazy danych

{Francja, FRF, 6.56}

{Belgia, BEF, 40.51}
Każda z krotek posiada trzy atrybuty:
- nazwę kraju (łańcuch znaków)
- walutę (łańcuch znaków)
- kurs (liczba zmiennoprzecinkowa)

W relacyjnej bazie danych wszystkie rekordy z
tej samej tabeli muszą mieć taki sam format.

Wszystkie krotki w tabeli, mają ten sam

ten sam

wzorzec

wzorzec

tzn. posiadają tą samą liczbę

komponentów o identycznych typach.

background image

Copyright by Piotr Greniewski

7

Relacyjny model bazy danych

Łatwo sprawdzić ilość i poprawność
atrybutów.

{Niemcy, DEM }

- za mało atrybutów

{Szwajcaria, CHF, 1.25, francuski, niemiecki,
włoski}

- za dużo atrybutów

{1936.27, ITL, Włochy}

- niepoprawne typy atrybutów (zła kolejność)

background image

Copyright by Piotr Greniewski

8

Relacyjny model bazy danych

Atrybuty muszą pochodzić z tego samego

z tego samego

zbioru wartości

zbioru wartości

lub z tej samej dziedziny.

-

łańcuchy znaków - ‘Francja’

- liczby całkowite – 1234
- liczby zmiennoprzecinkowe – 123.34
- data – 12 stycznia 2003
- wartości logiczne – true lub false
- ... i wiele innych typów...

background image

Copyright by Piotr Greniewski

9

Relacyjny model bazy danych

Ostatnią regułą która określa strukturę relacyjnej bazy
danych jest integralność odwołań

integralność odwołań

. Jest to dążenie do

sytuacji w której wszystkie rekordy w bazie danych
mają sens.

Programista bazy danych musi uważać aby
stworzony przez niego kod nie łamał
integralności bazy!!!. Np. mamy tabelę
klientów i powiązaną z nią tabelę zamówień.
Jeśli usuniemy z tabeli konkretnego klienta, to
musimy usunąć związane z nim zamówienia.
Jeśli tego nie uczynimy w bazie pozostaną
zamówienia nie przypisane do klienta.

background image

Copyright by Piotr Greniewski

10

Języki zapytań

Relacyjne bazy danych oferują sposoby
dodawania i aktualizacji danych, ale ich
potęga leży w możliwościach wyszukiwania
danych w formie zapytań.

Stworzony przez Codda model relacyjny
wykorzystuje fakt, że relacje definiują zbiory a
zbiory można przetwarzać matematycznie.
Zasugerował on że zapytanie może korzystać
gałęzi logiki teoretycznej zwanej teorią
predykatów.

background image

Copyright by Piotr Greniewski

11

Języki zapytań

Implementacje języków zapytań:

QUEL w bazie Ingres

QBE (Query by example)

SQL (Standard Query Language – Standardowy
język zapytań) opracowany przez firmę IBM

background image

Copyright by Piotr Greniewski

12

Język zapytań SQL

Język SQL składa się z trzech rodzajów
poleceń:

Język manipulowania danymi (DML)

Język definicji danych (DDL)

Język sterowania danymi (DCL)

background image

Copyright by Piotr Greniewski

13

Język zapytań SQL

Jest to część SQL, z której korzystamy w 90%
przypadków. Składa się z poleceń wstawiania,
usuwania i aktualizacji oraz co najważniejsze
wybierania danych z bazy.

Język manipulowania danymi

(DML)

background image

Copyright by Piotr Greniewski

14

Język zapytań SQL

Zawiera polecenia tworzenia tabel oraz
polecenia mające wpływ na inne aspekty
dotyczące struktury bazy danych

Język definicji danych (DDL)

background image

Copyright by Piotr Greniewski

15

Język zapytań SQL

Jest to zbiór poleceń służący do określania
uprawnień, jak na przykład definiowania praw
dostępu do danych. Wielu użytkowników baz
danych nigdy nie skorzysta z tych poleceń,
ponieważ wykorzystuje się je w środowiskach
większych firm gdzie pracuje jeden lub kilku
administratorów bazy danych. Zarządzanie
uprawnieniami to zazwyczaj jedno z ich zadań.

Język sterowania danymi (DCL)

background image

Copyright by Piotr Greniewski

16

Języki SQL

PostgreSQL

Microsoft SQL Serwer

Oracle SQl

MySQL

wiele innych ...

background image

Copyright by Piotr Greniewski

17

Definicja tablicy w SQL

CREATE TABLE Student

(
Student_id serial,
Nazwisko char(50)

not null,

Imię

char(50)

not null,

Imię_ojca char(10),
Wpisowe numeric(7.2)
);

background image

Copyright by Piotr Greniewski

18

Wypełnienie tabeli danymi

INSERT INTO
Student(Nazwisko,Imię,Imię_ojca,wpisowe)

Values(‘Kowalski’,’Jan’,’Maciej’,350.00);

INSERT INTO
Student(Nazwisko,Imię,Imię_ojca,wpisowe)

Values(‘Malinowski’,’Krzysztof’,’Stefan’,350.00);

background image

Copyright by Piotr Greniewski

19

Dostęp do danych

SELECT * FROM Student WHERE Nazwisko =

‘Kowalski’;

-----------------------------------------------------------------------

1 Kowalski

Jan

Marek

350.00

2 Kowalski

Stefan

Jan

350.00

3 Kowalski

Zenon

Jan

350.00

background image

Copyright by Piotr Greniewski

20

Dostęp do danych w języku PostgreSQL

Skorzystać z aplikacji wiersza poleceń w celu
wykonania instrukcji SQL.

Wstawić kod SQL bezpośrednio do aplikacji (za
pomocą wbudowanego SQL).

Wykorzystać wywołanie funkcji (API) w celu
przygotowania i wykonania instrukcji SQL,
skanowania zbioru wyników oraz wykonania
aktualizacji z poziomu większości popularnych
języków programowania.

Uzyskać dostęp do bazy za pomocą sterownika
np. ODBC (otwarte połączenie z bazą danych),
bądź standardowej biblioteki jak DBI języka Perl.

background image

Copyright by Piotr Greniewski

21

Systemy zarządzania bazą danych

(DBMS)

System zarządzania bazą danych (DBMS) to
zestaw programów umożliwiających
skonstruowanie bazy danych i aplikacji które z
nich korzystają

Funkcje jakie spełnia DBMS obejmują:

tworzenie bazy danych,

funkcje tworzenia zapytań i aktualizowania danych,

wielozadaniowość,

utrzymywanie dzienników systemowych,

zarządzanie bezpieczeństwem bazy danych,

utrzymanie integralności odwołań.

background image

Copyright by Piotr Greniewski

22

Tworzenie bazy danych

Niektóre systemy zarządzają jednym wielkim
plikiem i tworzą w nim co najmniej jedną bazę
danych.
Inne posiadają możliwość korzystania z plików
pochodzących z wielu systemów operacyjnych,
albo korzystają z danych zapisanych
bezpośrednio w obrębie partycji dysku.
Użytkownicy nie muszą przejmować się
niskopoziomowymi strukturami tych plików, a
system DBMS dostarcza dostęp potrzebny
użytkownikom i programistom.

background image

Copyright by Piotr Greniewski

23

Funkcje tworzenia zapytań i

aktualizowania danych

Systemy DBMS zawierają metody tworzenia
zapytań o dane, które spełniają określone
kryteria, jak np. wszystkie zamówienia złożone
przez określonego klienta, których jeszcze nie
zrealizowano. Przed powszechnym
wprowadzeniem standardu SQL sposób
tworzenia tych zapytań był inny dla różnych
systemów.

background image

Copyright by Piotr Greniewski

24

Wielozadaniowość

Jeżeli baza danych jest wykorzystywana przez
kilka aplikacji lub o dostęp do niej w tym
samym czasie rywalizuje kilku użytkowników
system DBMS zapewnia przetwarzanie
każdego żądania użytkownika bez ujemnego
wpływu na możliwości korzystania z bazy
przez kogoś innego. Oznacza to że użytkownik
musi oczekiwać w kolejce gdy ktoś inny
modyfikuje ten rekord który użytkownik chce
zapisać

background image

Copyright by Piotr Greniewski

25

Utrzymywanie dzienników systemowych

System DBMS przechowuje dzienniki
wszystkich zmian danych dokonanych w ciągu
pewnego okresu czasu. Funkcję tę można
wykorzystać do śledzenia błędów. Jej ważną
cechą jest możliwość rekonstrukcji danych w
przypadku awarii systemu. Zazwyczaj
utrzymywanie dzienników systemowych
wykorzystuje się do tworzenia rejestru
transakcji oraz kopii zapasowej danych.

background image

Copyright by Piotr Greniewski

26

Zarządzanie bezpieczeństwem bazy

danych

DBMS zapewnia kontrolę dostępu do danych.
Dzięki temu zapewnia bezpieczny dostęp do
danych (odczyt, zapis, edycja, kasowanie) jak też
modyfikacji struktury danych (atrybuty, tabele,
indeksy). Dla konkretnej bazy danych definiuje się
hierarchię użytkowników – począwszy od super
użytkownika, któremu wolno wykonywać dowolne
zmiany w systemie, poprzez użytkowników
mogących dodawać i usuwać dane aż do takich
użytkowników którzy mogą je czytać. System
DBMS zawiera mechanizmy dodawania i usuwania
użytkowników oraz określania funkcji systemu
które są dla nich dozwolone.

background image

Copyright by Piotr Greniewski

27

Utrzymanie integralności odwołań

Wiele systemów DBMS zawiera mechanizmy
utrzymania integralności odwołań które
decydują o poprawności danych. System
zarządzania bazą danych zgłasza błąd jeśli
aktualizacja złamie zasady modelu relacyjnego

background image

Copyright by Piotr Greniewski

28

Co to jest PostgreSQL?

PostgreSQL jest to system zarządzania bazą
danych, który implementuje relacyjny model
bazy danych i obsługuje język zapytań SQL.

System obsługuje prawie wszystkie platformy
systemowe:

UNIX (np. SCO)

Linux (np. Red Hat)

Windows NT

Windows 2003 Server

Windows ME (stacja robocza!!!)

inne

background image

Copyright by Piotr Greniewski

29

Co to jest PostgreSQL?

Zalety PostgreSQL:

jego główną zaletą, oprócz jakości jest to że jest
darmowy i oferuje dostęp do kodu źródłowego;

zawiera niemal wszystkie funkcje, które można
odnaleźć w innych bazach danych, zarówno
komercyjnych, jak i Open Source;

posiada również kilka funkcji dodatkowych,
właściwych tylko dla niego.

background image

Copyright by Piotr Greniewski

30

Co to jest PostgreSQL?

Funkcje PostgreSQL obejmują:

transakcje;

zagnieżdżanie zapytań;

perspektywy;

integralność odwołań dla kluczy zewnętrznych;

zaawansowane mechanizmy blokowania;

typy definiowane przez użytkownika;

dziedziczenie;

reguły;

kontrolę współzawodnictwa dla wielu wierszy.

background image

Copyright by Piotr Greniewski

31

Architektura PostgreSQL

Tak jak komercyjne bazy danych pracuje w
środowisku klient-serwer.

Sercem instalacji PostgrSQL jest proces bazy
danych zwany czasami silnikiem (ang. engine )

Aplikacje, które chcą uzyskać dostęp do
danych muszą wykonywać operacje przez
proces bazy danych. Nie mają dostępu do
danych bezpośrednio nawet gdy pracują na
tym samym komputerze co proces serwera.

Rozdzielenie klienta od serwera umożliwia
dystrybucję aplikacji (UNIX, Windows, ...)

background image

Copyright by Piotr Greniewski

32

Architektura PostgreSQL

BAZA

DANYCH

KLIENT

O

D

B

C

KLIENT

POSTMASTER

POSTMASTER

POSTMASTER

Połączenie

Dostę

p

Linu

x

UNI

X

KLIENT

Połączenie

Window

s

SERWER

Wiele operacji dostępu

jednocześnie

Wielu

klientów


Document Outline


Wyszukiwarka

Podobne podstrony:
02 MAKROEKONOMIA(2)id 3669 ppt
02 Notajca UMLid 3691 ppt
02 Zanieczyszczenie środowiskaid 3460 ppt
02 geneza i rozwoj logistyki [ www potrzebujegotowki pl ]
02 Powstanie filozofiiid 3435 ppt
02 Reprezentacja danychid 3439 ppt
02 Stratygrafia sekwencyjnaid 3488 ppt
02 Grawimetria 2id 3908 ppt
2 Stres – geneza pojęciaid 20815 ppt
03 podstawy RBDid 4615 ppt
02 Inzynieria systemowid 3909 ppt
02 System binarnyid 3489 ppt
02 Teorie kwasów i zasad ppt
204 02 w 4 poznanie p 2012id 28745 ppt
02 MAKROEKONOMIA(1)id 3668 ppt

więcej podobnych podstron