Microsoft PowerPoint TI wykład 2

background image

Bazy danych

architektura, obiekty bazy danych,

ogólne zasady projektowania,

kwerendy, formularze, raporty, strony,

makra, moduły

background image

Baza danych

to zbiór danych zapisanych w ściśle
określony sposób w strukturach
odpowiadających założonemu modelowi
danych.

Zbiór danych zarządzany jest przez system
DBMS. (ang. Data Base Management
System, DBMS - Systemem zarządzania
bazą danych).

background image

Podstawowe funkcje DBMS

gromadzenie, utrzymywanie i administrowanie trwałymi

i masowymi zbiorami danych,

zapewnianie spójności i bezpieczeństwa danych,

sprawny dostęp do danych (zwykle poprzez język zapytań, np.

SQL),

ś

rodki programistyczne służące do aktualizacji

i przetwarzania danych,

jednoczesny dostęp do danych dla wielu użytkowników,

regulacja dostępu do danych (autoryzacja),

przywracanie zawartości bazy danych po awarii,

ś

rodki optymalizujące zajętość pamięci oraz czas dostępu (np.

indeksy),

background image

Rodzaje baz danych

Bazy danych można podzielić według struktur danych, których

używają:

bazy proste:

bazy kartotekowe

sieciowe bazy danych

hierarchiczne bazy danych

bazy złożone:

bazy relacyjne

bazy obiektowe

bazy relacyjno-obiektowe

strumieniowe bazy danych

temporalne bazy danych

inne

background image

Relacyjna baza danych

zbiór danych zapisanych w formie tabel
(relacji).

Każda tabela (relacja) zawiera zero lub
więcej wierszy (krotek) i jedną lub więcej
kolumn (atrybutów).

Wiele tabel danych może współpracować ze
sobą (są między sobą powiązane).

Twórca: Edgar F. Codd (1970).

background image

Tabela (relacja)

background image

Cechy tabeli

krotki (wiersze) są unikalne

atrybuty (kolumny) są unikalne

kolejność krotek (wierszy) nie ma znaczenia

kolejność atrybutów (kolumn) nie ma
znaczenia

wartości atrybutów (pól) są atomowe

background image

Klucze

Każda tabela posiada przynajmniej jeden
klucz, dzięki któremu wiersze w tabeli nie
powtarzają się i możliwe jest powiązanie ze
sobą danych przechowywanych w różnych
tabelach.

Kluczem może być jedna lub wiele kolumn,
których wartości jednoznacznie identyfikują
wiersz tabeli.

background image

Klucze kandydujące i główne

W każdej tabeli może istnieć wiele kluczy, które
jednoznacznie identyfikują jej wiersze. Nazywane są
one kluczami kandydującymi.

Każdy klucz kandydujący

musi posiadać różne wartości dla wszystkich wierszy

nie może przyjmować wartości nieokreślonej (null)

Ze zbioru kluczy kandydujących wybierany jest klucz
główny.

background image

Klucze obce

Klucze obce wiążą ze sobą dane
przechowywane w różnych tabelach.

Klucz obcy to kolumna w tabeli, która
przyjmuje wartości z tej samej dziedziny, co
klucz główny powiązanej tabeli.

background image

Powiązania tabel

ZAMÓWIENIA

12.11.2004

1

99

08.11.2004

2

98

04.11.2004

1

97

Data_zamówienia

Nr_klienta

Nr_zamówienia

1

1

2

99

2

4

1

99

3

4

2

98

2

3

1

98

10

2

2

97

5

1

1

97

Liczba

Nr_artykułu

Nr_pozycji

Nr_zamówienia

POZYCJE ZAMÓWIEŃ

100

200

12

10

Cena

Imadło

4

Wiertarka

3

Wkrętak

2

Młotek

1

Artykuł

Nr_artykułu

ARTYKUŁY

KLIENCI

Klonowa 11 K-ce

Adam Nowak

2

Wiązów 4 K-ce

Jan Kowalski

1

Adres_klienta

Nazwa_klienta

Nr_klienta

Legenda:

KLUCZ OBCY

KLUCZ GŁÓWNY

background image

SQL

SQL (ang. Structured Query Language) to strukturalny język

zapytań używany do tworzenia, modyfikowania baz danych oraz

do umieszczania i pobierania danych z baz danych.

Użytkownik serwera baz danych (program lub osoba) wysyła do

