background image

Bazy Danych

Europejska Wyższa Szkoła Informatyczno-

Ekonomiczna
Mgr inż. Piotr Greniewski

Wykład 3: Podstawy 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

Podstawy relacyjnych baz danych

Arkusze kalkulacyjne.

Czym wyróżniają się bazy danych?

Dane w bazie danych.

Prosty projekt bazy danych z wieloma 
tabelami.

Definiowanie związków między tabelami.

Projektowanie tabel – kilka podstawowych 
zasad

Wersja demonstracyjna bazy danych.

Proste typy danych.

background image

 Copyright by Piotr Greniewski

4

Arkusze kalkulacyjne

Powszechne wykorzystywane narzędzie do 
przechowywania przeglądania danych:

Wydajny sposób do zdefiniowania zbioru danych;

Łatwość interpretacji danych

Funkcje sortowania  po kolumnach itp...

Dobre narzędzie pod warunkiem, że danych nie jest 
zbyt dużo;

background image

 Copyright by Piotr Greniewski

5

Arkusze kalkulacyjne

Pani Anna

Kowalska

Tamka 13 m. 

1

826-32-

11

Pan

Jan

Zieliński

Miła 15 m. 

23

826-22-

90

Pani Ewa

Wysocka

Solec 6 m. 

56

826-98-

09

Wiers

z

Kolumna

background image

 Copyright by Piotr Greniewski

6

Czym wyróżniają się bazy danych?

Duże podobieństwo między relacyjną bazą 
danych danych a arkuszem kalkulacyjnym.

Baza może służyć do przechowywania bardziej 
złożonych danych niż arkusz.

Daje możliwość dostępu wielu użytkownikom 
jednocześnie.

Baza danych składa się z tabel.

background image

 Copyright by Piotr Greniewski

7

Czym wyróżniają się bazy danych?

Rozpoczynając pracę nad projektem prostej 
tabeli musimy odpowiedzieć na następujące 
pytania:

Ile kolumn potrzeba do przechowywania atrybutów 
związanych z każdym z elementów?

Jakiego typu dane będzie reprezentować każdy z 
atrybutów (kolumna)?

Jak rozróżniać wiersze (rekordy)?

background image

 Copyright by Piotr Greniewski

8

Podstawowe typy danych

Numeryczne typy danych

SMALLINT – liczby całkowite małe z przedziału
(-32 768,+32 767);

INT – liczby całkowite z przedziału 
(-2 147 483 648,+2 147 483 647);

NUMERIC (p,s) – liczby rzeczywiste, gdzie p 
oznacza całkowitą liczbę cyfr, a s oznacza liczbę cyfr 
po przecinku;

background image

 Copyright by Piotr Greniewski

9

Podstawowe typy danych

Tworzenie tabeli – CREATE TABLE dla 
wartości numerycznych

CREATE TABLE test
 (

mala_calkowita

SMALLINT,

liczba_calkowita INT,
liczba_rzeczywista

NUMERIC (5,2)
);

background image

 Copyright by Piotr Greniewski

10

Podstawowe typy danych

Znakowe typy danych:

CHAR – pojedynczy znak;

CHAR(n) – ciąg złożony dokładnie z n znaków, które 
są uzupełniane spacjami;

VARCHAR(n) – ciąg znaków o długości do n znaków. 
Ciąg nie jest uzupełniany spacjami.

TEXT Nieograniczony ciąg znaków podobny do 
VARCHAR, ale bez konieczności definiowania 
maksimum.

background image

 Copyright by Piotr Greniewski

11

Podstawowe typy danych

Tworzenie tabeli – CREATE TABLE dla 
znakowych typów danych

CREATE TABLE test
 (

znak

CHAR,

cztery_znaki

CHAR(4),

znaki_do_128

VARCHAR(128)
);

background image

 Copyright by Piotr Greniewski

12

Podstawowe typy danych

Typy danych daty i czasu:

DATE – przechowuje informacje o dacie;

TIME – przechowuje informacje o czasie.

background image

 Copyright by Piotr Greniewski

13

Podstawowe typy danych

Kasowanie tabeli – DROP TABLE nazwa_tabeli – jeśli tabela 

nie jest już potrzebna można ją skasować. Należy to robić z 

