E-book details

Projektowanie baz danych dla każdego. Przewodnik krok po kroku

Projektowanie baz danych dla każdego. Przewodnik krok po kroku

Michael J. Hernandez

Ebook

Praktyczny przewodnik dla projektantów baz danych!

Dzisiejszy świat opiera się na bazach danych. Są one sercem każdego przedsięwzięcia, począwszy od działalności banku, a na zakupach internetowych skończywszy. Ich projektowanie wymaga nie lada kunsztu, a drobny błąd może doprowadzić do nieoczekiwanych konsekwencji. Dlatego od projektantów baz danych wymaga się ogromnej wiedzy i dokładności, a doświadczenie w tej dziedzinie zdobywa się latami.

Dzięki tej książce będziesz w stanie zgłębić tajniki budowy baz danych, podane w przejrzysty, przystępny i rozsądny sposób. W trakcie lektury poznasz rodzaje baz, ich dostępne modele oraz cel ich projektowania. Kolejne rozdziały dotyczą procesu projektowania nowej bazy oraz analizowania baz istniejących. Ponadto dowiesz się z nich, jak istotne jest właściwe określenie kluczy i relacji oraz nałożenie więzów integralności. Szczególną uwagę powinieneś zwrócić na rozdział poświęcony najczęściej popełnianym błędom - jego dokładna lektura pozwoli Ci uniknąć wielu problemów. Książka ta jest obowiązkową lekturą dla wszystkich osób mających styczność z bazami danych w codziennej pracy.

Dzięki tej książce:

  • poznasz rodzaje baz danych
  • zorganizujesz proces projektowania bazy
  • nauczysz się analizować strukturę istniejącej bazy
  • unikniesz pułapek
  • poznasz tajniki baz danych

Wiedza dotycząca baz danych w pigułce!

O autorze (15)

Słowo wstępne (17)

  • Do wydania trzeciego (17)
    • Z wydania drugiego... (17)
    • Z wydania pierwszego... (18)

Przedmowa (19)

Podziękowania (21)

Wprowadzenie (23)

  • Co nowego w trzecim wydaniu (25)
  • Kto powinien przeczytać tę książkę (25)
  • Cel niniejszej książki (26)
  • Jak czytać tę książkę (27)
  • Organizacja książki (28)
    • Część I: Projektowanie relacyjnych baz danych (28)
    • Część II: Proces projektowania (28)
    • Część III: Inne problemy projektowania baz danych (29)
    • Część IV: Dodatki (29)
  • Słowo na temat przykładów i technik opisywanych w tej książce (30)
  • Nowe podejście do nauki (30)

CZĘŚĆ I. PROJEKTOWANIE RELACYJNYCH BAZ DANYCH (33)

Rozdział 1. Relacyjna baza danych (35)

  • Tematy omówione w tym rozdziale (35)
  • Rodzaje baz danych (36)
  • Wczesne modele baz danych (36)
    • Hierarchiczny model bazy danych (37)
    • Sieciowy model baz danych (39)
  • Model relacyjnych baz danych (41)
    • Pozyskiwanie danych (42)
    • Zalety relacyjnych baz danych (44)
  • Zarządzanie relacyjną bazą danych (45)
  • Poza modelem relacyjnym (46)
  • Co niesie przyszłość (47)
    • Ostatnia uwaga (48)
  • Podsumowanie (48)
  • Pytania kontrolne (49)

Rozdział 2. Cele projektowania (51)

  • Tematy omówione w tym rozdziale (51)
  • Dlaczego projektowanie baz danych powinno nas interesować? (51)
  • Znaczenie teorii (53)
  • Zalety poznania dobrej metodologii projektowania (54)
  • Cele dobrego projektowania (55)
  • Korzyści wynikające z dobrego projektowania (55)
  • Metody projektowania baz danych (56)
    • Tradycyjne metody projektowania (56)
    • Metoda projektowania zaprezentowana w tej książce (57)
  • Normalizacja (58)
  • Podsumowanie (60)
  • Pytania kontrolne (61)