niego odpowiednio skonstruowane zapytanie w języku SQL, na

które serwer odpowiada przesyłając oczekiwane dane, czyli
wynik zapytania.

Zapytania umożliwiają operacje na danych – zarówno ich

pobieranie (tzw. zapytania wybierające), jak i ich usuwanie,

dodawanie czy modyfikację (tzw. zapytania funkcjonalne).

background image

Rodzaje zapytań

SQL DML (ang. Data Manipulation
Language
) – Język Manipulacji Danymi

SQL DDL (ang. Data Definition Language) –
Język Definicji Danych

SQL DCL (ang. Data Control Language) –
Język Kontroli nad Danymi

background image

Zapytania DML

DML służy do operacji na danych - do ich
umieszczania w bazie, kasowania,
przeglądania, zmiany.

Najważniejsze polecenia z tego zbioru to:

SELECT - pobranie z bazy danych,

INSERT - umieszczenie danych w bazie,

UPDATE - zmiana danych,

DELETE - usunięcie danych z bazy.

background image

Zapytania DDL

Za pomocą DDL można operować na strukturach, w

których dane są przechowywane np. dodawać,

zmieniać i kasować tabele lub bazy.

Najważniejsze polecenia tej grupy to:

CREATE (np. CREATE TABLE, CREATE DATABASE, ...)

- utworzenie struktury (bazy, tabeli, indeksu, itp.),

DROP (np. DROP TABLE, DROP DATABASE, ...) -

całkowite usunięcie struktury,

ALTER (np. ALTER TABLE ADD COLUMN ...) - zmiana

struktury (dodanie kolumny do tabeli, zmiana typu danych

w kolumnie tabeli).

background image

Zapytania DCL

DCL ma zastosowanie do nadawania uprawnień
dostępu do obiektów bazodanowych.

Najważniejsze polecenie w tej grupie to

GRANT (np. GRANT ALL PRIVILEGES ON
PRACOWNICY TO PIOTR WITH GRANT OPTION)
- przyznanie wszystkich praw do tabeli
PRACOWNICY użytkownikowi PIOTR z opcją
pozwalającą Piotrowi nadawać prawa do tego
obiektu.

background image

Operacje relacyjne

Selekcja

Projekcja

Produkt

Połączenie

Operacje mnogościowe

Unia

Przekrój

Różnica

Grupowanie

background image

Selekcja (podzbiór poziomy)

umożliwia pobranie krotek (wierszy) spełniających określony
warunek.

SELECT * FROM osoby WHERE Wykształcenie = 'SO' ;

background image

Projekcja (podzbiór pionowy)

umożliwia pobranie

wartości wybranych

atrybutów z

wszystkich krotek

tabeli.

SELECT Pesel,

Wykształcenie FROM

osoby ;

background image

Produkt (iloczyn kartezjański)

umożliwia łączenie dwóch
lub więcej tabel w taki
sposób, że każda krotka
pierwszej tabeli, jest
łączona z każdą krotką
drugiej tabeli.

SELECT * FROM R1, R2;

background image

Połączenie

polega na łączeniu krotek dwóch lub więcej relacji z
zastosowaniem określonego warunku łączenia. Wynikiem
połączenia jest podzbiór produktu relacji.

SELECT imie, nazwisko, tytul FROM autorzy, ksiazki WHERE

autorzy.nazwisko = 'Mickiewicz' and autorzy.nr = ksiazki.autor ;

background image

Unia

pozwala na sumowanie zbiorów krotek dwóch lub

więcej tabel (bez powtórzeń). Warunkiem

poprawności tej operacji jest zgodność liczby i typów

atrybutów (kolumn) sumowanych tabel.

Przykład sumuje zbiory danych pracowników i

właścicieli ograniczone do imienia i nazwiska (za

pomocą projekcji), w celu uzyskania informacji o

wszystkich osobach powiązanych z firmą:
SELECT imie, nazwisko FROM pracownicy UNION

SELECT imie, nazwisko FROM wlasciciele ;

background image

Przekrój

pozwala wyznaczyć iloczyn dwóch lub więcej

zbiorów krotek tzn. takich, które występują zarówno

w jednej jak i w drugiej relacji. Podobnie jak w

przypadku unii, warunkiem poprawności tej operacji

jest zgodność liczby i typów atrybutów tabel.

Przykład znajduje wszystkie nazwiska, które

