MySQL_mysqla.pdf

(499 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
MySQL
Autor: Leon Atkinson
T³umaczenie: Jaros³aw Dobrzañski, Tomasz ¯mijewski
ISBN: 83-7361-170-3
Tytu³ orygina³u:
Core MySQL
Format: B5, stron: 608
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Zaawansowani programi ci na ca³ym wiecie wybieraj¹ MySQL jako podstawê swoich
aplikacji opartych na WWW. Ksi¹¿ka, któr¹ trzymasz w rêku, dostarczy Ci wiedzy
i przyk³adowego kodu; elementów niezbêdnych do szybkiego pisania w³asnych
aplikacje, niezale¿nie od stopnia ich skomplikowania.
Ksi¹¿ka rozpoczyna siê od omówienia podstaw MySQL-a: zapytañ SQL, zasad
projektowania baz danych, normalizacji, transakcji i przetwarzania równoleg³ego.
Nastêpnie w usystematyzowany sposób opisuje szczegó³owe mo¿liwo ci MySQL
oraz przedstawia efektywne techniki dostêpu do baz MySQL-a z poziomu C, Javy,
PHP, Perla, Pythona i innych rodowisk programistycznych.
W ksi¹¿ce opisano miêdzy innymi:
• Instalacjê i korzystanie z MySQL-a -- wraz ze szczegó³owym opisem implementacji
SQL w MySQL-u
• Typy danych, zmienne, funkcje wbudowane i narzêdzia dostêpne z linii komend
API MySQL w jêzyku C
• Administracjê bazami MySQL, wykonywanie kopii zapasowych i usuwanie
skutków awarii
• Optymalizacjê i zabezpieczanie aplikacji
• Tworzenie rozproszonych baz danych
• Rozszerzanie funkcjonalno ci MySQL-a
• Tworzenie baz danych przeno nych na inne platformy
Dok³adnie przestudiowana i zalecana przez twórcê MySQL-a, Michaela Wideniusa,
ksi¹¿ka „MySQL” dostarcza profesjonalnym programistom tego, czego poszukiwali:
dog³êbnej, przemy lanej wiedzy, potrzebnej do tworzenia zaawansowanych aplikacji.
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Leon Atkinson
jest autorem ksi¹¿ki „PHP. Programowanie”. Jest te¿ inicjatorem projektu
FreeTrade: zestawu narzêdzi open source wykorzystuj¹cego MySQL i PHP. Atkinson
od 1997 roku u¿ywa MySQL w wielu aplikacjach sieciowych i e-commerce.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Spis treści
Wstęp............................................................................................................................................................11
Część I MySQL i model relacyjny
13
Rozdział 1. Wprowadzenie do MySQL ........................................................................................................15
Jak się korzysta z baz danych?....................................................................................... 16
Dlaczego bazy danych są lepsze niż pliki? ....................................................................... 23
Bazy danych nie są lekiem na całe zło ............................................................................ 25
Dlaczego MySQL? ......................................................................................................... 26
Historia MySQL............................................................................................................. 27
Rozdział 2. Instalacja MySQL .................................................................................................................... 29
Pobieranie plików instalacyjnych..................................................................................... 29
Linux RPM .................................................................................................................... 30
Windows ...................................................................................................................... 31
Kompilowanie kodu źródłowego...................................................................................... 33
Nadawanie uprawnień ................................................................................................... 33
Rozdział 3. Interakcja z MySQL ................................................................................................................ 35
Połączenie klient-serwer poprzez TCP/IP ......................................................................... 35
Narzędzia wiersza poleceń ............................................................................................. 36
Interfejsy graficzne ........................................................................................................ 38
ODBC........................................................................................................................... 39
Interfejsy WWW............................................................................................................. 40
Rozdział 4. Modele baz danych ..................................................................................................................41
Historia........................................................................................................................ 41
Terminologia................................................................................................................. 43
DBMS
system zarządzania bazą danych ..................................................................... 43
Bazy danych oparte na zwykłych plikach.......................................................................... 44
Hierarchiczne bazy danych ............................................................................................. 45
Sieciowe bazy danych.................................................................................................... 46
Relacyjne bazy danych................................................................................................... 47
Obiektowe bazy danych ................................................................................................. 48
Obiektowo-relacyjne bazy danych .................................................................................... 49
Rozdział 5. Model relacyjny.......................................................................................................................51
Algebra relacyjna .......................................................................................................... 51
Tabele, wiersze i kolumny.............................................................................................. 52
Klucze.......................................................................................................................... 53
Powiązania ................................................................................................................... 55
4
MySQL
Operacje relacyjne......................................................................................................... 56
Czy MySQL to prawdziwy system RDMBS? ...................................................................... 62
Rozdział 6. Język zapytań strukturalnych.............................................................................................. 63
SQL jako język czwartej generacji ................................................................................... 63
Definiowanie danych ..................................................................................................... 64
Wstawianie wierszy ....................................................................................................... 66
Aktualizacja wierszy....................................................................................................... 67
Usuwanie wierszy.......................................................................................................... 67
Zapytania ..................................................................................................................... 68
Złączenia ..................................................................................................................... 69
Porządkowanie.............................................................................................................. 71
Grupowanie .................................................................................................................. 71
Stosowanie ograniczeń.................................................................................................. 72
Zmiana formy tabeli ...................................................................................................... 73
Rozdział 7. Projektowanie bazy danych .................................................................................................. 75
Specyfikacja wymagań................................................................................................... 76
Specyfikacja projektowa ................................................................................................ 79
Tworzenie diagramów .................................................................................................... 81
Języki modelowania....................................................................................................... 83
Diagramy ER................................................................................................................. 84
Tworzenie diagramu ...................................................................................................... 85
Implementacja projektu ................................................................................................. 85
Testowanie................................................................................................................... 88
Planowanie rozwoju ....................................................................................................... 88
Rozdział 8. Normalizacja ............................................................................................................................91
Zasadność normalizacji ................................................................................................. 92
Pierwsza postać normalna ............................................................................................. 93
Druga postać normalna ................................................................................................. 94
Trzecia postać normalna................................................................................................ 96
Postać normalna Boyce-Codda ....................................................................................... 97
Czwarta postać normalna .............................................................................................. 98
Denormalizacja ............................................................................................................. 99
Rozdział 9. Transakcje i współbie ność ..................................................................................................101
Współbieżność ........................................................................................................... 102
Transakcje ................................................................................................................. 102
Blokowanie................................................................................................................. 106
Sekwencje.................................................................................................................. 107
Część II Encyklopedia MySQL
109
Rozdział 10. Typy danych, zmienne i wyra enia...................................................................................... 111
Typy danych................................................................................................................ 111
Zmienne..................................................................................................................... 114
Operatory ................................................................................................................... 116
Wyrażenia .................................................................................................................. 123
Nazwy ze spacjami ...................................................................................................... 124
Spis treści
5
Rozdział 11. Typy kolumn i indeksów .......................................................................................................125
Liczby ........................................................................................................................ 126
Łańcuchy.................................................................................................................... 128
Wartości opisujące czas .............................................................................................. 131
Aliasy typów kolumn.................................................................................................... 133
Indeksy ...................................................................................................................... 133
Rozdział 12. Funkcje wewnętrzne ...........................................................................................................135
Diagnostyka i konfiguracja ........................................................................................... 136
Sterowanie przebiegiem egzekucji ................................................................................ 138
Grupowanie ................................................................................................................ 142
Funkcje matematyczne ................................................................................................ 146
Łańcuchy.................................................................................................................... 154
Czas .......................................................................................................................... 169
Pozostałe funkcje........................................................................................................ 181
Procedury ................................................................................................................... 183
Rozdział 13. Instrukcje SQL ......................................................................................................................185
Komentarze................................................................................................................ 185
Alter Table.................................................................................................................. 186
Analyze Table ............................................................................................................. 190
Backup Table.............................................................................................................. 191
Begin [Work]............................................................................................................... 192
Change Master ........................................................................................................... 192
Check Table ............................................................................................................... 193
Commit ...................................................................................................................... 193
Create Database......................................................................................................... 194
Create Function .......................................................................................................... 194
Create Index............................................................................................................... 194
Create Table............................................................................................................... 195
Delete........................................................................................................................ 201
Describe .................................................................................................................... 202
Drop Database ........................................................................................................... 203
Drop Function ............................................................................................................. 204
Drop Index.................................................................................................................. 204
Drop Table ................................................................................................................. 204
Explain....................................................................................................................... 204
Flush ......................................................................................................................... 206
Grant ......................................................................................................................... 207
Insert......................................................................................................................... 209
Kill............................................................................................................................. 210
Lock Tables................................................................................................................ 210
Load Data Infile .......................................................................................................... 211
Load Table ................................................................................................................. 213
Optimize Table............................................................................................................ 214
Purge Master Logs...................................................................................................... 214
Rename Table ............................................................................................................ 214
Repair Table ............................................................................................................... 215
Replace ..................................................................................................................... 215
Reset Master ............................................................................................................. 216
Reset Slave................................................................................................................ 216
6
MySQL
Restore Table ............................................................................................................. 216
Revoke....................................................................................................................... 216
Rollback..................................................................................................................... 217
Select ........................................................................................................................ 217
Set ............................................................................................................................ 222
Set Transaction .......................................................................................................... 226
Show Columns............................................................................................................ 226
Show Create Table...................................................................................................... 227
Show Databases......................................................................................................... 228
Show Grants............................................................................................................... 228
Show Index................................................................................................................. 229
Show Logs ................................................................................................................. 229
Show Processlist ........................................................................................................ 230
Show Status............................................................................................................... 230
Show Table Status...................................................................................................... 232
Show Tables............................................................................................................... 233
Show Variables........................................................................................................... 233
Slave ......................................................................................................................... 237
Truncate .................................................................................................................... 237
Unlock Tables............................................................................................................. 237
Update....................................................................................................................... 238
Use ........................................................................................................................... 239
Rozdział 14. Narzędzia uruchamiane z wiersza poleceń.......................................................................241
Zmienne środowiskowe ............................................................................................... 241
Pliki opcji ................................................................................................................... 242
comp_err.................................................................................................................... 244
isamchk ..................................................................................................................... 244
make_binary_distribution............................................................................................. 244
msql2mysql................................................................................................................ 244
my_print_defaults ....................................................................................................... 245
myisamchk................................................................................................................. 246
myisamlog.................................................................................................................. 252
myisampack ............................................................................................................... 254
mysql......................................................................................................................... 256
mysql_install_db ......................................................................................................... 268
mysqlaccess .............................................................................................................. 268
mysqladmin................................................................................................................ 269
mysqlbinlog ................................................................................................................ 277
mysqlbug ................................................................................................................... 279
mysqlc ....................................................................................................................... 279
mysqld....................................................................................................................... 280
mysqld-max ................................................................................................................ 296
mysqld-nt ................................................................................................................... 296
mysqld-opt ................................................................................................................. 297
mysqld_multi .............................................................................................................. 297
mysqldump ................................................................................................................ 299
mysqldumpslow .......................................................................................................... 306
mysqlhotcopy ............................................................................................................. 308
mysqlimport ............................................................................................................... 311
mysqlshow ................................................................................................................. 315
Zgłoś jeśli naruszono regulamin