Wykład 9-10 (850kB pdf)

Transkrypt

Wykład 9-10 (850kB pdf)
Podstawowe informacje
o bazach danych
Technologie Informacyjne
dr inż. Michna Michał, Politechnika Gdańska 2010/2011
Przykłady systemów baz danych

Książka telefoniczna, książka kucharska

Zarządzanie magazynem/hurtownią

Systemy bankowe, ubezpieczeniowe

Systemy rezerwacji miejsc

Systemy obsługi administracji (ZUS, NFZ)

Powszechny Elektroniczny System Ewidencji Ludności
PESEL(od 1979)
2
dr inż. Michał Michna
Przykłady systemów baz danych

Systemy wspomagania projektowania CAD/CAM

Magazyny (hurtownie) danych

Systemy wspomagania inżynierii oprogramowania CASE

Systemy z bazami wiedzy

Systemy medyczne

Systemy kartograficzne GIS
http://www.ncddc.noaa.gov/technology/gis/view
3
dr inż. Michał Michna
Typy systemów baz danych

BDAM, ISAM
IBM -IMS
1960

CODASYL -IDMS
Edgar F Codd RBD

1970

1980

1990



Kartotekowe
Hierarchiczne
Sieciowe
Relacyjne
Obiektowe
Relacyjno-obiektowe
Strumieniowe
Temporalne
Manifesty baz danych
4
dr inż. Michał Michna
Proste typy danych
Złożone typy danych
Bazy danych

Zbiór danych opisujący pewien wybrany fragment
rzeczywistości

Dane w BD


odzwierciedlają rzeczywistość w sposób z nią zgodny
(prawidłowy)
są zorganizowane w specyficzny sposób, zgodnie z tzw.
modelem danych
Baza danych jest zarządzana przez tzw. system zarządzania
bazą danych
Z systemem bazy danych współpracują programy
przetwarzające dane


5
dr inż. Michał Michna
Systemy baz danych
System informatyczny wyspecjalizowany w kierunku





wprowadzania
przechowywania
przetwarzania
udostępniania
Baza danych – zbiór informacji zapisanych w ściśle
określony sposób (DataBase)
System zarządzania bazą danych – program do
przetwarzania, zarządzania bazą danych
(DataBase Management System)


6
dr inż. Michał Michna
Cechy funkcjonalne SBD
gwarantowanie trwałości i spójności danych w bazie

danych

zapewnienie współbieżnego dostępu do danych

autoryzacja dostępu do bazy danych

efektywny dostęp do danych w środowisku
scentralizowanym i rozproszonym
7
dr inż. Michał Michna
Architektura baz danych
Architektura klient-serwer dwuwarstwowa


Serwer bazy danych – wykonujący np. wyrażenia SQL

Klient – wysyłających żądania do serwera
Architektura trzywarstwowa

8

interfejs użytkownika

logika przetwarzania

baza danych
dr inż. Michał Michna
8
Architektura baz danych
zapytanie
Internet
odpowiedź
Klient
Przeglądarka WWW
Serwer WWW
Apache
odpowiedź
podaj dane
Skrypt PHP
wykonaj
Dokument
HTML
Serwer baz danych
MySQL
9
dr inż. Michał Michna
9
Relacyjne bazy danych
Podstawy, model danych , przykłady
10
dr inż. Michał Michna
Relacyjne bazy danych

Relacje - podstawowa struktura danych przedstawiana
w postaci tabeli
krotka
rekord
(wiersz)
11
atrybut (kolumna)
PESEL
Imię
Nazwisko
Wykształcenie
72030400264
Adam
Kowalski
Podstawowe
65083104569
Marcin
Kowalski
Średnie
71123108664
Marcin
Dąbrowski
Wyższe
85041406333
Anna
Kowalska
Podstawowe
46111006545
Anna
Dąbrowska
Wyższe
dr inż. Michał Michna
pole
wartość
Relacyjne bazy danych - wiersze





Wiersze są unikalne
Każdy wiersz posiada te same atrybuty
Nie ma znaczenia kolejność wierszy
Wiersze są dynamiczne – mogą być dopisywane, usuwane,
modyfikowane
Wiersze powinny być identyfikowane przez pola
kluczowe (klucz podstawowy)
72030400264
12
Adam
Kowalski
P
dr inż. Michał Michna
Relacyjne bazy danych - kolumy
PESEL

Kolumny są unikalne

Każdej kolumnie przypisany jest typ danych
(liczba, data, godzina, ciąg znaków, znak)

Nie ma znaczenia kolejność kolumn

Wartości pól są atomowe

Każda kolumna ma swoją nazwę

Rzadko dodaje się lub kasuje kolumny
72030400264
65083104569
71123108664
85041406333
46111006545
13
dr inż. Michał Michna
Relacyjne bazy danych – klucz podstawowy
Klucze wykorzystuje się do tworzenia powiązań (relacji)
pomiędzy kilkoma oddzielnymi tabelami
klucz podstawowy

atrybut lub zbiór atrybutów, którego wartość
jednoznacznie identyfikuje krotkę relacji

Z definicji, wartość atrybutu, który zdefiniowano jako
klucz podstawowy jest unikalna w obrębie całej relacji i
jest niepusta

Przykłady: NIP, PESEL, nr dowodu, nr paszportu
14
dr inż. Michał Michna
Relacyjne bazy danych - klucze
Klienci
KlientID
Imię
Nazwisko
Adres
101
Joanna
Kowalska
Wierzbowa 25
103
Anna
Kowalska
Narcyzowa 1
104
Anna
Dąbrowska
Fiołkowa 11
Klucz podstawowy
15
Zamowienia
ZamowienieID
KlientID
Wartość
Data
302
101
255,2 2006-01-12
303
103
1651,1 2006-01-12
304
101
12,25 2006-01-14
305
101
1321,1 2006-01-14
dr inż. Michał Michna
Relacyjne bazy danych – klucz obcy
Klucze wykorzystuje się do tworzenia powiązań (relacji)
pomiędzy kilkoma oddzielnymi tabelami
klucz obcy

