SQL
معرفی کتاب «SQL» نوشتهٔ Lynn Beighley، منتشرشده توسط نشر Helion / O’Reilly در سال 2011. این کتاب در فرمت pdf، زبان pl ارائه شده است. «SQL» در دستهٔ بدون دستهبندی قرار دارد.
Teraz i Ty możesz dołączyć do grona osób znających SQL. Wystarczy, że sięgniesz po nasz bestseller. Co w nim znajdziesz? Wszystko co najlepsze w serii Rusz głową! Konkretna wiedza, dużo humoru oraz wszystko wyjaśniające rysunki. Na sam początek dowiesz się co to jest język SQL oraz stworzysz swoją pierwszą bazę danych (polecenie CREATE). W kolejnych rozdziałach nauczysz się uzupełniać te bazy danymi, usuwać je oraz modyfikować (polecenia INSERT, UPDATE oraz DELETE). Jak już przebrniesz przez podstawy, zabierzesz się za to co bazodanowcy lubią najbardziej - indeksy, klucze, złączenia oraz podzapytania. Na sam koniec sprawdzisz jak zagwarantować swojej bazie bezpieczeństwo oraz wykrzesać z niej jeszcze więcej możliwości. Brzmi skomplikowanie? Nie martw się, jesteś w dobrych rękach! A więc... Naprzód, głowo! Nikt ci tego nie potrafił wytłumaczyć? Wydaje Ci się, że to problem nie na Twoją głowę? Nie potrzebujesz elektrowstrząsów, żeby pobudzić swój mózg do aktywnego działania. Tylko żadnych gwałtownych gestów! Usiądź wygodnie, otwórz książkę, dopiero teraz się zacznie. Na początek - rusz głową! Precz z nudnymi wykładami i zakuwaniem bez zrozumienia! Nauka to znacznie więcej niż tylko czytanie suchego tekstu. Twój mózg jest niczym głodny rekin, cały czas prący naprzód w poszukiwaniu nowej, apetycznej przekąski. Jak karmimy Twój wygłodniały umysł? Używamy rysunków, bo obraz wart jest 1024 słów. Stosujemy powtórzenia, by zakodować na stałe dane w Twojej chłonnej głowie. Oddziałujemy na emocje, jesteśmy nieprzewidywalni, zaskakujący i zabawni. Stawiamy przed Tobą wyzwania i zadajemy pytania, które angażują Cię w proces studiowania przedstawianych zagadnień. Cały czas pobudzamy Twój umysł do aktywnego działania, zmuszamy go do posłuszeństwa... a za ciężką pracę nagrodzimy go smakowitym ciasteczkiem w postaci wiedzy - wisienka gratis! Rozgryź to sam! Tworzenie bazy danych i tabel (CREATE) Pobieranie danych (SELECT) Usuwanie (DELETE) i aktualizowanie danych (UPDATE) Wykorzystywanie kluczy i indeksów Sortowanie danych Operacje na danych - sumy, średnie, elementy maksymalne i minimalne Pobieranie unikalnych danych Sposób pobierania określonej liczby wierszy Stosowanie podzapytań Zapewnianie spójności danych Ograniczanie dostępu do zgromadzonych danych Zapewnianie bezpieczeństwa bazie danych Spis treści......Page 9 Wprowadzenie......Page 25 Dla kogo jest ta książka?......Page 26 Wiemy, co sobie myślisz......Page 27 Metapoznanie: myślenie o myśleniu......Page 29 Oto co możesz zrobić, aby zmusić swój mózg do posłuszeństwa......Page 31 Przeczytaj to......Page 32 Nasi wspaniali recenzenci......Page 34 Podziękowania......Page 35 1. Na wszsytko znajdzie się odpowiednie miejsce......Page 37 Definiowanie danych......Page 38 Przeanalizuj swoje dane pod względem kategorii......Page 43 Co znajduje się w bazie danych?......Page 44 Twoja baza danych widziana przez rentgenowskie okulary.........Page 46 Bazy danych zawierają powiązane ze sobą informacje......Page 48 Tabele w zbliżeniu......Page 49 Przejmij kontrolę!......Page 53 Tworzenie tabeli: Polecenie CREATE TABLE......Page 55 Tworzenie bardziej złożonych tabel......Page 56 Przekonajmy się, jak łatwo można pisać kod SQL......Page 57 Utwórzmy w końcu tabelę moje_kontakty......Page 58 Twoja tabela jest gotowa......Page 59 Spotkajmy się z niektórymi typami danych SQL......Page 60 Twoja tabela bez tajemnic......Page 64 Do kosza ze starą tabelą — czas na nową......Page 68 Aby dodać dane do tabeli, będziesz musiał skorzystać z polecenia INSERT......Page 70 Utworzenie polecenia INSERT......Page 73 Wariacje na temat polecenia INSERT......Page 77 Kolumny bez wartości......Page 78 Zerknij na swoją tabelę, używając polecenia SELECT......Page 79 Kontrola wewnętrznych wartości NULL......Page 81 NOT NULL pojawia się w wynikach polecenia DESC......Page 83 Wypełnij pustkę słowem kluczowym DEFAULT......Page 84 Przybornik SQL......Page 86 2. Pobieranie podarowanych danych......Page 87 Pobierać dane czy nie pobierać?......Page 88 Lepsza postać polecenia SELECT......Page 91 Co oznacza gwiazdka (*)......Page 92 Jak poszukiwać wartości różnych typów?......Page 98 Kolejne problemy ze znakami przestankowymi......Page 99 Niedopasowane apostrofy......Page 100 Polecenia INSERT z danymi zawierającymi apostrofy......Page 102 Określanie kolumn w celu zwiększenia szybkości zapytania......Page 107 Łączenie zapytań......Page 114 Odnajdywanie wartości liczbowych......Page 117 Łagodne operatory porównania......Page 120 Odnajdywanie wartości liczbowych przy użyciu operatorów porównania......Page 122 Odnajdywanie danych tekstowych przy użyciu operatorów porównania......Page 125 Być ALBO nie być......Page 127 Różnica pomiędzy operatorem AND a OR......Page 130 By odszukać NULL, użyj operatora IS NULL......Page 133 Zew wieloznaczności......Page 135 Pobieranie zakresów przy użyciu operatora AND i operatorów porównania......Page 139 Lepszy sposób — operator BETWEEN......Page 140 Operator IN — w kręgu zainteresowania.........Page 143 ...lub poza nim — NOT IN......Page 144 Więcej o operatorze NOT......Page 145 Przybornik SQL......Page 150 3. Są szanse, że wszystko będzie w porządku......Page 153 Klowni są przerażający......Page 154 Śledzenie klownów......Page 155 Klowni są w ciągłym ruchu......Page 156 Jak są zapisywane informacje o klownach?......Page 160 Gonzo, mamy problem......Page 162 Jak pozbyć się rekordu — polecenie DELETE......Page 163 Stosowanie naszego nowego polecenia DELETE......Page 165 Reguły polecenia DELETE......Page 166 Dwa kroki — INSERT i DELETE......Page 169 Stosuj polecenie DELETE rozważnie......Page 174 Problemy z nieprecyzyjnymi poleceniami DELETE......Page 178 Modyfikowanie danych przy użyciu polecenia UPDATE......Page 180 Reguły stosowania polecenia UPDATE......Page 181 UPDATE odpowiada kombinacji INSERT-DELETE......Page 182 Polecenie UPDATE w akcji......Page 183 Aktualizacja miejsc wystąpień klownów......Page 184 Aktualizacja miejsc wystąpień klownów......Page 186 Zaktualizuj ceny drinków......Page 188 A chcemy tylko jednego polecenia UPDATE......Page 190 Przybornik SQL......Page 192 4. Po co byc normalnym?......Page 193 Dwie wędkarskie tabele......Page 194 Tabele dotyczą związków......Page 198 Dane atomowe......Page 202 Dane atomowe a Twoje tabele......Page 204 Reguły danych atomowych......Page 205 Dlaczego warto być normalnym?......Page 208 Zalety normalizacji tabel......Page 209 Klowni nie są normalni......Page 210 W połowie drogi do 1NF......Page 211 Reguły KLUCZA GŁÓWNEGO......Page 212 Dążenie do pierwszej postaci NORMALNEJ......Page 215 Poprawianie tabeli Grześka......Page 216 Oryginalna postać polecenia CREATE TABLE......Page 217 Pokażcie mi moją (kasę) tabelę......Page 218 Polecenie oszczędzające czas......Page 219 Tworzenie tabeli z KLUCZEM GŁÓWNYM......Page 220 1, 2, 3... automatycznie inkrementowane......Page 222 Dodawanie KLUCZA GŁÓWNEGO do istniejącej tabeli......Page 226 Modyfikacja tabeli i dodanie KLUCZA GŁÓWNEGO......Page 227 Przybornik SQL......Page 228 5. Korygowanie przeszłości......Page 231 Musimy wprowadzić kilka zmian......Page 232 Modyfikowanie tabel......Page 237 Ekstremalne metamorfozy tabel......Page 238 Zmiana nazwy tabeli......Page 239 Musimy poczynić pewne plany......Page 241 Przezbrajanie kolumn......Page 242 Zmiany strukturalne......Page 243 Polecenia ALTER i CHANGE......Page 244 Zmiana dwóch kolumn przy użyciu jednego polecenia SQL......Page 245 Szybko! Usuń tę kolumnę......Page 249 Dokładniejsza analiza nieatomowej kolumny lokalizacji......Page 256 Poszukaj wzorca......Page 257 Kilka wygodnych funkcji łańcuchowych......Page 258 Użyj bieżącej kolumny do zapisania wartości w innej kolumnie......Page 263 Sposób działania połączonych poleceń UPDATE i SET......Page 264 Przybornik SQL......Page 266 6. Nowy sposób spojrzenia na dane......Page 267 Reorganizacja Filmoteki Bazodanowa......Page 268 Kilka problemów z bieżącą tabelą......Page 269 Dopasowywanie istniejących danych......Page 270 Określanie zawartości nowej kolumny......Page 271 Polecenie UPDATE z wyrażeniem CASE......Page 274 Wygląda na to, że mamy problem......Page 276 Do tabel może się wkraść bałagan......Page 281 Potrzebujemy możliwości organizowania danych zwracanych przez polecenie SELECT......Page 282 Wypróbuj klauzulę ORDER BY......Page 285 Sortowanie według jednej kolumny......Page 286 Klauzula ORDER z dwoma kolumnami......Page 289 Klauzula ORDER operująca na wielu kolumnach......Page 290 Uporządkowana tabela filmów......Page 291 Zmiana kolejności dzięki użyciu DESC......Page 293 Problem najlepszej sprzedawczyni grupy Młode Gosposie......Page 295 Funkcja SUM zsumuje wszystko za nas......Page 297 Zsumuj wszystko za jednym razem dzięki użyciu GROUP BY......Page 298 Funkcja AVG z klauzulą GROUP BY......Page 299 Funkcje MIN i MAX......Page 300 Liczymy dni......Page 301 Pobieranie unikalnych wartości......Page 303 LIMIT-owanie ilości wyników......Page 306 Ograniczenie tylko do drugiego miejsca......Page 307 Przybornik SQL......Page 310 7. Wyrastamy z naszych starych tabel......Page 311 Szukamy partnerki na randkę dla Wieśka......Page 312 Wszystko stracone... ale zaraz......Page 323 Wyobraź sobie dodatkową tabelę......Page 324 Nowe tabele w bazie danych z informacjami o klownach......Page 325 Schemat bazy danych klowni_informacje......Page 326 W jaki sposób z jednej tabeli zrobić dwie......Page 328 Łączenie tabel......Page 330 Ograniczanie klucza obcego......Page 335 Dlaczego należy zawracać sobie głowę kluczami obcymi?......Page 336 TWORZENIE tabeli z KLUCZEM OBCYM......Page 337 Wzorce danych: jeden-do-jednego......Page 339 Wzorce danych: kiedy używać tabel połączonych zależnością jeden-do-jednego......Page 340 Wzorce danych: jeden-do-wielu......Page 341 Wzorce danych: dochodzimy do zależności wiele-do-wielu......Page 342 Wzorce danych: potrzebujemy tabeli łączącej......Page 345 Wzorce danych: wiele-do-wielu......Page 346 W końcu w 1NF......Page 351 Klucz złożony korzysta z wielu kolumn......Page 352 Zapis uproszczony......Page 354 Częściowa zależność funkcjonalna......Page 355 Przechodnia zależność funkcjonalna......Page 356 Druga postać normalna......Page 360 Trzecia postać normalna (w końcu)......Page 366 I tak oto Robert i lista_grzesia żyli od tej pory długo i szczęśliwie......Page 369 Przybornik SQL......Page 372 8. Czy nie możemy się wszyscy dogadać?......Page 373 Powtarzamy się, cały czas się powtarzamy.........Page 374 Wypełnianie tabel......Page 375 Zainteresowania — kłopotliwa kolumna......Page 378 Wciąż wykazujemy zainteresowanie......Page 379 Aktualizacja wszystkich zainteresowań......Page 380 Pobieranie wszystkich zainteresowań......Page 381 CREATE, SELECT oraz INSERT — (prawie) jednocześnie......Page 382 CREATE, SELECT i INSERT — jednocześnie......Page 383 O co chodzi z tym AS?......Page 384 Nazwy zastępcze kolumn......Page 385 Nazwy zastępcze, a kto by ich potrzebował?......Page 386 Wszystko co chciałbyś wiedzieć o złączeniach wewnętrznych......Page 387 Złączenie kartezjańskie......Page 388 Zrozumienie złączeń wewnętrznych......Page 393 Złączenie wewnętrzne w akcji: złączenie równościowe......Page 394 Złączenie wewnętrzne w akcji: złączenie różnościowe......Page 397 Ostatni rodzaj złączeń wewnętrznych: złączenia naturalne......Page 398 Złączone zapytania?......Page 405 Nazwy zastępcze tabel i kolumn bez tajemnic: Dlaczego się ukrywacie?......Page 406 Przybornik SQL......Page 408 9. Zapytania w zapytaniach......Page 409 Grzesiek wchodzi na rynek pracy......Page 410 Baza Grześka wzbogacona o nowe tabele......Page 411 Grzesiek używa złączenia wewnętrznego......Page 412 Ale Grzesiek chce użyć innych zapytań......Page 414 Podzapytania......Page 416 Łączymy dwa zapytania w zapytanie z podzapytaniem......Page 417 Jakby jedno pytanie nie wystarczało: poznajcie podzapytanie......Page 418 Podzapytanie w działaniu......Page 419 Podzapytania i ich reguły......Page 422 Podstawowe informacje o tworzeniu podzapytań......Page 424 Podzapytanie jako kolumna polecenia SELECT......Page 427 Inny przykład: Podzapytanie ze złączeniem naturalnym......Page 428 Podzapytania nieskorelowane......Page 429 Nieskorelowane podzapytania zwracające wiele wartości: IN oraz NOT IN......Page 433 Podzapytania skorelowane......Page 438 (Przydatne) Podzapytanie skorelowane używające operatora NOT EXISTS......Page 439 EXISTS i NOT EXISTS......Page 440 Usługi pośrednictwa pracy Grześka — zaproszenie do współpracy!......Page 442 W drodze na imprezę.........Page 443 Przybornik SQL......Page 444 10. Nowe manewry......Page 447 Porządki w starych danych......Page 448 Kluczem są dwie strony złączenia — lewa i prawa......Page 449 Oto lewostronne złączenie zewnętrzne......Page 450 Złączenia zewnętrzne i wielokrotne dopasowania......Page 455 Prawostronne złączenie zewnętrzne......Page 456 Podczas gdy my radośnie złączaliśmy zewnętrznie.........Page 459 Moglibyśmy utworzyć nową tabelę......Page 460 Gdzie w schemacie umieścimy nową tabelę?......Page 461 Klucz obcy odwołujący się do tej samej tabeli......Page 462 Łączenie tabeli z nią samą......Page 463 Potrzebujemy złączenia zwrotnego......Page 465 Inny sposób zwracania informacji z wielu tabel......Page 466 Można zastosować polecenie UNION......Page 467 Polecenie UNION ma swoje ograniczenia......Page 468 Reguły stosowania poleceń UNION w działaniu......Page 469 UNION ALL......Page 470 Utworzenie tabeli na podstawie wyników polecenia UNION......Page 471 Polecenia INTERSECT i EXCEPT......Page 472 Skończyliśmy ze złączeniami, czas zająć się czymś nowym......Page 473 Zamiana podzapytania na złączenie......Page 474 Złączenie zwrotne jako podzapytanie......Page 479 Firma Grześka rozwija się......Page 480 Przybornik SQL......Page 482 11. Zbyt wielu kucharzy psuje bazę danych......Page 483 Grzesiek zatrudnił pomocników......Page 484 Pierwszy dzień Kuby: Dopisywanie nowego klienta......Page 485 Kuba unika wartości NULL......Page 486 Trzy miesiące później......Page 487 Uwaga, KONTROLA: dodawanie OGRANICZEŃ SPRAWDZAJĄCYCH......Page 488 Sprawdzanie płci......Page 489 Praca Franka staje się nużąca......Page 491 Tworzenie widoku......Page 493 Oglądanie własnych widoków......Page 494 Jak właściwie działa widok?......Page 495 Czym są widoki......Page 496 Wstawianie, aktualizacja i usuwanie danych przy wykorzystaniu widoków......Page 499 Sekret polega na tym, by udawać, że widok jest prawdziwą tabelą......Page 500 Widoki z klauzulą CHECK OPTION......Page 503 Twój widok może pozwalać na aktualizację danych, jeśli.........Page 504 Kiedy widok przestanie być potrzebny......Page 505 Kiedy dobrej bazie przydarzy się coś złego......Page 506 Co się stało w bankomacie......Page 507 Kolejne kłopoty z bankomatami......Page 508 To nie marzenia, to transakcje......Page 510 Klasyczny test ACID......Page 511 SQL pomaga nam zarządzać swoimi transakcjami......Page 512 Co powinno się stać w bankomacie......Page 513 Jak umożliwić korzystanie z transakcji w MySQL-u......Page 514 Wypróbuj transakcje samodzielnie......Page 515 Przybornik SQL......Page 518 12. Zabezpieczenie swych dóbr......Page 521 Problemy użytkowników......Page 522 Zapobieganie błędom w bazie klownów......Page 523 Zabezpieczanie konta administratora......Page 525 Dodanie nowego użytkownika......Page 526 Dokładnie określ, czego poszczególni użytkownicy potrzebują......Page 527 Prosta postać polecenia GRANT......Page 528 Różne wersje polecenia GRANT......Page 531 Usuwanie uprawnień......Page 532 Usuwanie uprawnień przydzielonych dzięki GRANT OPTION......Page 533 Precyzyjne usuwanie......Page 534 Współużytkowane konta przysparzają problemów......Page 538 Usuwanie roli......Page 540 Stosowanie roli z klauzulą WITH ADMIN OPTION......Page 542 Łączenie poleceń CREATE USER i GRANT......Page 547 Lista Grześka stała się usługą globalną!......Page 548 Korzystaj z SQL-a w swoich własnych projektach, bo także Ty możesz odnieść taki sukces jak Grzesiek.......Page 549 Przybornik SQL......Page 550 A. Dziesięć najważniejszych zagadnień (których nie opisaliśmy wcześniej)......Page 551 Nr 1. Znajdź i zainstaluj graficzny program do obsługi używanego systemu zarządzania bazami danych......Page 552 Nr 2. Słowa zastrzeżone i znaki specjalne......Page 554 Nr 3. ALL, ANY oraz SOME......Page 556 Nr 4. Dodatkowe informacje o typach danych......Page 558 Nr 5. Tabele tymczasowe......Page 560 Nr 6. Rzutowanie typów......Page 561 Nr 7. Kim jesteś? Która jest godzina?......Page 562 Nr 8. Przydatne funkcje matematyczne......Page 563 Nr 9. Indeksowanie dla poprawy szybkości działania zapytań......Page 565 Nr 10. Dwuminutowy kurs PHP i MySQL-a......Page 566 B. Spróbuj to zrobić sam......Page 569 Instrukcje i rozwiązywanie problemów......Page 570 Proces instalacji MySQL-a w systemie Windows......Page 571 C. Wszystkie nowe narzędzia SQL......Page 575 Symbole......Page 576 Skorowidz......Page 583
دانلود کتاب SQL