występują zarówno w relacji pracownicy jak i w

relacji właściciele:
SELECT nazwisko FROM pracownicy INTERSECT

SELECT nazwisko FROM wlasciciele ;

background image

żnica

Operacja obliczania różnicy dwóch relacji polega na

znalezieniu wszystkich krotek, które występują w

pierwszej tabeli, ale nie występują w drugiej.

Przykład znajduje wszystkie osoby, które są

współwłaścicielami spółki, ale nie są w niej

zatrudnieni:
SELECT imie, nazwisko FROM wlasciciele MINUS

SELECT imie, nazwisko FROM pracownicy ;

background image

Grupowanie

pozwala dzielić tabelę wynikową na grupy, wybierać

niektóre z tych grup i na każdej z nich z osobna

wykonywać operacje.

Klauzula GROUP BY służy do dzielenia krotek tabeli

na mniejsze grupy.

Przykład wyznacza średnią płacę dla grup

pracowników odpowiadających stanowiskom:
SELECT stanowisko, avg(placa_podstawowa)

FROM pracownicy GROUP BY stanowisko ;

background image

Grupowanie C.D.

Klauzula HAVING ogranicza wyświetlanie grup do

tych, które spełniają określony warunek.

Przykład wyświetla tylko te grupy (stanowiska), w

których minimalna płaca podstawowa jest większa

od 3000:
SELECT stanowisko, min(placa_podstawowa)

FROM pracownicy GROUP BY stanowisko HAVING

min(placa_podstawowa) > 3000 ;

background image

Indeksy

Indeks jest specjalną strukturą, wprowadzoną w celu

przyspieszenia dostępu do danych. Indeks w bazie

danych jest odzwierciedleniem spisu treści w

książce.

Wykorzystuje się przy zapytaniach SQL (SELECT),

które maja na celu wyszukiwanie odpowiednich

wartości w bazie danych. Optymalizator zapytań

najpierw przeszukuje indeks, który jest

uporządkowany a następnie na podstawie indeksu

odczytuje odpowiednie rekordy.

background image

Procedury wbudowane

Procedury wbudowane (procedury przechowywane,
ang. stored procedures) są to polecenia, które są
zapisane na serwerze baz danych i które zostały
napisane specjalnie dla danego typu bazy danych.

Dzięki procedurom wbudowanym różne aplikacje
mogą się odwoływać do zasobów bazy danych i
modyfikować jej zawartość bez podawania składni
SQL.

background image

Wyzwalacze

Wyzwalacz (ang. trigger) – procedura wykonywana
na serwerze bazodanowym (najczęściej relacyjna
baza danych) w określonym momencie, na przykład
dopisania nowego rekordu do tabeli, edycji rekordu
w tabeli, skasowanie rekordu z tabeli.

Zastosowanie:

do sprawdzania integralności bazy danych,

do wykonywania czynności porządkowych w bazie danych.

background image

Widok

Widok (perspektywa) to wirtualna tabela,

umożliwia dostęp do podzbioru kolumn i wierszy

tabeli lub tabel,

określony przez zapytanie SQL:

CREATE VIEW nazwa_perspektywy [(kolumna1,

kolumna2, ..., kolumnaN )] AS zapytanie ...

przy pobieraniu danych do widoku odwołujemy się

identycznie jak do tabeli,

w przypadku niektórych DBMS widok służy tylko i

wyłącznie do pobierania wyników

i ograniczania dostępu do danych.

background image

Nadmiarowość

Nadmiarowość (redundancja) – Te same dane

powtarzają się w wielu wierszach (Adres1).

background image

Anomalie modyfikacji – przykład:

W przypadku gdy Firma1 zmieni swój adres trzeba zmienić
wiele wierszy w tabeli.

Gdy nie zostanie zmieniony choćby jeden wiersz dotyczący
Firmy1 to baza utraci spójność danych.

Potrzeba zmiany wielu wierszy w dużych bazach powoduje
znaczące obciążenie.

Anomalie

background image

Anomalie

Anomalie usunięć – przykład:

Usunięcie danych Firmy2 z tabeli spowoduje usunięcie
również informacji o części zamówień (bilans się nie będzie
zgadzał), a dodatkowo informacja że Firma2 dokonywała
zakupów będzie również niedostępna.

background image

Postacie normalne