dużą ostrożnością.

DROP TABLE test;

background image

 Copyright by Piotr Greniewski

14

Tworzenie tabel

nr

imię

nazwisko

stanowisko

telefon

001 Jan

Kowalski

Sprzedawca

826-78-90

002 Anna

Kamińska

Sprzedawca

826-78-91

003 Krzysztof

Adamski

Kierownik

826-79-00

004 Piotr

Michalski

Mechanik

826-79-90

005 Marzena

Kownacka

Kasjer

826-79-21

006 Alicja

Makowieck
a

Sprzedawca

826-78-22

007 Wojciech

Bagielski

Sprzedawca

826-78-23

background image

 Copyright by Piotr Greniewski

15

Tworzenie tabel

Tworzenie tabeli polega na definiowaniu jej 
kolumn. Dla każdej kolumny należy określić 
nazwę, typ danych i długość oraz to czy jest 
dozwolone pozostawienie wartości pustej 
(NULL)

CREATE TABLE pracownicy
(

id_pracow

CHAR(3) 

NOT NULL,

imie

VARCHAR(18)

NOT 

NULL,

nazwisko

VARCHAR(24)

NOT 

NULL,

stanowisko

VARCHAR(12)

NOT 

NULL,

dzial

VARCHAR(12)

NOT 

NULL,

...........
data_urodz

DATE,

telefon_domowy

CHAR(12)

);

background image

 Copyright by Piotr Greniewski

16

Projektowanie tabel

Podstawowe zasady projektowania tabel w 
bazach danych:

Podział danych na kolumny;

Określenie unikalnego sposobu identyfikacji 
każdego wiersza;

Usunięcie powtarzających się informacji;

Stosowanie właściwych nazw.

background image

 Copyright by Piotr Greniewski

17

Projektowanie tabel

Podział danych na kolumny

W każdej kolumnie powinien znaleźć się jeden 

rodzaj informacji (lub atrybut). Jeżeli w 

kolumnie umieścimy cały adres wraz z kodem 

pocztowym to trudno będzie nam posortować 

dane po kodzie pocztowym znajdującym się 

gdzieś pomiędzy 14 a 20 znakiem. Dostęp do 

danych jest bardzo utrudniony.

Kościuszki 3/5 m. 28 00-567 Warszawa

Dobra 4 m. 12 00-786 Warszawa

Kasprowicza 2 00-799 Warszawa

background image

 Copyright by Piotr Greniewski

18

Projektowanie tabel

Określenie unikalnego sposobu identyfikacji 
każdego wiersza

Każdy wiersz w tabeli musi być unikalny. Aby to 

zapewnić stosujemy klucz podstawowy. W 

zasadzie nie musi nim być pojedyncza – może 

to być para lub nawet kombinacja kilku 

kolumn, która jednoznacznie identyfikuje 

wiersz. Musimy zapewnić sposób który ze 

100% pewnością spowoduje unikalność 

rekordów. 

1

Kowalski

Jan

25-02-1967

2

Kowalski

Jan

25-02-1967

3

Kwiatkowski

Marian

30-05-1976

Unikalny klucz

background image

 Copyright by Piotr Greniewski

19

Projektowanie tabel

Usunięcie powtarzających się informacji 
(powtarzających się grup) – relacja jeden do wielu;

Id_klienta

Nazwa

Miasto

telefon

1

ABC S.A.

Warszawa

824-90-98

2

XYZ S.A.

Toruń

345-09-87

Id_zamówienia Id_klienta

Towar

Ilość kg

1

1

Jabłka

10

2

1

Gruszki

6

background image

 Copyright by Piotr Greniewski

20

Projektowanie tabel

Stosowanie właściwych nazw.

Większość

 projektantów posiada własne 

zasady nazywania tabel i kolumn w bazie 

danych. Nie należy mieszać liczby 

pojedynczej i mnogiej. Tabele i kolumny 

powinny mieć krótkie i treściwe nazwy, a 

nazwy w obrębie bazy danych powinny 

być spójne. Jeżeli kolumna jednej tabeli 

jest kluczem obcym innej tabeli to 

powinny posiadać takie same nazwy. 

Osiągnięcie tego celu bywa trudne.


Document Outline