dr inż. Michna Michał, Politechnika Gdańska 2010/2011 · Bazy danych 5 dr inż. Michał ......

26
Podstawowe informacje o bazach danych Technologie Informacyjne dr inż. Michna Michał, Politechnika Gdańska 2010/2011

Transcript of dr inż. Michna Michał, Politechnika Gdańska 2010/2011 · Bazy danych 5 dr inż. Michał ......

Podstawowe informacje

o bazach danych

Technologie Informacyjne

dr inż. Michna Michał, Politechnika Gdańska 2010/2011

Przykłady systemów baz danych

2

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)

dr inż. Michał Michna

Przykłady systemów baz danych

3

Systemy wspomagania projektowania CAD/CAM

Magazyny (hurtownie) danych

Systemy wspomagania inżynierii oprogramowania CASE

Systemy z bazami wiedzy

Systemy medyczne

Systemy kartograficzne GIS

dr inż. Michał Michna

http://www.ncddc.noaa.gov/technology/gis/view

Typy systemów baz danych

4

Kartotekowe

Hierarchiczne

Sieciowe

Relacyjne

Obiektowe

Relacyjno-obiektowe

Strumieniowe

Temporalne

1970

1980

1990

Proste typy danych

Złożone typy danych

1960

CODASYL -IDMS

Edgar F Codd RBD

IBM -IMS

BDAM, ISAM

dr inż. Michał Michna

Manifesty baz danych

Bazy danych

dr inż. Michał Michna5

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

Systemy baz danych

6

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)

dr inż. Michał Michna

Cechy funkcjonalne SBD

7

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

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

interfejs użytkownika

logika przetwarzania

baza danych

88 dr inż. Michał Michna

Architektura baz danych

99 dr inż. Michał Michna

odpowiedź

Internet

Klient

Przeglądarka WWW

Serwer WWW

Apache

Serwer baz danych

MySQL

zapytanie

odpowiedź

Dokument

HTMLSkrypt PHP wykonajpodaj dane

Relacyjne bazy danych

Podstawy, model danych , przykłady

10 dr inż. Michał Michna

Relacyjne bazy danych

11

Relacje - podstawowa struktura danych przedstawiana

w postaci tabeli

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

krotka

rekord

(wiersz)

atrybut (kolumna)

pole

wartość

dr inż. Michał Michna

Relacyjne bazy danych - wiersze

12

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 Adam Kowalski P

dr inż. Michał Michna

Relacyjne bazy danych - kolumy

13

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

PESEL

72030400264

65083104569

71123108664

85041406333

46111006545

dr inż. Michał Michna

Relacyjne bazy danych – klucz podstawowy

14

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

dr inż. Michał Michna

Relacyjne bazy danych - klucze

15

KlientID Imię Nazwisko Adres

101 Joanna Kowalska Wierzbowa 25

103 Anna Kowalska Narcyzowa 1

104 Anna Dąbrowska Fiołkowa 11

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

Klienci

ZamowieniaKlucz podstawowy

dr inż. Michał Michna

Relacyjne bazy danych – klucz obcy

16

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)

dr inż. Michał Michna

Relacyjne bazy danych - klucze

17

KlientID Imię Nazwisko Adres

101 Joanna Kowalska Wierzbowa 25

103 Anna Kowalska Narcyzowa 1

104 Anna Dąbrowska Fiołkowa 11

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

Klienci

ZamowieniaKlucz podstawowy Klucz obcy

dr inż. Michał Michna

Relacyjne bazy danych - relacje

18

Jeden-do-Jednegokaż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

KlientID Imię Nazwisko

101 Joanna Kowalska

103 Anna Kowalska

104 Anna Dąbrowska

Klienci

KlientID Ulica Miasto

101 Wierzbowa 25 Gdynia

103 Narcyzowa 1 Sopot

104 Fiołkowa 11 Gdynia

Adresy

dr inż. Michał Michna

Relacyjne bazy danych - relacje

19

Jeden-do-Wieluwiersz 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

KlientID Imię Nazwisko Adres

101 Joanna Kowalska Wierzbowa 25

ZamowienieID KlientID Wartosc Data

302 101 255,2 2006-01-12

304 101 12,25 2006-01-14

305 101 1321,1 2006-01-14

Klienci

Zamowienia

dr inż. Michał Michna

Relacyjne bazy danych - relacje

20

Wiele-do-Wielukaż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

ZamID KlientID

302 101

304 101

305 101

Zamowienia

ZamID ProduktID

302 202

302 204

302 205

305 204

305 205

304 204

OpisZamowienia

ProuktID Nazwa Cena jedn

202 Chleb 1,60

204 Mleko 1,80

205 Masło 3,50

Produkty

dr inż. Michał Michna

Język zapytań SQL

Podstawy, przykłady zastosowań

21 dr inż. Michał Michna

SQL Structured Query Language

22

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, OpenLinkVirtuoso, PostgreSQL, SQL/DS, SQLite, Sybase

Składnia SQL:

DDL (Data Definition Language)

DML (Data Manipulation Language)

DCL (Data Control Language)

dr inż. Michał Michna

DDL – podstawowe komendy

23

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

dr inż. Michał Michna

DML - podstawowe komendy

24

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;

dr inż. Michał Michna

DCL - podstawowe komendy

25

GRANT – przyznanie praw

REVOKE -odebranie wszystkich praw do tabeli

użytkownikowi

DENY.

GRANT ALL

PRIVILEGES ON EMPLOYEE

TO PIOTR

WITH GRANT OPTION

dr inż. Michał Michna

Literatura

26

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

dr inż. Michał Michna