Możliwość uniknięcia przedstawionych
problemów zapewniają postacie normalne,
które gwarantują że anomalie w bazie danych
nie będą występowały.

background image

Pierwsza postać normalna
(1NF)

Tabela jest w pierwszej postaci normalnej,
jeśli wartości atrybutów są elementarne
(atomowe, niepodzielne)
- są to pojedyncze wartości określonego typu,
a nie zbiory wartości.

background image

Druga postać normalna (2NF)

Tabela jest w drugiej postaci normalnej wtedy i tylko
wtedy, gdy jest w pierwszej postaci normalnej i
każda kolumna zależy funkcyjnie od całego klucza
głównego (a nie od części klucza).

Zależność funkcyjna oznacza, że znając wartość jednego
atrybutu, zawsze możemy określić wartość innego. Gdy
znamy PESEL pracownika, możemy określić jego
nazwisko; jeśli znamy numer części, możemy określić jej
masę i barwę itd.

background image

Trzecia postać normalna (3NF)

Tabela jest w trzeciej postaci normalnej
wtedy i tylko wtedy, gdy jest w drugiej postaci
normalnej i wszystkie kolumny są w
zależności funkcyjnej jedynie od klucza
głównego, nie ma takiej zależności między
innymi kolumnami. Oznacza to, że nie istnieją
ż

adne zależności przechodnie (nietrywialne).

background image

Transformacja do 1NF

08.11.2004

2 wiertarki, 3 imadła

Klonowa 11 K-ce

Adam Nowak

98

04.11.2004

5 młotków, 10 gwoździ

Wiązów 4 K-ce

Jan Kowalski

97

Data_zamówienia

Treść_zamówienia

Adres_klienta

Nazwa_klienta

Nr_zamówienia

08.11.2004

2

Wiertarka

Klonowa 11 K-ce

Adam Nowak

98

04.11.2004

10

Wkrętak

Wiązów 4 K-ce

Jan Kowalski

97

3

5

Liczba

08.11.2004

Imadła

Klonowa 11 K-ce

Adam Nowak

98

04.11.2004

Młotek

Wiązów 4 K-ce

Jan Kowalski

97

Data_zamówienia

Artykuł

Adres_klienta

Nazwa_klienta

Nr_zamówienia

background image

Transformacja do 2NF

2

Wiertarka

98

10

Wkrętak

97

3

5

Liczba

Imadła

98

Młotek

97

Artykuł

Nr_zamówienia

Klonowa 11 K-ce

Wiązów 4 K-ce

Adres_klienta

Adam Nowak

Jan Kowalski

Nazwa_klienta

08.11.2004

98

04.11.2004

97

Data_zamówienia

Nr_zamówienia

background image

Transformacja do 3NF

2

Wiertarka

98

10

Wkrętak

97

3

5

Liczba

Imadła

98

Młotek

97

Artykuł

Nr_zamówienia

Adam Nowak

Jan Kowalski

Nazwa_klienta

08.11.2004

98

04.11.2004

97

Data_zamówienia

Nr_zamówienia

Klonowa 11 K-ce

Wiązów 4 K-ce

Adres_klienta

Adam Nowak

Jan Kowalski

Nazwa_klienta


Wyszukiwarka

Podobne podstrony:
Microsoft PowerPoint Wyklad 1 Wstep do informatyki i
Microsoft PowerPoint Wyklad 2 Wstep do informatyki i
Microsoft PowerPoint WYKŁAD1 KOS 07(2)
Microsoft PowerPoint Wyklad 1 Wstep do informatyki i
Microsoft PowerPoint Wyklad 2 Wstep do informatyki i
Microsoft PowerPoint Wykład 6 Obliczenia trakcyjne
Microsoft PowerPoint Infrastruktura transportu drogowego wykład7
Microsoft PowerPoint Strategie finansowe i inwestyc firm wyklad 2
Microsoft PowerPoint Wykład 7 Podstawy sterowania ruchem pociągów
Nowy Prezentacja programu Microsoft PowerPoint 5
Rola rynku i instytucji finansowych INowy Prezentacja programu Microsoft PowerPoint
ZADANIA PiP Prezentacja Microsoft PowerPoint
Nowy Prezentacja programu Microsoft PowerPoint ppt
Microsoft PowerPoint IP5 klasyfikacje tryb zgodnosci
Microsoft PowerPoint IP tryb zgodnosci

więcej podobnych podstron