bazy danych i mysql. od podstaw full version.pdf

(5428 KB) Pobierz
1286618558.001.png
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
Spis tre/ci
7
Ustalanie typów danych ................................................................................................. 328
Doko*czenie definicji tabel ............................................................................................ 330
Sprawdzenie projektu .................................................................................................... 331
Postacie normalne .............................................................................................................. 332
Pierwsza posta9 normalna ............................................................................................. 332
Druga posta9 normalna ................................................................................................. 333
Trzecia posta9 normalna................................................................................................ 333
Czsto stosowane wzorce projektowe ................................................................................. 334
Relacje wiele-do-wielu .................................................................................................... 334
Hierarchia ...................................................................................................................... 335
Relacje rekurencyjne...................................................................................................... 335
Zasoby ................................................................................................................................ 337
Podsumowanie .................................................................................................................... 338
Rozdział 12. Dost*p do MySQL z programów napisanych w j*zykach C i C++ ................................339
U5ycie biblioteki libmysqlclient ............................................................................................ 340
Poł!czenie z baz! danych.................................................................................................... 341
Kontrola błdów .................................................................................................................. 346
Wykorzystanie pliku Makefile ......................................................................................... 346
Dalsze informacje .......................................................................................................... 347
Zarz!dzanie poł!czeniami do serwera ................................................................................. 348
Wykonywanie zapyta* SQL za pomoc! libmysqlclient .......................................................... 350
Transakcje........................................................................................................................... 355
Pobieranie danych zwracanych przez zapytania.............................................................. 356
Przegl!danie zbioru wynikowego.......................................................................................... 361
Operacje bez u5ycia kursorów ............................................................................................. 362
Podsumowanie funkcji API ............................................................................................. 363
Dostp do MySQL z programów napisanych w jzyku C++ .................................................. 365
Mysql++ .............................................................................................................................. 366
Instalacja Mysql++ ........................................................................................................ 366
Kompilowanie programów z u5yciem Mysql++ ............................................................... 367
Obiekty klasy Connection............................................................................................... 368
Wyj!tki ........................................................................................................................... 371
Zapytania....................................................................................................................... 371
Zbiory wynikowe............................................................................................................. 373
Obiekty Query ................................................................................................................ 377
Szablony zapyta* ........................................................................................................... 378
Zasoby ................................................................................................................................ 379
Podsumowanie .................................................................................................................... 379
Rozdział 13. Dost*p do MySQL z programów napisanych w j*zyku PHP..........................................381
Doł!czenie do PHP modułu wsparcia dla MySQL................................................................. 382
U5ywanie PHP API z MySQL ................................................................................................. 383
Poł!czenia z baz! danych .............................................................................................. 386
Operacje na zbiorze wynikowym ..................................................................................... 390
Obsługa błdów ............................................................................................................. 404
U5ywanie interfejsu Database Abstraction w PEAR ........................................................ 412
Podsumowanie .................................................................................................................... 419
Zgłoś jeśli naruszono regulamin