Rozdział 3. Terminologia (63)

  • Tematy omówione w tym rozdziale (63)
  • Dlaczego terminologia jest ważna (64)
  • Pojęcia związane z wartością (64)
    • Dane (64)
    • Informacje (65)
    • Null (66)
    • Wartość znaczników null (67)
    • Problem ze znacznikami null (68)
  • Pojęcia związane ze strukturą (69)
    • Tabele (69)
    • Pole (71)
    • Rekord (72)
    • Widok (perspektywa) (73)
    • Klucze (74)
    • Indeks (76)
  • Pojęcia związane z zależnościami (76)
    • Zależności (76)
    • Typy zależności (77)
    • Rodzaje udziału (80)
    • Stopień udziału (81)
  • Pojęcia związane z integralnością (82)
    • Specyfikacja pola (82)
    • Integralność danych (82)
  • Podsumowanie (83)
  • Pytania kontrolne (84)

CZĘŚĆ II. PROCES PROJEKTOWANIA (87)

Rozdział 4. Przegląd koncepcyjny (89)

  • Tematy omówione w tym rozdziale (89)
  • Dlaczego ważna jest realizacja całego procesu projektowania (90)
  • Formułowanie definicji celu i założeń wstępnych (91)
  • Analiza istniejącej bazy danych (91)
  • Tworzenie struktur danych (92)
  • Określanie i ustalanie relacji w tabelach (93)
  • Określanie reguł biznesowych (93)
  • Definiowanie widoków (94)
  • Kontrola integralności danych (94)
  • Podsumowanie (95)
  • Pytania kontrolne (96)

Rozdział 5. Rozpoczęcie procesu projektowania (99)

  • Tematy omówione w tym rozdziale (99)
  • Przeprowadzanie wywiadów (100)
    • Wytyczne dotyczące rozmówców (101)
    • Wytyczne dotyczące osoby przeprowadzającej wywiad (102)
  • Formułowanie definicji celu (106)
    • Poprawnie sformułowana definicja celu (106)
    • Układanie definicji celu (107)
  • Formułowanie założeń wstępnych (109)
    • Poprawnie sformułowane założenia wstępne (109)
    • Układanie założeń wstępnych (111)
  • Podsumowanie (114)
  • Pytania kontrolne (114)

Rozdział 6. Analiza istniejącej bazy danych (117)

  • Tematy omówione w tym rozdziale (117)
  • Poznanie istniejącej bazy danych (118)
    • Papierowe bazy danych (120)
    • Spadkowe bazy danych (120)
  • Przeprowadzenie analizy (121)
    • Spojrzenie na sposób gromadzenia danych (121)
  • Spojrzenie na sposób prezentowania informacji (124)
  • Przeprowadzanie wywiadów (127)
    • Podstawowe techniki przeprowadzania wywiadów (127)
    • Zanim rozpoczniesz przeprowadzanie wywiadów... (132)
  • Wywiady z użytkownikami (132)
    • Przegląd typów danych i sposobów ich wykorzystania (132)
    • Przegląd próbek (134)
    • Przegląd wymagań informacyjnych (137)
  • Wywiady z kierownictwem (143)
    • Przegląd obecnych wymagań informacyjnych (143)
    • Przegląd dodatkowych wymagań informacyjnych (144)
    • Przegląd przyszłych wymagań informacyjnych (144)
    • Przegląd ogólnych wymagań informacyjnych (145)
  • Stworzenie kompletnej listy pól (145)
    • Wstępna lista pól (145)
    • Lista pól obliczeniowych (150)
    • Przegląd obu list wraz z pracownikami i kierownictwem (151)
  • Podsumowanie (155)
  • Pytania kontrolne (156)

Rozdział 7. Tworzenie struktur tabel (159)

  • Tematy omówione w tym rozdziale (159)
  • Definiowanie wstępnej listy tabel (160)
    • Identyfikacja domniemanych podmiotów (160)
    • Korzystanie z listy podmiotów (161)
    • Korzystanie z celów misji (165)
  • Definiowanie ostatecznej listy tabel (167)
    • Dostrajanie nazw tabel (168)
    • Wskazywanie typów tabel (172)
    • Redagowanie opisów tabel (172)
  • Powiązanie pól z każdą z tabel (177)
  • Dostrajanie pól (179)
    • Poprawianie nazw pól (179)
    • Korzystanie z idealnego pola do eliminowania anomalii (182)
    • Eliminacja pól wieloczęściowych (185)
    • Eliminacja pól wielowartościowych (186)
  • Dostrajanie struktur tabel (192)
    • Kilka słów o nadmiarowych danych i duplikatach pól (192)
    • Wykorzystanie warunków idealnej tabeli w celu dostrojenia struktur tabel (193)
    • Wyznaczanie tabel-podzbiorów (198)
  • Podsumowanie (208)
  • Pytania kontrolne (209)