jest atrybutem lub zbiorem atrybutów, który wskazuje na
klucz podstawowy w innej relacji

służy do reprezentowania powiązań między danymi
(łączenia relacji)
16
dr inż. Michał Michna
Relacyjne bazy danych - klucze
Klienci
KlientID
Imię
Nazwisko
Adres
101
Joanna
Kowalska
Wierzbowa 25
103
Anna
Kowalska
Narcyzowa 1
104
Anna
Dąbrowska
Fiołkowa 11
Klucz obcy
Klucz podstawowy
17
Zamowienia
ZamowienieID
KlientID
Wartość
Data
302
101
255,2 2006-01-12
303
103
1651,1 2006-01-12
304
101
12,25 2006-01-14
305
101
1321,1 2006-01-14
dr inż. Michał Michna
Relacyjne bazy danych - relacje
Jeden-do-Jednego
każdy wiersz w tabeli A może mieć tylko jeden dopasowany wiersz z tabeli B, i tak
samo każdy wiersz w tabeli B może mieć tylko jeden dopasowany wiersz z tabeli A
Adresy
Klienci
KlientID
Imię
Nazwisko
KlientID
Ulica
101
Joanna
Kowalska
101
Wierzbowa 25 Gdynia
103
Anna
Kowalska
103
Narcyzowa 1
Sopot
104
Anna
Dąbrowska
104
Fiołkowa 11
Gdynia
18
dr inż. Michał Michna
Miasto
Relacyjne bazy danych - relacje
Jeden-do-Wielu
wiersz w tabeli A może mieć wiele dopasowanych wierszy z tabeli B,
lecz wiersz w tabeli B może mieć tylko jeden dopasowany wiersz z tabeli A
Klienci
KlientID
Imię
Nazwisko
Adres
101
Joanna
Kowalska
Wierzbowa 25
Zamowienia
19
ZamowienieID
KlientID
Wartosc
302
101
255,2 2006-01-12
304
101
12,25 2006-01-14
305
101
1321,1 2006-01-14
dr inż. Michał Michna
Data
Relacyjne bazy danych - relacje
Wiele-do-Wielu
każdy wiersz w tabeli A może mieć wiele dopasowanych wierszy z tabeli B, i tak
samo każdy wiersz w tabeli B może mieć wiele dopasowanych wierszy z tabeli A
Zamowienia
ZamID
KlientID
302
101
304
101
305
101
20
OpisZamowienia
ZamID
ProduktID
Produkty
302
202
ProuktID
Nazwa
Cena jedn
302
204
202
Chleb
1,60
302
205
204
Mleko
1,80
305
204
205
Masło
3,50
305
205
304
204
dr inż. Michał Michna
Język zapytań SQL
Podstawy, przykłady zastosowań
21
dr inż. Michał Michna
SQL Structured Query Language
Wykorzystywany w bazach:
 IBM (DB2),
 Oracle, MySQL, Inter-Base, Paradox, dBase, Caché,
Firebird, First SQL, HSQL, Ingres, Informix, MaxDB,
Microsoft Access, Microsoft Jet, Microsoft SQL Server,
Mimer SQL, mSQL, OpenLink Virtuoso, PostgreSQL,
SQL/DS, SQLite, Sybase
Składnia SQL:
 DDL (Data Definition Language)
 DML (Data Manipulation Language)
 DCL (Data Control Language)
22
dr inż. Michał Michna
DDL – podstawowe komendy




CREATE (DATABASE, TABLE, INDEX...) – utworzenie
ALTER (DATABASE, TABLE...) – zmiana struktury
DROP (DATABASE, TABLE, INDEX...) – usunięcie
RENAME (DATABASE, TABLE) – zmiana nazwy
CREATE TABLE klienci (
klientID int NOT NULL AUTO_INCREMENT,
imie varchar(50),
nazwisko varchar(100),
adres varchar(255)
PRIMARY KEY (klientID )
);
ALTER TABLE klienci
ADD COLUMN oddzial varchar(255);
23
dr inż. Michał Michna
DML - podstawowe komendy




SELECT – pobranie danych z tabel
UPDATE – uaktualnianie danych w tabeli
DELETE – usunięcie danych w tabeli
INSERT – dodanie danych do tabeli
INSERT
INTO klienci (imie, nazwisko, adres)
VALUES ('Jan', 'Kowalski', ‘Sporna 1’);
SELECT *
FROM zamowienia
WHERE wartosc > 200
ORDER BY data DESC;
24
dr inż. Michał Michna
DCL - podstawowe komendy



GRANT – przyznanie praw
REVOKE -odebranie wszystkich praw do tabeli
użytkownikowi
DENY.
GRANT ALL
PRIVILEGES ON EMPLOYEE
TO PIOTR
WITH GRANT OPTION
25
dr inż. Michał Michna
Literatura


R. Gawron, P. Ostrowski, T. Baniak Microsoft Access - jako
narzędzie konstrukcji baz danych
http://web.pertus.com.pl/~stanley/access_pigulka/Spis_tre
sci.htm
Bazy danych (materiały dydaktyczne MIMUW na studia
informatyczne I stopnia)
http://wazniak.mimuw.edu.pl/index.php?title=Bazy_danych
26
dr inż. Michał Michna

Podobne dokumenty