plikus.pl_bazy danych i mysql od podstaw.pdf

(361 KB) Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Bazy danych i MySQL.
SPIS TRECI
Od podstaw
KATALOG KSI¥¯EK
Autorzy: Richard Stones, Neil Matthew
T³umaczenie: Pawe³ Gonera
ISBN: 83-7197-728-X
Format: B5, stron: 560
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
MySQL zajmuje szczególn¹ pozycjê wród systemów obs³ugi relacyjnych baz danych.
Dziêki du¿ej wydajnoci, prostocie obs³ugi i dostêpnoci interfejsów programistycznych
dla wielu jêzyków programowania, osi¹gn¹³ ogromn¹ popularnoæ w zastosowaniach
internetowych. Jeli 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. Dowiadczeni programici 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
powiê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)
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
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
179771342.003.png 179771342.004.png 179771342.005.png 179771342.006.png 179771342.001.png 179771342.002.png
Spis treci
O Autorach ............................................................................................................................ 13
Wstp.................................................................................................................................... 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
Jzyki 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ó5nice pomidzy arkuszem i baz! danych ........................................................................... 38
Wybór kolumn .................................................................................................................. 39
Wybór typów danych dla kolumn ...................................................................................... 39
Jednoznaczne identyfikowanie wierszy............................................................................. 40
Kolejno89 wierszy ............................................................................................................ 41
Umieszczanie danych w bazie danych ................................................................................... 41
Dostp przez sie9 ............................................................................................................ 41
Danych cicie i gicie ...................................................................................................... 43
Podstawy projektowania baz danych z wykorzystaniem wielu tabel ....................................... 45
Relacje midzy 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 Bró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 narzdzia mysql.............................................................................................. 90
Proste wyra5enia SELECT ...................................................................................................... 93
Przesłanianie nazw kolumn.............................................................................................. 96
Ustalanie kolejno8ci wierszy ............................................................................................ 96
Eliminowanie duplikatów.................................................................................................. 98
Wykonywanie oblicze* ......................................................................................................... 101
Wybór wierszy...................................................................................................................... 102
Bardziej skomplikowane wyra5enia ................................................................................ 105
Dopasowanie wzorców................................................................................................... 107
Ograniczanie wyniku ...................................................................................................... 108
Porównanie ró5nych 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 wewntrzne ................................................................................................... 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 warto8ci NULL............................................................................................. 167
Polecenie LOAD DATA .................................................................................................... 169
Ładowanie danych za pomoc! mysqlimport ................................................................... 172
Bezpo8rednie ł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 zewntrzne .......................................................................................................... 199
Podzapytania ....................................................................................................................... 202
Typy podzapyta* ............................................................................................................ 203
Podzapytania skojarzone ............................................................................................... 205
Zastpowanie 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
Kolejno89 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 u5ytkownika........................................................................ 260
Obsługa transakcji dla wielu u5ytkownikó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 u5ytkowników ............................................................................................. 285
Konto administratora bazy danych — root..................................................................... 285
Zarz!dzanie uprawnieniami u5ytkowników ........................................................................... 290
Tworzenie kont u5ytkowników ........................................................................................ 290
Odbieranie uprawnie* .................................................................................................... 295
Plik 8ladu 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 integralno8ci danych ................................................................................. 312
Efektywny dostp do danych.......................................................................................... 312
Rozszerzalno89 .............................................................................................................. 313
Etapy projektowania ............................................................................................................ 313
Zbieranie informacji ....................................................................................................... 313
Projekt logiczny .............................................................................................................. 314
Okre8lanie relacji i liczebno8ci....................................................................................... 319
Konwersja do modelu fizycznego......................................................................................... 324
Tworzenie kluczy głównych............................................................................................. 324
Tworzenie kluczy obcych ................................................................................................ 326
Zgłoś jeśli naruszono regulamin