Rozdział 8. Klucze (211)

  • Tematy omówione w tym rozdziale (211)
  • Dlaczego klucze są ważne (212)
  • Definiowanie kluczy dla tabel (212)
    • Klucze kandydujące (212)
    • Klucze główne (218)
    • Klucze zastępcze (222)
    • Pola niekluczowe (223)
  • Integralność na poziomie tabeli (223)
  • Przegląd wstępnych struktur tabel (224)
  • Podsumowanie (229)
  • Pytania kontrolne (230)

Rozdział 9. Specyfikacje pól (231)

  • Tematy omówione w tym rozdziale (231)
  • Dlaczego specyfikacje pól są ważne (232)
  • Integralność na poziomie pól (233)
  • Anatomia specyfikacji pól (233)
    • Elementy ogólne (234)
    • Elementy fizyczne (239)
    • Elementy logiczne (244)
  • Wykorzystywanie unikatowych, ogólnych i replikowanych specyfikacji pól (250)
  • Definiowanie specyfikacji pól dla każdego pola w bazie danych (255)
  • Podsumowanie (256)
  • Pytania kontrolne (259)

Rozdział 10. Relacje między tabelami (261)

  • Tematy omówione w tym rozdziale (261)
  • Dlaczego relacje są ważne (262)
  • Rodzaje relacji (263)
    • Relacja jeden-do-jednego (264)
    • Relacja jeden-do-wielu (265)
    • Relacja wiele-do-wielu (267)
    • Relacja zwrotna (273)
  • Identyfikowanie istniejących relacji (276)
  • Ustanawianie wszystkich relacji (284)
    • Relacje jeden-do-jednego i jeden-do-wielu (284)
    • Relacja wiele-do-wielu (290)
    • Relacje zwrotne (294)
    • Sprawdzanie struktury wszystkich tabel (298)
    • Dokładna analiza wszystkich kluczy obcych (299)
  • Ustanawianie charakterystyk relacji (304)
    • Definiowanie reguły usuwania dla każdej relacji (304)
    • Identyfikowanie rodzaju udziału każdej z tabel (308)
    • Identyfikowanie stopnia udziału każdej z tabel (310)
    • Weryfikowanie z użytkownikami i zarządem relacji istniejących między tabelami (312)
    • Uwaga końcowa (312)
  • Integralność na poziomie relacji (313)
  • Podsumowanie (317)
  • Pytania kontrolne (318)

Rozdział 11. Reguły biznesowe (321)

  • Tematy omówione w tym rozdziale (321)
  • Czym są reguły biznesowe? (321)
    • Rodzaje reguł biznesowych (324)
  • Kategorie reguł biznesowych (326)
    • Reguły biznesowe specyficzne dla pól (326)
    • Reguły biznesowe specyficzne dla relacji (327)
  • Definiowanie i ustanawianie reguł biznesowych (328)
    • Praca z użytkownikami oraz zarządem (328)
    • Definiowanie i ustanawianie reguł biznesowych specyficznych dla pola (329)
    • Definiowanie i ustanawianie reguł biznesowych specyficznych dla relacji (334)
  • Tabele walidacji (341)
    • Czym są tabele walidacji? (341)
    • Korzystanie z tabel walidacji w celu realizowania reguł biznesowych (342)
  • Sprawdzanie arkuszy specyfikacji reguł biznesowych (346)
  • Podsumowanie (352)
  • Pytania kontrolne (353)

Rozdział 12. Widoki (355)

  • Tematy omówione w tym rozdziale (355)
  • Czym są widoki? (355)
  • Anatomia widoku (357)
    • Widok danych (357)
    • Widok zagregowany (361)
    • Widok walidacji (364)
  • Określanie i definiowanie widoków (366)
    • Praca z użytkownikami i zarządem (366)
    • Identyfikowanie widoków (367)
    • Przeglądanie dokumentacji każdego widoku (373)
  • Podsumowanie (378)
  • Pytania kontrolne (380)

