Kwalifikacja E.14.2 - Sklep WSiP

Transkrypt

Kwalifikacja E.14.2 - Sklep WSiP
REFORMA 2012
Bazy danych
i systemy
baz danych
Przemysław Domka
Kwalifikacja E.14.2
Podręcznik do nauki zawodu
TECHNIK INFORMATYK
Podręcznik dopuszczony do użytku szkolnego przez ministra właściwego do spraw
oświaty i wychowania i wpisany do wykazu podręczników przeznaczonych
do kształcenia w zawodach na podstawie opinii rzeczoznawców:
dr. Marka Gumkowskiego, mgr inż. Janiny Grobelnej i mgr Zofii Gońdy-Ciupy.
Typ szkoły: technikum.
Zawód: technik informatyk.
Kwalifikacja: E.14. Tworzenie aplikacji internetowych i baz danych oraz administrowanie
bazami.
Część kwalifikacji: 2. Tworzenie baz danych i administrowanie bazami danych.
Rok dopuszczenia 2013.
© Copyright by Wydawnictwa Szkolne i Pedagogiczne sp. z o.o.
Warszawa 2013
Wydanie I (rzut I)
ISBN 978-83-02-13414-2
Opracowanie merytoryczne i redakcyjne: Zbigniew Dziedzic (redaktor koordynator),
Olga Gorczyca-Popławska (redaktor)
Konsultacja: dr inż. Mieczysław Rudnicki
Projekt graficzny okładki: Dominik Krajewski
Redakcja językowa: Ewa Wojtyra
Fotoedycja: Agata Bażyńska
Redakcja techniczna: Elżbieta Walczak
Skład i łamanie: Pracownia Książki
Wydawnictwa Szkolne i Pedagogiczne spółka z ograniczoną odpowiedzialnością
02-807 Warszawa, Aleje Jerozolimskie 96
Tel.: 22 576 25 00
Infolinia: 801 220 555
www.wsip.pl
Druk i oprawa: Orthdruk sp. z o.o., Białystok
Publikacja, którą nabyłeś, jest dziełem twórcy i wydawcy. Prosimy, abyś przestrzegał praw, jakie im przysługują.
Jej zawartość możesz udostępnić nieodpłatnie osobom bliskim lub osobiście znanym. Ale nie publikuj jej
w internecie. Jeśli cytujesz jej fragmenty, nie zmieniaj ich treści i koniecznie zaznacz, czyje to dzieło.
A kopiując jej część, rób to jedynie na użytek osobisty.
Szanujmy cudzą własność i prawo.
Więcej na www.legalnakultura.pl
Polska Izba Książki
SPIS TREŚCI
Od Autora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
I. Podstawy baz danych
1
2
3
4
5
6
7
8
9
10
11
12
Pojęcie bazy danych – podstawowe definicje. Właściwości baz danych . . . . . . . . . . . . . . . . . .
Modele danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integralność danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Funkcje Systemu Zarządzania Bazą Danych (SZBD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Charakterystyka elementów bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sieciowe serwery baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabele baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Projektowanie konceptualne, logiczne i fizyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Normalizowanie baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Związki pomiędzy tabelami bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formularze do przetwarzania danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rodzaje kwerend wykorzystywanych do przetwarzania danych . . . . . . . . . . . . . . . . . . . . . . . .
8
11
15
17
19
23
25
29
33
53
59
61
II. Podstawy języka SQL
13
14
15
16
17
18
19
20
21
22
Strukturalny język zapytań SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Strukturalny język zapytań – charakterystyka składni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Klauzule strukturalnego języka zapytań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Funkcje w bazach danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instrukcje sterowania dostępem do danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rozkazy języka SQL, tworzenie tabel i operacje na tabelach, wyszukiwanie informacji
i ich zmiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zapytania zagnieżdżone (podzapytania). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Złączenia i widoki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wyzwalacze (Triggers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transakcje, blokady i zakleszczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
69
80
81
88
92
136
142
150
153
III. Tworzenie relacyjnej bazy danych
23
24
25
26
Modyfikacja tabel i operacje na tabelach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tworzenie nowej instancji bazy danych w MySQL i PostgreSQL . . . . . . . . . . . . . . . . . . . . . .
Organizacja pracy związanej z realizacją projektu informatycznego . . . . . . . . . . . . . . . . . . . .
Zasady zarządzania projektem tworzenia bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
160
166
171
173
IV. Struktura bazy danych w programie Microsoft Access
i rozbudowa bazy danych
27 Bazy danych w programie Microsoft Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
28 Tworzenie wielu tabel w programie Microsoft Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
3
4
B A Z Y DA N YC H I SY S T E M Y B A Z DA N YC H
V. Programowanie baz danych w językach wysokiego poziomu
na przykładzie VBA
29 Wykorzystanie Visual Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
30 Użycie skryptów w bazach danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
VI. Instalacja serwera baz danych
31 Instalacja serwera baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
32 Instalacja PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
33 Uruchamianie i wyłączanie serwera baz danych MySQL i PostgreSQL w systemach Linux
34
35
36
37
38
i Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MySQL i PostgreSQL – testy wydajności i optymalizacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optymalizacja konfiguracji serwera baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optymalizacja bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Indeksy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Indeksy PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
261
266
274
275
289
291
VII. Zabezpieczenia baz danych
39
40
41
42
43
Podział zagrożeń dla bazy danych i sposoby przeciwdziałania im . . . . . . . . . . . . . . . . . . . . . .
Zabezpieczenia dostępu do danych (zarządzanie bezpieczeństwem) . . . . . . . . . . . . . . . . . . .
Schematy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nadawanie i odbieranie uprawnień PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kopia zapasowa i odtwarzanie bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
300
303
308
310
315
Wykaz podstawowych pojęć w językach polskim, angielskim i niemieckim . . . . . . . . . . . . . . . . . 322
Słowa kluczowe w języku SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334