Bazy danych i MySQL Od podstaw.pdf

(352 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
Bazy danych i MySQL.
Od podstaw
Autorzy: Richard Stones, Neil Matthew
T³umaczenie: Pawe³ Gonera
ISBN: 83-7197-728-X
Tytu³ orygina³u:
Beginning Databases with MySQL
Format: B5, stron: 560
Przyk³ady na ftp: 45 kB
MySQL zajmuje szczególn¹ pozycjê w ród systemów obs³ugi relacyjnych baz danych.
Dziêki du¿ej wydajno ci, prostocie obs³ugi i dostêpno ci interfejsów programistycznych
dla wielu jêzyków programowania, osi¹gn¹³ ogromn¹ popularno æ w zastosowaniach
internetowych. Je li dysponujesz ograniczonym bud¿etem, powiniene rozwa¿yæ u¿ycie
darmowego systemu, który pod wieloma wzglêdami mo¿e konkurowaæ z drogimi
systemami komercyjnymi. MySQL rozwija siê zreszt¹ bardzo dynamicznie, a jego
kolejne wersje dysponuj¹ coraz to bardziej wyrafinowanymi funkcjami.
Do kogo adresowana jest ta ksi¹¿ka?
„Bazy danych i MySQL. Od podstaw” to pozycja zarówno dla pocz¹tkuj¹cych, jak i dla
zaawansowanych u¿ytkowników MySQL-a. Pocz¹tkuj¹cy dowiedz¹ siê jak instalowaæ
i konfigurowaæ system MySQL, naucz¹ siê projektowania wydajnych baz danych
i zg³êbi¹ tajemnice jêzyka SQL. Do wiadczeni programi ci bêd¹ mogli poznaæ interfejs
pozwalaj¹cy na korzystanie z MySQL-a z poziomu ich ulubionego jêzyka programowania
(ksi¹¿ka omawia C, C++, Perla, PHP i Javê). Zainteresowaæ ich powinny tak¿e rozdzia³y
po wiêcone wzorcom projektowym stosowanym przy tworzeniu aplikacji bazodanowych
i omówienie mechanizmu transakcji, zaimplementowanego w najnowszych wersjach
MySQL-a.
Co zawiera ta ksi¹¿ka?
• Przystêpne omówienie zagadnieñ zwi¹zanych z projektowaniem baz danych
• Opis kompilacji, instalacji, konfiguracji i obs³ugi systemu MySQL
• Kompletny kurs jêzyka SQL w wersji implementowanej w MySQL
• Prezentacjê narzêdzi u³atwiaj¹cych pracê z MySQL
• Omówienie zagadnieñ zwi¹zanych z administracj¹ systemem bazodanowym
(replikacja, tworzenie kopii zapasowych, odtwarzanie danych)
• Opis interfejsów umo¿liwiaj¹cych pisanie aplikacji bazodanowych w jêzykach
C, C++, PHP, Perl i Java
• Dodatki, zawieraj¹ce m.in. skorowidz poleceñ SQL i informacje na temat obs³ugi
du¿ych obiektów (pola BLOB)
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
O Autorach ............................................................................................................................ 13
Wstęp.................................................................................................................................... 15
Rozdział 1. Wprowadzenie do MySQL...............................................................................................19
Zastosowanie danych przy programowaniu............................................................................ 19
Bazy danych korzystające z płaskich plików........................................................................... 21
Czym jest baza danych .......................................................................................................... 23
Typy baz danych .................................................................................................................... 23
Języki zapytań........................................................................................................................ 27
System zarządzania bazą danych .......................................................................................... 30
Czym jest MySQL................................................................................................................... 31
Krótka historia MySQL ..................................................................................................... 31
Architektura MySQL ......................................................................................................... 32
Licencja open source ............................................................................................................ 33
Zasoby .................................................................................................................................. 34
Rozdział 2. Podstawy relacyjnych baz danych ...............................................................................35
Arkusze kalkulacyjne ............................................................................................................. 35
Terminologia .................................................................................................................... 36
Ograniczenia arkuszy ....................................................................................................... 37
Różnice pomiędzy arkuszem i bazą danych ........................................................................... 38
Wybór kolumn .................................................................................................................. 39
Wybór typów danych dla kolumn ...................................................................................... 39
Jednoznaczne identyfikowanie wierszy............................................................................. 40
Kolejność wierszy ............................................................................................................ 41
Umieszczanie danych w bazie danych ................................................................................... 41
Dostęp przez sieć ............................................................................................................ 41
Danych cięcie i gięcie ...................................................................................................... 43
Podstawy projektowania baz danych z wykorzystaniem wielu tabel ....................................... 45
Relacje między tabelami........................................................................................................ 46
Projektowanie tabel ............................................................................................................... 49
Kilka podstawowych zasad .............................................................................................. 49
Baza danych „Klienci i zamówienia”...................................................................................... 51
Rozszerzamy bazę danych ............................................................................................... 52
Uzupełnianie projektu bazy danych .................................................................................. 54
4
Bazy danych i MySQL. Od podstaw
Podstawowe typy danych....................................................................................................... 57
NULL................................................................................................................................ 57
Przykładowa baza danych ...................................................................................................... 59
Podsumowanie ...................................................................................................................... 60
Rozdział 3. Instalowanie i uruchamianie MySQL ..............................................................................61
Instalacja czy uaktualnienie?................................................................................................. 61
Instalowanie MySQL z pakietu binarnego dla Linuksa lub Uniksa.......................................... 63
Instalowanie MySQL z kodu źródłowego ................................................................................ 67
Instalowanie MySQL w systemie Windows ............................................................................ 82
Instalowanie MySQL z pakietu binarnego dla Windows.................................................... 82
Podsumowanie ...................................................................................................................... 88
Rozdział 4. Dostęp do danych.........................................................................................................89
Wykorzystanie narzędzia mysql.............................................................................................. 90
Proste wyrażenia SELECT ...................................................................................................... 93
Przesłanianie nazw kolumn.............................................................................................. 96
Ustalanie kolejności wierszy ............................................................................................ 96
Eliminowanie duplikatów.................................................................................................. 98
Wykonywanie obliczeń ......................................................................................................... 101
Wybór wierszy...................................................................................................................... 102
Bardziej skomplikowane wyrażenia ................................................................................ 105
Dopasowanie wzorców................................................................................................... 107
Ograniczanie wyniku ...................................................................................................... 108
Porównanie różnych typów danych ................................................................................. 109
Operacje na danych dotyczących dat i czasu ................................................................. 112
Funkcje daty i czasu ...................................................................................................... 113
Wielokrotne złączenia tabel ................................................................................................. 117
Łączenie dwóch tabel .................................................................................................... 117
Synonimy nazw tabel ..................................................................................................... 122
Łączenie trzech tabel ..................................................................................................... 123
Podsumowanie .................................................................................................................... 127
Rozdział 5. Narzędzia graficzne dla MySQL ...................................................................................129
mysql................................................................................................................................... 130
Uruchamianie mysql ...................................................................................................... 130
Polecenia w mysql ......................................................................................................... 130
Historia poleceń ............................................................................................................ 131
Skrypty w mysql ............................................................................................................. 131
Poznawanie bazy danych................................................................................................ 133
Parametry wiersza poleceń ............................................................................................ 133
Polecenia wewnętrzne ................................................................................................... 135
KSql i KMySQL .................................................................................................................... 135
Przeglądarka tabel ......................................................................................................... 137
Eksport HTML ................................................................................................................ 138
Edytor formularzy ........................................................................................................... 140
MySQLGUI ........................................................................................................................... 141
ODBC................................................................................................................................... 143
Microsoft Access................................................................................................................. 148
Tabele połączone........................................................................................................... 149
Wprowadzanie danych ................................................................................................... 151
Raporty .......................................................................................................................... 153
Spis treści
5
Microsoft Excel.................................................................................................................... 153
Zasoby ................................................................................................................................ 157
Podsumowanie .................................................................................................................... 158
Rozdział 6. Modyfikacja danych....................................................................................................159
Dodawanie danych do bazy danych ..................................................................................... 159
Instrukcja INSERT .......................................................................................................... 160
Wstawianie danych do kolumn typu AUTO_INCREMENT................................................. 164
Wstawianie wartości NULL............................................................................................. 167
Polecenie LOAD DATA .................................................................................................... 169
Ładowanie danych za pomocą mysqlimport ................................................................... 172
Bezpośrednie ładowanie danych z innych aplikacji ........................................................ 174
Aktualizacja bazy danych za pomocą instrukcji UPDATE ...................................................... 176
Usuwanie wierszy za pomocą instrukcji DELETE .................................................................. 179
Podsumowanie .................................................................................................................... 181
Rozdział 7. Zaawansowana selekcja danych .................................................................................183
Funkcje agregujące.............................................................................................................. 184
COUNT() ......................................................................................................................... 184
Funkcja MIN()................................................................................................................. 192
Funkcja MAX() ................................................................................................................ 193
Funkcja SUM()................................................................................................................ 194
Funkcja AVG()................................................................................................................. 194
Złączenia UNION ................................................................................................................. 195
Złączenia własne ................................................................................................................. 197
Złączenia zewnętrzne .......................................................................................................... 199
Podzapytania ....................................................................................................................... 202
Typy podzapytań ............................................................................................................ 203
Podzapytania skojarzone ............................................................................................... 205
Zastępowanie podzapytań ................................................................................................... 207
Podsumowanie .................................................................................................................... 210
Rozdział 8. Definiowanie danych i manipulacja nimi .......................................................................213
Typy danych......................................................................................................................... 214
Typ logiczny.................................................................................................................... 214
Typy znakowe................................................................................................................. 215
Typy numeryczne............................................................................................................ 219
Data oraz czas............................................................................................................... 221
Operatory ............................................................................................................................ 222
Kolejność i łączenie operatorów .................................................................................... 223
Konwersje typów............................................................................................................ 229
Zmienne specjalne ........................................................................................................ 230
Funkcje wbudowane ............................................................................................................ 231
Operacje na tabelach .......................................................................................................... 235
Tworzenie tabel.............................................................................................................. 235
Typy tabel MySQL .......................................................................................................... 241
Modyfikacja tabel........................................................................................................... 242
Usuwanie tabel .............................................................................................................. 246
Tabele tymczasowe........................................................................................................ 246
Klucze obce......................................................................................................................... 247
Deklarowanie kluczy obcych........................................................................................... 249
Opcje kluczy obcych ....................................................................................................... 253
Podsumowanie .................................................................................................................... 254
6
Bazy danych i MySQL. Od podstaw
Rozdział 9. Transakcje i blokowanie ............................................................................................255
Czym są transakcje? ........................................................................................................... 256
Zasady ACID .................................................................................................................. 259
Obsługa transakcji dla jednego użytkownika........................................................................ 260
Obsługa transakcji dla wielu użytkowników ......................................................................... 261
Poziomy izolacji ANSI ..................................................................................................... 261
Definicje ANSI/ISO......................................................................................................... 266
Ograniczenia transakcji.................................................................................................. 266
MySQL i transakcje ............................................................................................................. 267
MySQL i tabele MyISAM................................................................................................. 267
MySQL i tabele InnoDB .................................................................................................. 271
Zakleszczenia...................................................................................................................... 276
Podsumowanie .................................................................................................................... 278
Rozdział 10. Administrowanie MySQL ...........................................................................................279
Uruchamianie i zatrzymywanie serwera bazy danych ........................................................... 279
Windows ........................................................................................................................ 280
Linux .............................................................................................................................. 282
Wersje serwera.............................................................................................................. 284
Dodawanie i usuwanie baz danych ................................................................................ 285
Konfigurowanie użytkowników ............................................................................................. 285
Konto administratora bazy danych — root..................................................................... 285
Zarządzanie uprawnieniami użytkowników ........................................................................... 290
Tworzenie kont użytkowników ........................................................................................ 290
Odbieranie uprawnień .................................................................................................... 295
Plik śladu serwera ......................................................................................................... 297
Pliki konfiguracyjne.............................................................................................................. 297
Ustawienia serwera ....................................................................................................... 297
Pierwotne pliki konfiguracyjne........................................................................................ 298
Pliki InnoDB ................................................................................................................... 301
Przeglądanie baz danych................................................................................................ 303
Kopie zapasowe .................................................................................................................. 303
Podsumowanie .................................................................................................................... 307
Rozdział 11. Projektowanie bazy danych.......................................................................................309
Rozpoznanie problemu ........................................................................................................ 309
Cechy dobrego projektu bazy danych................................................................................... 310
Przechowywanie wymaganych danych ............................................................................ 311
Tworzenie wymaganych relacji........................................................................................ 311
Rozwiązywanie problemów ............................................................................................. 311
Wymuszenie integralności danych ................................................................................. 312
Efektywny dostęp do danych.......................................................................................... 312
Rozszerzalność .............................................................................................................. 313
Etapy projektowania ............................................................................................................ 313
Zbieranie informacji ....................................................................................................... 313
Projekt logiczny .............................................................................................................. 314
Określanie relacji i liczebności....................................................................................... 319
Konwersja do modelu fizycznego......................................................................................... 324
Tworzenie kluczy głównych............................................................................................. 324
Tworzenie kluczy obcych ................................................................................................ 326
Zgłoś jeśli naruszono regulamin