Rozdział 13. Sprawdzanie integralności danych (383)

  • Tematy omówione w tym rozdziale (383)
  • Dlaczego należy sprawdzać integralność danych? (384)
  • Sprawdzanie i korygowanie integralności danych (384)
    • Integralność na poziomie tabel (385)
    • Integralność na poziomie pól (385)
    • Integralność na poziomie relacji (385)
    • Reguły biznesowe (386)
    • Widoki (386)
  • Kompletowanie dokumentacji bazy danych (387)
  • W końcu zrobione! (388)
  • Podsumowanie (388)

CZĘŚĆ III. INNE PROBLEMY PROJEKTOWANIA BAZ DANYCH (389)

Rozdział 14. Czego nie należy robić? (391)

  • Tematy omówione w tym rozdziale (391)
  • Płaskie pliki (392)
  • Projekt na bazie arkusza kalkulacyjnego (393)
    • Rozwiązywanie problemów związanych z przyzwyczajeniami do widoku arkusza kalkulacyjnego (394)
  • Projekt bazy danych pod kątem konkretnego oprogramowania (396)
  • Wnioski końcowe (397)
  • Podsumowanie (397)

Rozdział 15. Naginanie bądź łamanie reguł (399)

  • Tematy omówione w tym rozdziale (399)
  • Kiedy można nagiąć lub złamać reguły? (399)
    • Projektowanie analitycznej bazy danych (399)
    • Poprawianie wydajności obliczeń (400)
  • Dokumentowanie działań (402)
  • Podsumowanie (403)

Na zakończenie (405)

DODATKI (407)

Dodatek A. Odpowiedzi na pytania kontrolne (409)

Dodatek B. Diagram procesu projektowania baz danych (427)

Dodatek C. Wytyczne projektowe (445)

  • Definiowanie i wprowadzanie reguł biznesu specyficznych dla pól (445)
  • Definiowanie i wprowadzanie reguł biznesu specyficznych dla relacji (445)
  • Warunki klucza kandydującego (446)
  • Warunki klucza obcego (446)
  • Warunki klucza głównego (446)
    • Reguły tworzenia kluczy głównych (447)
  • Warunki idealnego pola (447)
  • Warunki idealnej tabeli (447)
  • Integralność na poziomie pól (448)
  • Wytyczne tworzenia opisów pól (448)
  • Wytyczne tworzenia opisów tabel (448)
  • Wytyczne tworzenia nazw pól (449)
  • Wytyczne tworzenia nazw tabel (449)
  • Identyfikowanie relacji (450)
  • Identyfikacja wymagań dotyczących perspektyw (450)
  • Wytyczne dotyczące prowadzonych rozmów (451)
    • Wskazówki związane z uczestnikami (451)
    • Wskazówki dotyczące prowadzącego rozmowę (451)
  • Misje (451)
  • Cele misji (452)
  • Integralność na poziomie relacji (452)
  • Eliminowanie pól wielowartościowych (452)
  • Integralność na poziomie tabel (453)

Dodatek D. Formularze dokumentacyjne (455)

Dodatek E Symbole używane w diagramach stosowanych w procesie projektowania baz danych (459)

Dodatek F. Przykładowe projekty (461)

Dodatek G. O normalizacji (467)

  • Uwaga... (467)
  • Krótkie przypomnienie (468)
  • W jaki sposób normalizacja jest zintegrowana z moją metodologią projektowania? (471)
  • Projekt logiczny a projekt fizyczny i implementacja (473)

Dodatek H. Zalecana lektura (475)

Słowniczek (477)

Literatura (489)

Skorowidz (491)

  • Title: Projektowanie baz danych dla każdego. Przewodnik krok po kroku
  • Author: Michael J. Hernandez
  • Original title: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition)
  • Translation: Ireneusz Jakóbik, Radosław Meryk, Katarzyna Żarnowska
  • ISBN: 978-83-246-7996-6, 9788324679966
  • Date of issue: 2014-02-24
  • Format: Ebook
  • Item ID: projbd
  • Publisher: Helion