Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere...
Transcript of Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere...
Tytuł oryginału Database Design for Mere Mortals A Hands-On Guide to Relational Database Design (3rd Edition)
Tłumaczenie Katarzyna Żarnowska (wstęp rozdz 1 ndash 6 8 9) Radosław Meryk (rozdz 7 13 ndash 15 dodatki) Ireneusz Jakoacutebik (rozdz 10 ndash 12)
ISBN 978-83-246-7995-9
Authorized translation from the English language edition entitled DATABASE DESIGN FOR MERE MORTALS A HANDS-ON GUIDE TO RELATIONAL DATABASE DESIGN Third Edition ISBN 0321884493 by Michael J Hernandez published by Pearson Education Inc publishing as Addison WesleyCopyright copy 2013 Michael J Hernandez
All rights reserved No part of this book may by reproduced or transmitted in any form or by any means electronic or mechanical including photocopying recording or by any information storage retrieval system without permission from Pearson Education Inc
Polish language edition published by HELION SA Copyright copy 2014
Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione Wykonywanie kopii metodą kserograficzną fotograficzną a także kopiowanie książki na nośniku filmowym magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli
Wydawnictwo HELION dołożyło wszelkich starań by zawarte w tej książce informacje były kompletne i rzetelne Nie bierze jednak żadnej odpowiedzialności ani za ich wykorzystanie ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich Wydawnictwo HELION nie ponosi roacutewnież żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock Images LLCWydawnictwo HELIONul Kościuszki 1c 44-100 GLIWICEtel 32 231 22 19 32 230 98 63e-mail helionhelionplWWW httphelionpl (księgarnia internetowa katalog książek)
Drogi CzytelnikuJeżeli chcesz ocenić tę książkę zajrzyj pod adres httphelionpluseropinieprojbdMożesz tam wpisać swoje uwagi spostrzeżenia recenzję
Printed in Poland
bull Kup książkębull Poleć książkę bull Oceń książkę
bull Księgarnia internetowabull Lubię to raquo Nasza społeczność
Spis tre ci
O autorze 15
S owo wst pne 17Do wydania trzeciego 17
Z wydania drugiego 17Z wydania pierwszego 18
Przedmowa 19
Podzi kowania 21
Wprowadzenie 23Co nowego w trzecim wydaniu 25Kto powinien przeczytać tę książkę 25Cel niniejszej książki 26Jak czytać tę książkę 27Organizacja książki 28
Część I Projektowanie relacyjnych baz danych 28Część II Proces projektowania 28Część III Inne problemy projektowania baz danych 29Część IV Dodatki 29
Słowo na temat przykładoacutew i technik opisywanych w tej książce 30Nowe podejście do nauki 30
Cz I Projektowanie relacyjnych baz danych 33Rozdzia 1 Relacyjna baza danych 35
Tematy omoacutewione w tym rozdziale 35Rodzaje baz danych 36Wczesne modele baz danych 36
Hierarchiczny model bazy danych 37Sieciowy model baz danych 39
Kup książkę Poleć książkę
6 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Model relacyjnych baz danych 41Pozyskiwanie danych 42Zalety relacyjnych baz danych 44
Zarządzanie relacyjną bazą danych 45Poza modelem relacyjnym 46Co niesie przyszłość 47
Ostatnia uwaga 48Podsumowanie 48Pytania kontrolne 49
Rozdzia 2 Cele projektowania 51Tematy omoacutewione w tym rozdziale 51Dlaczego projektowanie baz danych powinno nas interesować 51Znaczenie teorii 53Zalety poznania dobrej metodologii projektowania 54Cele dobrego projektowania 55Korzyści wynikające z dobrego projektowania 55Metody projektowania baz danych 56
Tradycyjne metody projektowania 56Metoda projektowania zaprezentowana w tej książce 57
Normalizacja 58Podsumowanie 60Pytania kontrolne 61
Rozdzia 3 Terminologia 63Tematy omoacutewione w tym rozdziale 63Dlaczego terminologia jest ważna 64Pojęcia związane z wartością 64
Dane 64Informacje 65Null 66Wartość znacznikoacutew null 67Problem ze znacznikami null 68
Pojęcia związane ze strukturą 69Tabele 69Pole 71Rekord 72Widok (perspektywa) 73Klucze 74Indeks 76
Kup książkę Poleć książkę
Spis tre ci 7
Pojęcia związane z zależnościami 76Zależności 76Typy zależności 77Rodzaje udziału 80Stopień udziału 81
Pojęcia związane z integralnością 82Specyfikacja pola 82Integralność danych 82
Podsumowanie 83Pytania kontrolne 84
Cz II Proces projektowania 87Rozdzia 4 Przegl d koncepcyjny 89
Tematy omoacutewione w tym rozdziale 89Dlaczego ważna jest realizacja całego procesu projektowania 90Formułowanie definicji celu i założeń wstępnych 91Analiza istniejącej bazy danych 91Tworzenie struktur danych 92Określanie i ustalanie relacji w tabelach 93Określanie reguł biznesowych 93Definiowanie widokoacutew 94Kontrola integralności danych 94Podsumowanie 95Pytania kontrolne 96
Rozdzia 5 Rozpocz cie procesu projektowania 99Tematy omoacutewione w tym rozdziale 99Przeprowadzanie wywiadoacutew 100
Wytyczne dotyczące rozmoacutewcoacutew 101Wytyczne dotyczące osoby przeprowadzającej wywiad 102
Formułowanie definicji celu 106Poprawnie sformułowana definicja celu 106Układanie definicji celu 107
Formułowanie założeń wstępnych 109Poprawnie sformułowane założenia wstępne 109Układanie założeń wstępnych 111
Podsumowanie 114Pytania kontrolne 114
Kup książkę Poleć książkę
8 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 6 Analiza istniej cej bazy danych 117Tematy omoacutewione w tym rozdziale 117Poznanie istniejącej bazy danych 118
Papierowe bazy danych 120Spadkowe bazy danych 120
Przeprowadzenie analizy 121Spojrzenie na sposoacuteb gromadzenia danych 121
Spojrzenie na sposoacuteb prezentowania informacji 124Przeprowadzanie wywiadoacutew 127
Podstawowe techniki przeprowadzania wywiadoacutew 127Zanim rozpoczniesz przeprowadzanie wywiadoacutew 132
Wywiady z użytkownikami 132Przegląd typoacutew danych i sposoboacutew ich wykorzystania 132Przegląd proacutebek 134Przegląd wymagań informacyjnych 137
Wywiady z kierownictwem 143Przegląd obecnych wymagań informacyjnych 143Przegląd dodatkowych wymagań informacyjnych 144Przegląd przyszłych wymagań informacyjnych 144Przegląd ogoacutelnych wymagań informacyjnych 145
Stworzenie kompletnej listy poacutel 145Wstępna lista poacutel 145Lista poacutel obliczeniowych 150Przegląd obu list wraz z pracownikami i kierownictwem 151
Podsumowanie 155Pytania kontrolne 156
Rozdzia 7 Tworzenie struktur tabel 159Tematy omoacutewione w tym rozdziale 159Definiowanie wstępnej listy tabel 160
Identyfikacja domniemanych podmiotoacutew 160Korzystanie z listy podmiotoacutew 161Korzystanie z celoacutew misji 165
Definiowanie ostatecznej listy tabel 167Dostrajanie nazw tabel 168Wskazywanie typoacutew tabel 172Redagowanie opisoacutew tabel 172
Powiązanie poacutel z każdą z tabel 177
Kup książkę Poleć książkę
Spis tre ci 9
Dostrajanie poacutel 179Poprawianie nazw poacutel 179Korzystanie z idealnego pola do eliminowania anomalii 182Eliminacja poacutel wieloczęściowych 185Eliminacja poacutel wielowartościowych 186
Dostrajanie struktur tabel 192Kilka słoacutew o nadmiarowych danych i duplikatach poacutel 192Wykorzystanie warunkoacutew idealnej tabeli
w celu dostrojenia struktur tabel 193Wyznaczanie tabel-podzbioroacutew 198
Podsumowanie 208Pytania kontrolne 209
Rozdzia 8 Klucze 211Tematy omoacutewione w tym rozdziale 211Dlaczego klucze są ważne 212Definiowanie kluczy dla tabel 212
Klucze kandydujące 212Klucze głoacutewne 218Klucze zastępcze 222Pola niekluczowe 223
Integralność na poziomie tabeli 223Przegląd wstępnych struktur tabel 224Podsumowanie 229Pytania kontrolne 230
Rozdzia 9 Specyfikacje poacutel 231Tematy omoacutewione w tym rozdziale 231Dlaczego specyfikacje poacutel są ważne 232Integralność na poziomie poacutel 233Anatomia specyfikacji poacutel 233
Elementy ogoacutelne 234Elementy fizyczne 239Elementy logiczne 244
Wykorzystywanie unikatowych ogoacutelnych i replikowanych specyfikacji poacutel 250Definiowanie specyfikacji poacutel dla każdego pola w bazie danych 255Podsumowanie 256Pytania kontrolne 259
Kup książkę Poleć książkę
10 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 10 Relacje mi dzy tabelami 261Tematy omoacutewione w tym rozdziale 261Dlaczego relacje są ważne 262Rodzaje relacji 263
Relacja jeden-do-jednego 264Relacja jeden-do-wielu 265Relacja wiele-do-wielu 267Relacja zwrotna 273
Identyfikowanie istniejących relacji 276Ustanawianie wszystkich relacji 284
Relacje jeden-do-jednego i jeden-do-wielu 284Relacja wiele-do-wielu 290Relacje zwrotne 294Sprawdzanie struktury wszystkich tabel 298Dokładna analiza wszystkich kluczy obcych 299
Ustanawianie charakterystyk relacji 304Definiowanie reguły usuwania dla każdej relacji 304Identyfikowanie rodzaju udziału każdej z tabel 308Identyfikowanie stopnia udziału każdej z tabel 310Weryfikowanie z użytkownikami i zarządem
relacji istniejących między tabelami 312Uwaga końcowa 312
Integralność na poziomie relacji 313Podsumowanie 317Pytania kontrolne 318
Rozdzia 11 Regu y biznesowe 321Tematy omoacutewione w tym rozdziale 321Czym są reguły biznesowe 321
Rodzaje reguł biznesowych 324Kategorie reguł biznesowych 326
Reguły biznesowe specyficzne dla poacutel 326Reguły biznesowe specyficzne dla relacji 327
Definiowanie i ustanawianie reguł biznesowych 328Praca z użytkownikami oraz zarządem 328Definiowanie i ustanawianie reguł biznesowych
specyficznych dla pola 329Definiowanie i ustanawianie reguł biznesowych
specyficznych dla relacji 334
Kup książkę Poleć książkę
Spis tre ci 11
Tabele walidacji 341Czym są tabele walidacji 341Korzystanie z tabel walidacji w celu realizowania reguł biznesowych 342
Sprawdzanie arkuszy specyfikacji reguł biznesowych 346Podsumowanie 352Pytania kontrolne 353
Rozdzia 12 Widoki 355Tematy omoacutewione w tym rozdziale 355Czym są widoki 355Anatomia widoku 357
Widok danych 357Widok zagregowany 361Widok walidacji 364
Określanie i definiowanie widokoacutew 366Praca z użytkownikami i zarządem 366Identyfikowanie widokoacutew 367Przeglądanie dokumentacji każdego widoku 373
Podsumowanie 378Pytania kontrolne 380
Rozdzia 13 Sprawdzanie integralno ci danych 383Tematy omoacutewione w tym rozdziale 383Dlaczego należy sprawdzać integralność danych 384Sprawdzanie i korygowanie integralności danych 384
Integralność na poziomie tabel 385Integralność na poziomie poacutel 385Integralność na poziomie relacji 385Reguły biznesowe 386Widoki 386
Kompletowanie dokumentacji bazy danych 387W końcu zrobione 388Podsumowanie 388
Cz III Inne problemyprojektowania baz danych 389
Rozdzia 14 Czego nie nale y robi 391Tematy omoacutewione w tym rozdziale 391Płaskie pliki 392
Kup książkę Poleć książkę
12 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Projekt na bazie arkusza kalkulacyjnego 393Rozwiązywanie problemoacutew związanych
z przyzwyczajeniami do widoku arkusza kalkulacyjnego 394Projekt bazy danych pod kątem konkretnego oprogramowania 396Wnioski końcowe 397Podsumowanie 397
Rozdzia 15 Naginanie b d amanie regu 399Tematy omoacutewione w tym rozdziale 399Kiedy można nagiąć lub złamać reguły 399
Projektowanie analitycznej bazy danych 399Poprawianie wydajności obliczeń 400
Dokumentowanie działań 402Podsumowanie 403
Na zako czenie 405
Dodatki 407Dodatek A Odpowiedzi na pytania kontrolne 409
Dodatek B Diagram procesu projektowania baz danych 427
Dodatek C Wytyczne projektowe 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla poacutel 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla relacji 445Warunki klucza kandydującego 446Warunki klucza obcego 446Warunki klucza głoacutewnego 446
Reguły tworzenia kluczy głoacutewnych 447Warunki idealnego pola 447Warunki idealnej tabeli 447Integralność na poziomie poacutel 448Wytyczne tworzenia opisoacutew poacutel 448Wytyczne tworzenia opisoacutew tabel 448Wytyczne tworzenia nazw poacutel 449Wytyczne tworzenia nazw tabel 449Identyfikowanie relacji 450Identyfikacja wymagań dotyczących perspektyw 450Wytyczne dotyczące prowadzonych rozmoacutew 451
Wskazoacutewki związane z uczestnikami 451Wskazoacutewki dotyczące prowadzącego rozmowę 451
Kup książkę Poleć książkę
Spis tre ci 13
Misje 451Cele misji 452Integralność na poziomie relacji 452Eliminowanie poacutel wielowartościowych 452Integralność na poziomie tabel 453
Dodatek D Formularze dokumentacyjne 455
Dodatek E Symbole u ywane w diagramach stosowanychw procesie projektowania baz danych 459
Dodatek F Przyk adowe projekty 461
Dodatek G O normalizacji 467Uwaga 467Kroacutetkie przypomnienie 468W jaki sposoacuteb normalizacja jest zintegrowana z moją metodologią
projektowania 471Projekt logiczny a projekt fizyczny i implementacja 473
Dodatek H Zalecana lektura 475
S owniczek 477
Literatura 489
Skorowidz 491
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Spis tre ci
O autorze 15
S owo wst pne 17Do wydania trzeciego 17
Z wydania drugiego 17Z wydania pierwszego 18
Przedmowa 19
Podzi kowania 21
Wprowadzenie 23Co nowego w trzecim wydaniu 25Kto powinien przeczytać tę książkę 25Cel niniejszej książki 26Jak czytać tę książkę 27Organizacja książki 28
Część I Projektowanie relacyjnych baz danych 28Część II Proces projektowania 28Część III Inne problemy projektowania baz danych 29Część IV Dodatki 29
Słowo na temat przykładoacutew i technik opisywanych w tej książce 30Nowe podejście do nauki 30
Cz I Projektowanie relacyjnych baz danych 33Rozdzia 1 Relacyjna baza danych 35
Tematy omoacutewione w tym rozdziale 35Rodzaje baz danych 36Wczesne modele baz danych 36
Hierarchiczny model bazy danych 37Sieciowy model baz danych 39
Kup książkę Poleć książkę
6 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Model relacyjnych baz danych 41Pozyskiwanie danych 42Zalety relacyjnych baz danych 44
Zarządzanie relacyjną bazą danych 45Poza modelem relacyjnym 46Co niesie przyszłość 47
Ostatnia uwaga 48Podsumowanie 48Pytania kontrolne 49
Rozdzia 2 Cele projektowania 51Tematy omoacutewione w tym rozdziale 51Dlaczego projektowanie baz danych powinno nas interesować 51Znaczenie teorii 53Zalety poznania dobrej metodologii projektowania 54Cele dobrego projektowania 55Korzyści wynikające z dobrego projektowania 55Metody projektowania baz danych 56
Tradycyjne metody projektowania 56Metoda projektowania zaprezentowana w tej książce 57
Normalizacja 58Podsumowanie 60Pytania kontrolne 61
Rozdzia 3 Terminologia 63Tematy omoacutewione w tym rozdziale 63Dlaczego terminologia jest ważna 64Pojęcia związane z wartością 64
Dane 64Informacje 65Null 66Wartość znacznikoacutew null 67Problem ze znacznikami null 68
Pojęcia związane ze strukturą 69Tabele 69Pole 71Rekord 72Widok (perspektywa) 73Klucze 74Indeks 76
Kup książkę Poleć książkę
Spis tre ci 7
Pojęcia związane z zależnościami 76Zależności 76Typy zależności 77Rodzaje udziału 80Stopień udziału 81
Pojęcia związane z integralnością 82Specyfikacja pola 82Integralność danych 82
Podsumowanie 83Pytania kontrolne 84
Cz II Proces projektowania 87Rozdzia 4 Przegl d koncepcyjny 89
Tematy omoacutewione w tym rozdziale 89Dlaczego ważna jest realizacja całego procesu projektowania 90Formułowanie definicji celu i założeń wstępnych 91Analiza istniejącej bazy danych 91Tworzenie struktur danych 92Określanie i ustalanie relacji w tabelach 93Określanie reguł biznesowych 93Definiowanie widokoacutew 94Kontrola integralności danych 94Podsumowanie 95Pytania kontrolne 96
Rozdzia 5 Rozpocz cie procesu projektowania 99Tematy omoacutewione w tym rozdziale 99Przeprowadzanie wywiadoacutew 100
Wytyczne dotyczące rozmoacutewcoacutew 101Wytyczne dotyczące osoby przeprowadzającej wywiad 102
Formułowanie definicji celu 106Poprawnie sformułowana definicja celu 106Układanie definicji celu 107
Formułowanie założeń wstępnych 109Poprawnie sformułowane założenia wstępne 109Układanie założeń wstępnych 111
Podsumowanie 114Pytania kontrolne 114
Kup książkę Poleć książkę
8 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 6 Analiza istniej cej bazy danych 117Tematy omoacutewione w tym rozdziale 117Poznanie istniejącej bazy danych 118
Papierowe bazy danych 120Spadkowe bazy danych 120
Przeprowadzenie analizy 121Spojrzenie na sposoacuteb gromadzenia danych 121
Spojrzenie na sposoacuteb prezentowania informacji 124Przeprowadzanie wywiadoacutew 127
Podstawowe techniki przeprowadzania wywiadoacutew 127Zanim rozpoczniesz przeprowadzanie wywiadoacutew 132
Wywiady z użytkownikami 132Przegląd typoacutew danych i sposoboacutew ich wykorzystania 132Przegląd proacutebek 134Przegląd wymagań informacyjnych 137
Wywiady z kierownictwem 143Przegląd obecnych wymagań informacyjnych 143Przegląd dodatkowych wymagań informacyjnych 144Przegląd przyszłych wymagań informacyjnych 144Przegląd ogoacutelnych wymagań informacyjnych 145
Stworzenie kompletnej listy poacutel 145Wstępna lista poacutel 145Lista poacutel obliczeniowych 150Przegląd obu list wraz z pracownikami i kierownictwem 151
Podsumowanie 155Pytania kontrolne 156
Rozdzia 7 Tworzenie struktur tabel 159Tematy omoacutewione w tym rozdziale 159Definiowanie wstępnej listy tabel 160
Identyfikacja domniemanych podmiotoacutew 160Korzystanie z listy podmiotoacutew 161Korzystanie z celoacutew misji 165
Definiowanie ostatecznej listy tabel 167Dostrajanie nazw tabel 168Wskazywanie typoacutew tabel 172Redagowanie opisoacutew tabel 172
Powiązanie poacutel z każdą z tabel 177
Kup książkę Poleć książkę
Spis tre ci 9
Dostrajanie poacutel 179Poprawianie nazw poacutel 179Korzystanie z idealnego pola do eliminowania anomalii 182Eliminacja poacutel wieloczęściowych 185Eliminacja poacutel wielowartościowych 186
Dostrajanie struktur tabel 192Kilka słoacutew o nadmiarowych danych i duplikatach poacutel 192Wykorzystanie warunkoacutew idealnej tabeli
w celu dostrojenia struktur tabel 193Wyznaczanie tabel-podzbioroacutew 198
Podsumowanie 208Pytania kontrolne 209
Rozdzia 8 Klucze 211Tematy omoacutewione w tym rozdziale 211Dlaczego klucze są ważne 212Definiowanie kluczy dla tabel 212
Klucze kandydujące 212Klucze głoacutewne 218Klucze zastępcze 222Pola niekluczowe 223
Integralność na poziomie tabeli 223Przegląd wstępnych struktur tabel 224Podsumowanie 229Pytania kontrolne 230
Rozdzia 9 Specyfikacje poacutel 231Tematy omoacutewione w tym rozdziale 231Dlaczego specyfikacje poacutel są ważne 232Integralność na poziomie poacutel 233Anatomia specyfikacji poacutel 233
Elementy ogoacutelne 234Elementy fizyczne 239Elementy logiczne 244
Wykorzystywanie unikatowych ogoacutelnych i replikowanych specyfikacji poacutel 250Definiowanie specyfikacji poacutel dla każdego pola w bazie danych 255Podsumowanie 256Pytania kontrolne 259
Kup książkę Poleć książkę
10 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 10 Relacje mi dzy tabelami 261Tematy omoacutewione w tym rozdziale 261Dlaczego relacje są ważne 262Rodzaje relacji 263
Relacja jeden-do-jednego 264Relacja jeden-do-wielu 265Relacja wiele-do-wielu 267Relacja zwrotna 273
Identyfikowanie istniejących relacji 276Ustanawianie wszystkich relacji 284
Relacje jeden-do-jednego i jeden-do-wielu 284Relacja wiele-do-wielu 290Relacje zwrotne 294Sprawdzanie struktury wszystkich tabel 298Dokładna analiza wszystkich kluczy obcych 299
Ustanawianie charakterystyk relacji 304Definiowanie reguły usuwania dla każdej relacji 304Identyfikowanie rodzaju udziału każdej z tabel 308Identyfikowanie stopnia udziału każdej z tabel 310Weryfikowanie z użytkownikami i zarządem
relacji istniejących między tabelami 312Uwaga końcowa 312
Integralność na poziomie relacji 313Podsumowanie 317Pytania kontrolne 318
Rozdzia 11 Regu y biznesowe 321Tematy omoacutewione w tym rozdziale 321Czym są reguły biznesowe 321
Rodzaje reguł biznesowych 324Kategorie reguł biznesowych 326
Reguły biznesowe specyficzne dla poacutel 326Reguły biznesowe specyficzne dla relacji 327
Definiowanie i ustanawianie reguł biznesowych 328Praca z użytkownikami oraz zarządem 328Definiowanie i ustanawianie reguł biznesowych
specyficznych dla pola 329Definiowanie i ustanawianie reguł biznesowych
specyficznych dla relacji 334
Kup książkę Poleć książkę
Spis tre ci 11
Tabele walidacji 341Czym są tabele walidacji 341Korzystanie z tabel walidacji w celu realizowania reguł biznesowych 342
Sprawdzanie arkuszy specyfikacji reguł biznesowych 346Podsumowanie 352Pytania kontrolne 353
Rozdzia 12 Widoki 355Tematy omoacutewione w tym rozdziale 355Czym są widoki 355Anatomia widoku 357
Widok danych 357Widok zagregowany 361Widok walidacji 364
Określanie i definiowanie widokoacutew 366Praca z użytkownikami i zarządem 366Identyfikowanie widokoacutew 367Przeglądanie dokumentacji każdego widoku 373
Podsumowanie 378Pytania kontrolne 380
Rozdzia 13 Sprawdzanie integralno ci danych 383Tematy omoacutewione w tym rozdziale 383Dlaczego należy sprawdzać integralność danych 384Sprawdzanie i korygowanie integralności danych 384
Integralność na poziomie tabel 385Integralność na poziomie poacutel 385Integralność na poziomie relacji 385Reguły biznesowe 386Widoki 386
Kompletowanie dokumentacji bazy danych 387W końcu zrobione 388Podsumowanie 388
Cz III Inne problemyprojektowania baz danych 389
Rozdzia 14 Czego nie nale y robi 391Tematy omoacutewione w tym rozdziale 391Płaskie pliki 392
Kup książkę Poleć książkę
12 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Projekt na bazie arkusza kalkulacyjnego 393Rozwiązywanie problemoacutew związanych
z przyzwyczajeniami do widoku arkusza kalkulacyjnego 394Projekt bazy danych pod kątem konkretnego oprogramowania 396Wnioski końcowe 397Podsumowanie 397
Rozdzia 15 Naginanie b d amanie regu 399Tematy omoacutewione w tym rozdziale 399Kiedy można nagiąć lub złamać reguły 399
Projektowanie analitycznej bazy danych 399Poprawianie wydajności obliczeń 400
Dokumentowanie działań 402Podsumowanie 403
Na zako czenie 405
Dodatki 407Dodatek A Odpowiedzi na pytania kontrolne 409
Dodatek B Diagram procesu projektowania baz danych 427
Dodatek C Wytyczne projektowe 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla poacutel 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla relacji 445Warunki klucza kandydującego 446Warunki klucza obcego 446Warunki klucza głoacutewnego 446
Reguły tworzenia kluczy głoacutewnych 447Warunki idealnego pola 447Warunki idealnej tabeli 447Integralność na poziomie poacutel 448Wytyczne tworzenia opisoacutew poacutel 448Wytyczne tworzenia opisoacutew tabel 448Wytyczne tworzenia nazw poacutel 449Wytyczne tworzenia nazw tabel 449Identyfikowanie relacji 450Identyfikacja wymagań dotyczących perspektyw 450Wytyczne dotyczące prowadzonych rozmoacutew 451
Wskazoacutewki związane z uczestnikami 451Wskazoacutewki dotyczące prowadzącego rozmowę 451
Kup książkę Poleć książkę
Spis tre ci 13
Misje 451Cele misji 452Integralność na poziomie relacji 452Eliminowanie poacutel wielowartościowych 452Integralność na poziomie tabel 453
Dodatek D Formularze dokumentacyjne 455
Dodatek E Symbole u ywane w diagramach stosowanychw procesie projektowania baz danych 459
Dodatek F Przyk adowe projekty 461
Dodatek G O normalizacji 467Uwaga 467Kroacutetkie przypomnienie 468W jaki sposoacuteb normalizacja jest zintegrowana z moją metodologią
projektowania 471Projekt logiczny a projekt fizyczny i implementacja 473
Dodatek H Zalecana lektura 475
S owniczek 477
Literatura 489
Skorowidz 491
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
6 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Model relacyjnych baz danych 41Pozyskiwanie danych 42Zalety relacyjnych baz danych 44
Zarządzanie relacyjną bazą danych 45Poza modelem relacyjnym 46Co niesie przyszłość 47
Ostatnia uwaga 48Podsumowanie 48Pytania kontrolne 49
Rozdzia 2 Cele projektowania 51Tematy omoacutewione w tym rozdziale 51Dlaczego projektowanie baz danych powinno nas interesować 51Znaczenie teorii 53Zalety poznania dobrej metodologii projektowania 54Cele dobrego projektowania 55Korzyści wynikające z dobrego projektowania 55Metody projektowania baz danych 56
Tradycyjne metody projektowania 56Metoda projektowania zaprezentowana w tej książce 57
Normalizacja 58Podsumowanie 60Pytania kontrolne 61
Rozdzia 3 Terminologia 63Tematy omoacutewione w tym rozdziale 63Dlaczego terminologia jest ważna 64Pojęcia związane z wartością 64
Dane 64Informacje 65Null 66Wartość znacznikoacutew null 67Problem ze znacznikami null 68
Pojęcia związane ze strukturą 69Tabele 69Pole 71Rekord 72Widok (perspektywa) 73Klucze 74Indeks 76
Kup książkę Poleć książkę
Spis tre ci 7
Pojęcia związane z zależnościami 76Zależności 76Typy zależności 77Rodzaje udziału 80Stopień udziału 81
Pojęcia związane z integralnością 82Specyfikacja pola 82Integralność danych 82
Podsumowanie 83Pytania kontrolne 84
Cz II Proces projektowania 87Rozdzia 4 Przegl d koncepcyjny 89
Tematy omoacutewione w tym rozdziale 89Dlaczego ważna jest realizacja całego procesu projektowania 90Formułowanie definicji celu i założeń wstępnych 91Analiza istniejącej bazy danych 91Tworzenie struktur danych 92Określanie i ustalanie relacji w tabelach 93Określanie reguł biznesowych 93Definiowanie widokoacutew 94Kontrola integralności danych 94Podsumowanie 95Pytania kontrolne 96
Rozdzia 5 Rozpocz cie procesu projektowania 99Tematy omoacutewione w tym rozdziale 99Przeprowadzanie wywiadoacutew 100
Wytyczne dotyczące rozmoacutewcoacutew 101Wytyczne dotyczące osoby przeprowadzającej wywiad 102
Formułowanie definicji celu 106Poprawnie sformułowana definicja celu 106Układanie definicji celu 107
Formułowanie założeń wstępnych 109Poprawnie sformułowane założenia wstępne 109Układanie założeń wstępnych 111
Podsumowanie 114Pytania kontrolne 114
Kup książkę Poleć książkę
8 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 6 Analiza istniej cej bazy danych 117Tematy omoacutewione w tym rozdziale 117Poznanie istniejącej bazy danych 118
Papierowe bazy danych 120Spadkowe bazy danych 120
Przeprowadzenie analizy 121Spojrzenie na sposoacuteb gromadzenia danych 121
Spojrzenie na sposoacuteb prezentowania informacji 124Przeprowadzanie wywiadoacutew 127
Podstawowe techniki przeprowadzania wywiadoacutew 127Zanim rozpoczniesz przeprowadzanie wywiadoacutew 132
Wywiady z użytkownikami 132Przegląd typoacutew danych i sposoboacutew ich wykorzystania 132Przegląd proacutebek 134Przegląd wymagań informacyjnych 137
Wywiady z kierownictwem 143Przegląd obecnych wymagań informacyjnych 143Przegląd dodatkowych wymagań informacyjnych 144Przegląd przyszłych wymagań informacyjnych 144Przegląd ogoacutelnych wymagań informacyjnych 145
Stworzenie kompletnej listy poacutel 145Wstępna lista poacutel 145Lista poacutel obliczeniowych 150Przegląd obu list wraz z pracownikami i kierownictwem 151
Podsumowanie 155Pytania kontrolne 156
Rozdzia 7 Tworzenie struktur tabel 159Tematy omoacutewione w tym rozdziale 159Definiowanie wstępnej listy tabel 160
Identyfikacja domniemanych podmiotoacutew 160Korzystanie z listy podmiotoacutew 161Korzystanie z celoacutew misji 165
Definiowanie ostatecznej listy tabel 167Dostrajanie nazw tabel 168Wskazywanie typoacutew tabel 172Redagowanie opisoacutew tabel 172
Powiązanie poacutel z każdą z tabel 177
Kup książkę Poleć książkę
Spis tre ci 9
Dostrajanie poacutel 179Poprawianie nazw poacutel 179Korzystanie z idealnego pola do eliminowania anomalii 182Eliminacja poacutel wieloczęściowych 185Eliminacja poacutel wielowartościowych 186
Dostrajanie struktur tabel 192Kilka słoacutew o nadmiarowych danych i duplikatach poacutel 192Wykorzystanie warunkoacutew idealnej tabeli
w celu dostrojenia struktur tabel 193Wyznaczanie tabel-podzbioroacutew 198
Podsumowanie 208Pytania kontrolne 209
Rozdzia 8 Klucze 211Tematy omoacutewione w tym rozdziale 211Dlaczego klucze są ważne 212Definiowanie kluczy dla tabel 212
Klucze kandydujące 212Klucze głoacutewne 218Klucze zastępcze 222Pola niekluczowe 223
Integralność na poziomie tabeli 223Przegląd wstępnych struktur tabel 224Podsumowanie 229Pytania kontrolne 230
Rozdzia 9 Specyfikacje poacutel 231Tematy omoacutewione w tym rozdziale 231Dlaczego specyfikacje poacutel są ważne 232Integralność na poziomie poacutel 233Anatomia specyfikacji poacutel 233
Elementy ogoacutelne 234Elementy fizyczne 239Elementy logiczne 244
Wykorzystywanie unikatowych ogoacutelnych i replikowanych specyfikacji poacutel 250Definiowanie specyfikacji poacutel dla każdego pola w bazie danych 255Podsumowanie 256Pytania kontrolne 259
Kup książkę Poleć książkę
10 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 10 Relacje mi dzy tabelami 261Tematy omoacutewione w tym rozdziale 261Dlaczego relacje są ważne 262Rodzaje relacji 263
Relacja jeden-do-jednego 264Relacja jeden-do-wielu 265Relacja wiele-do-wielu 267Relacja zwrotna 273
Identyfikowanie istniejących relacji 276Ustanawianie wszystkich relacji 284
Relacje jeden-do-jednego i jeden-do-wielu 284Relacja wiele-do-wielu 290Relacje zwrotne 294Sprawdzanie struktury wszystkich tabel 298Dokładna analiza wszystkich kluczy obcych 299
Ustanawianie charakterystyk relacji 304Definiowanie reguły usuwania dla każdej relacji 304Identyfikowanie rodzaju udziału każdej z tabel 308Identyfikowanie stopnia udziału każdej z tabel 310Weryfikowanie z użytkownikami i zarządem
relacji istniejących między tabelami 312Uwaga końcowa 312
Integralność na poziomie relacji 313Podsumowanie 317Pytania kontrolne 318
Rozdzia 11 Regu y biznesowe 321Tematy omoacutewione w tym rozdziale 321Czym są reguły biznesowe 321
Rodzaje reguł biznesowych 324Kategorie reguł biznesowych 326
Reguły biznesowe specyficzne dla poacutel 326Reguły biznesowe specyficzne dla relacji 327
Definiowanie i ustanawianie reguł biznesowych 328Praca z użytkownikami oraz zarządem 328Definiowanie i ustanawianie reguł biznesowych
specyficznych dla pola 329Definiowanie i ustanawianie reguł biznesowych
specyficznych dla relacji 334
Kup książkę Poleć książkę
Spis tre ci 11
Tabele walidacji 341Czym są tabele walidacji 341Korzystanie z tabel walidacji w celu realizowania reguł biznesowych 342
Sprawdzanie arkuszy specyfikacji reguł biznesowych 346Podsumowanie 352Pytania kontrolne 353
Rozdzia 12 Widoki 355Tematy omoacutewione w tym rozdziale 355Czym są widoki 355Anatomia widoku 357
Widok danych 357Widok zagregowany 361Widok walidacji 364
Określanie i definiowanie widokoacutew 366Praca z użytkownikami i zarządem 366Identyfikowanie widokoacutew 367Przeglądanie dokumentacji każdego widoku 373
Podsumowanie 378Pytania kontrolne 380
Rozdzia 13 Sprawdzanie integralno ci danych 383Tematy omoacutewione w tym rozdziale 383Dlaczego należy sprawdzać integralność danych 384Sprawdzanie i korygowanie integralności danych 384
Integralność na poziomie tabel 385Integralność na poziomie poacutel 385Integralność na poziomie relacji 385Reguły biznesowe 386Widoki 386
Kompletowanie dokumentacji bazy danych 387W końcu zrobione 388Podsumowanie 388
Cz III Inne problemyprojektowania baz danych 389
Rozdzia 14 Czego nie nale y robi 391Tematy omoacutewione w tym rozdziale 391Płaskie pliki 392
Kup książkę Poleć książkę
12 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Projekt na bazie arkusza kalkulacyjnego 393Rozwiązywanie problemoacutew związanych
z przyzwyczajeniami do widoku arkusza kalkulacyjnego 394Projekt bazy danych pod kątem konkretnego oprogramowania 396Wnioski końcowe 397Podsumowanie 397
Rozdzia 15 Naginanie b d amanie regu 399Tematy omoacutewione w tym rozdziale 399Kiedy można nagiąć lub złamać reguły 399
Projektowanie analitycznej bazy danych 399Poprawianie wydajności obliczeń 400
Dokumentowanie działań 402Podsumowanie 403
Na zako czenie 405
Dodatki 407Dodatek A Odpowiedzi na pytania kontrolne 409
Dodatek B Diagram procesu projektowania baz danych 427
Dodatek C Wytyczne projektowe 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla poacutel 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla relacji 445Warunki klucza kandydującego 446Warunki klucza obcego 446Warunki klucza głoacutewnego 446
Reguły tworzenia kluczy głoacutewnych 447Warunki idealnego pola 447Warunki idealnej tabeli 447Integralność na poziomie poacutel 448Wytyczne tworzenia opisoacutew poacutel 448Wytyczne tworzenia opisoacutew tabel 448Wytyczne tworzenia nazw poacutel 449Wytyczne tworzenia nazw tabel 449Identyfikowanie relacji 450Identyfikacja wymagań dotyczących perspektyw 450Wytyczne dotyczące prowadzonych rozmoacutew 451
Wskazoacutewki związane z uczestnikami 451Wskazoacutewki dotyczące prowadzącego rozmowę 451
Kup książkę Poleć książkę
Spis tre ci 13
Misje 451Cele misji 452Integralność na poziomie relacji 452Eliminowanie poacutel wielowartościowych 452Integralność na poziomie tabel 453
Dodatek D Formularze dokumentacyjne 455
Dodatek E Symbole u ywane w diagramach stosowanychw procesie projektowania baz danych 459
Dodatek F Przyk adowe projekty 461
Dodatek G O normalizacji 467Uwaga 467Kroacutetkie przypomnienie 468W jaki sposoacuteb normalizacja jest zintegrowana z moją metodologią
projektowania 471Projekt logiczny a projekt fizyczny i implementacja 473
Dodatek H Zalecana lektura 475
S owniczek 477
Literatura 489
Skorowidz 491
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Spis tre ci 7
Pojęcia związane z zależnościami 76Zależności 76Typy zależności 77Rodzaje udziału 80Stopień udziału 81
Pojęcia związane z integralnością 82Specyfikacja pola 82Integralność danych 82
Podsumowanie 83Pytania kontrolne 84
Cz II Proces projektowania 87Rozdzia 4 Przegl d koncepcyjny 89
Tematy omoacutewione w tym rozdziale 89Dlaczego ważna jest realizacja całego procesu projektowania 90Formułowanie definicji celu i założeń wstępnych 91Analiza istniejącej bazy danych 91Tworzenie struktur danych 92Określanie i ustalanie relacji w tabelach 93Określanie reguł biznesowych 93Definiowanie widokoacutew 94Kontrola integralności danych 94Podsumowanie 95Pytania kontrolne 96
Rozdzia 5 Rozpocz cie procesu projektowania 99Tematy omoacutewione w tym rozdziale 99Przeprowadzanie wywiadoacutew 100
Wytyczne dotyczące rozmoacutewcoacutew 101Wytyczne dotyczące osoby przeprowadzającej wywiad 102
Formułowanie definicji celu 106Poprawnie sformułowana definicja celu 106Układanie definicji celu 107
Formułowanie założeń wstępnych 109Poprawnie sformułowane założenia wstępne 109Układanie założeń wstępnych 111
Podsumowanie 114Pytania kontrolne 114
Kup książkę Poleć książkę
8 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 6 Analiza istniej cej bazy danych 117Tematy omoacutewione w tym rozdziale 117Poznanie istniejącej bazy danych 118
Papierowe bazy danych 120Spadkowe bazy danych 120
Przeprowadzenie analizy 121Spojrzenie na sposoacuteb gromadzenia danych 121
Spojrzenie na sposoacuteb prezentowania informacji 124Przeprowadzanie wywiadoacutew 127
Podstawowe techniki przeprowadzania wywiadoacutew 127Zanim rozpoczniesz przeprowadzanie wywiadoacutew 132
Wywiady z użytkownikami 132Przegląd typoacutew danych i sposoboacutew ich wykorzystania 132Przegląd proacutebek 134Przegląd wymagań informacyjnych 137
Wywiady z kierownictwem 143Przegląd obecnych wymagań informacyjnych 143Przegląd dodatkowych wymagań informacyjnych 144Przegląd przyszłych wymagań informacyjnych 144Przegląd ogoacutelnych wymagań informacyjnych 145
Stworzenie kompletnej listy poacutel 145Wstępna lista poacutel 145Lista poacutel obliczeniowych 150Przegląd obu list wraz z pracownikami i kierownictwem 151
Podsumowanie 155Pytania kontrolne 156
Rozdzia 7 Tworzenie struktur tabel 159Tematy omoacutewione w tym rozdziale 159Definiowanie wstępnej listy tabel 160
Identyfikacja domniemanych podmiotoacutew 160Korzystanie z listy podmiotoacutew 161Korzystanie z celoacutew misji 165
Definiowanie ostatecznej listy tabel 167Dostrajanie nazw tabel 168Wskazywanie typoacutew tabel 172Redagowanie opisoacutew tabel 172
Powiązanie poacutel z każdą z tabel 177
Kup książkę Poleć książkę
Spis tre ci 9
Dostrajanie poacutel 179Poprawianie nazw poacutel 179Korzystanie z idealnego pola do eliminowania anomalii 182Eliminacja poacutel wieloczęściowych 185Eliminacja poacutel wielowartościowych 186
Dostrajanie struktur tabel 192Kilka słoacutew o nadmiarowych danych i duplikatach poacutel 192Wykorzystanie warunkoacutew idealnej tabeli
w celu dostrojenia struktur tabel 193Wyznaczanie tabel-podzbioroacutew 198
Podsumowanie 208Pytania kontrolne 209
Rozdzia 8 Klucze 211Tematy omoacutewione w tym rozdziale 211Dlaczego klucze są ważne 212Definiowanie kluczy dla tabel 212
Klucze kandydujące 212Klucze głoacutewne 218Klucze zastępcze 222Pola niekluczowe 223
Integralność na poziomie tabeli 223Przegląd wstępnych struktur tabel 224Podsumowanie 229Pytania kontrolne 230
Rozdzia 9 Specyfikacje poacutel 231Tematy omoacutewione w tym rozdziale 231Dlaczego specyfikacje poacutel są ważne 232Integralność na poziomie poacutel 233Anatomia specyfikacji poacutel 233
Elementy ogoacutelne 234Elementy fizyczne 239Elementy logiczne 244
Wykorzystywanie unikatowych ogoacutelnych i replikowanych specyfikacji poacutel 250Definiowanie specyfikacji poacutel dla każdego pola w bazie danych 255Podsumowanie 256Pytania kontrolne 259
Kup książkę Poleć książkę
10 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 10 Relacje mi dzy tabelami 261Tematy omoacutewione w tym rozdziale 261Dlaczego relacje są ważne 262Rodzaje relacji 263
Relacja jeden-do-jednego 264Relacja jeden-do-wielu 265Relacja wiele-do-wielu 267Relacja zwrotna 273
Identyfikowanie istniejących relacji 276Ustanawianie wszystkich relacji 284
Relacje jeden-do-jednego i jeden-do-wielu 284Relacja wiele-do-wielu 290Relacje zwrotne 294Sprawdzanie struktury wszystkich tabel 298Dokładna analiza wszystkich kluczy obcych 299
Ustanawianie charakterystyk relacji 304Definiowanie reguły usuwania dla każdej relacji 304Identyfikowanie rodzaju udziału każdej z tabel 308Identyfikowanie stopnia udziału każdej z tabel 310Weryfikowanie z użytkownikami i zarządem
relacji istniejących między tabelami 312Uwaga końcowa 312
Integralność na poziomie relacji 313Podsumowanie 317Pytania kontrolne 318
Rozdzia 11 Regu y biznesowe 321Tematy omoacutewione w tym rozdziale 321Czym są reguły biznesowe 321
Rodzaje reguł biznesowych 324Kategorie reguł biznesowych 326
Reguły biznesowe specyficzne dla poacutel 326Reguły biznesowe specyficzne dla relacji 327
Definiowanie i ustanawianie reguł biznesowych 328Praca z użytkownikami oraz zarządem 328Definiowanie i ustanawianie reguł biznesowych
specyficznych dla pola 329Definiowanie i ustanawianie reguł biznesowych
specyficznych dla relacji 334
Kup książkę Poleć książkę
Spis tre ci 11
Tabele walidacji 341Czym są tabele walidacji 341Korzystanie z tabel walidacji w celu realizowania reguł biznesowych 342
Sprawdzanie arkuszy specyfikacji reguł biznesowych 346Podsumowanie 352Pytania kontrolne 353
Rozdzia 12 Widoki 355Tematy omoacutewione w tym rozdziale 355Czym są widoki 355Anatomia widoku 357
Widok danych 357Widok zagregowany 361Widok walidacji 364
Określanie i definiowanie widokoacutew 366Praca z użytkownikami i zarządem 366Identyfikowanie widokoacutew 367Przeglądanie dokumentacji każdego widoku 373
Podsumowanie 378Pytania kontrolne 380
Rozdzia 13 Sprawdzanie integralno ci danych 383Tematy omoacutewione w tym rozdziale 383Dlaczego należy sprawdzać integralność danych 384Sprawdzanie i korygowanie integralności danych 384
Integralność na poziomie tabel 385Integralność na poziomie poacutel 385Integralność na poziomie relacji 385Reguły biznesowe 386Widoki 386
Kompletowanie dokumentacji bazy danych 387W końcu zrobione 388Podsumowanie 388
Cz III Inne problemyprojektowania baz danych 389
Rozdzia 14 Czego nie nale y robi 391Tematy omoacutewione w tym rozdziale 391Płaskie pliki 392
Kup książkę Poleć książkę
12 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Projekt na bazie arkusza kalkulacyjnego 393Rozwiązywanie problemoacutew związanych
z przyzwyczajeniami do widoku arkusza kalkulacyjnego 394Projekt bazy danych pod kątem konkretnego oprogramowania 396Wnioski końcowe 397Podsumowanie 397
Rozdzia 15 Naginanie b d amanie regu 399Tematy omoacutewione w tym rozdziale 399Kiedy można nagiąć lub złamać reguły 399
Projektowanie analitycznej bazy danych 399Poprawianie wydajności obliczeń 400
Dokumentowanie działań 402Podsumowanie 403
Na zako czenie 405
Dodatki 407Dodatek A Odpowiedzi na pytania kontrolne 409
Dodatek B Diagram procesu projektowania baz danych 427
Dodatek C Wytyczne projektowe 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla poacutel 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla relacji 445Warunki klucza kandydującego 446Warunki klucza obcego 446Warunki klucza głoacutewnego 446
Reguły tworzenia kluczy głoacutewnych 447Warunki idealnego pola 447Warunki idealnej tabeli 447Integralność na poziomie poacutel 448Wytyczne tworzenia opisoacutew poacutel 448Wytyczne tworzenia opisoacutew tabel 448Wytyczne tworzenia nazw poacutel 449Wytyczne tworzenia nazw tabel 449Identyfikowanie relacji 450Identyfikacja wymagań dotyczących perspektyw 450Wytyczne dotyczące prowadzonych rozmoacutew 451
Wskazoacutewki związane z uczestnikami 451Wskazoacutewki dotyczące prowadzącego rozmowę 451
Kup książkę Poleć książkę
Spis tre ci 13
Misje 451Cele misji 452Integralność na poziomie relacji 452Eliminowanie poacutel wielowartościowych 452Integralność na poziomie tabel 453
Dodatek D Formularze dokumentacyjne 455
Dodatek E Symbole u ywane w diagramach stosowanychw procesie projektowania baz danych 459
Dodatek F Przyk adowe projekty 461
Dodatek G O normalizacji 467Uwaga 467Kroacutetkie przypomnienie 468W jaki sposoacuteb normalizacja jest zintegrowana z moją metodologią
projektowania 471Projekt logiczny a projekt fizyczny i implementacja 473
Dodatek H Zalecana lektura 475
S owniczek 477
Literatura 489
Skorowidz 491
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
8 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 6 Analiza istniej cej bazy danych 117Tematy omoacutewione w tym rozdziale 117Poznanie istniejącej bazy danych 118
Papierowe bazy danych 120Spadkowe bazy danych 120
Przeprowadzenie analizy 121Spojrzenie na sposoacuteb gromadzenia danych 121
Spojrzenie na sposoacuteb prezentowania informacji 124Przeprowadzanie wywiadoacutew 127
Podstawowe techniki przeprowadzania wywiadoacutew 127Zanim rozpoczniesz przeprowadzanie wywiadoacutew 132
Wywiady z użytkownikami 132Przegląd typoacutew danych i sposoboacutew ich wykorzystania 132Przegląd proacutebek 134Przegląd wymagań informacyjnych 137
Wywiady z kierownictwem 143Przegląd obecnych wymagań informacyjnych 143Przegląd dodatkowych wymagań informacyjnych 144Przegląd przyszłych wymagań informacyjnych 144Przegląd ogoacutelnych wymagań informacyjnych 145
Stworzenie kompletnej listy poacutel 145Wstępna lista poacutel 145Lista poacutel obliczeniowych 150Przegląd obu list wraz z pracownikami i kierownictwem 151
Podsumowanie 155Pytania kontrolne 156
Rozdzia 7 Tworzenie struktur tabel 159Tematy omoacutewione w tym rozdziale 159Definiowanie wstępnej listy tabel 160
Identyfikacja domniemanych podmiotoacutew 160Korzystanie z listy podmiotoacutew 161Korzystanie z celoacutew misji 165
Definiowanie ostatecznej listy tabel 167Dostrajanie nazw tabel 168Wskazywanie typoacutew tabel 172Redagowanie opisoacutew tabel 172
Powiązanie poacutel z każdą z tabel 177
Kup książkę Poleć książkę
Spis tre ci 9
Dostrajanie poacutel 179Poprawianie nazw poacutel 179Korzystanie z idealnego pola do eliminowania anomalii 182Eliminacja poacutel wieloczęściowych 185Eliminacja poacutel wielowartościowych 186
Dostrajanie struktur tabel 192Kilka słoacutew o nadmiarowych danych i duplikatach poacutel 192Wykorzystanie warunkoacutew idealnej tabeli
w celu dostrojenia struktur tabel 193Wyznaczanie tabel-podzbioroacutew 198
Podsumowanie 208Pytania kontrolne 209
Rozdzia 8 Klucze 211Tematy omoacutewione w tym rozdziale 211Dlaczego klucze są ważne 212Definiowanie kluczy dla tabel 212
Klucze kandydujące 212Klucze głoacutewne 218Klucze zastępcze 222Pola niekluczowe 223
Integralność na poziomie tabeli 223Przegląd wstępnych struktur tabel 224Podsumowanie 229Pytania kontrolne 230
Rozdzia 9 Specyfikacje poacutel 231Tematy omoacutewione w tym rozdziale 231Dlaczego specyfikacje poacutel są ważne 232Integralność na poziomie poacutel 233Anatomia specyfikacji poacutel 233
Elementy ogoacutelne 234Elementy fizyczne 239Elementy logiczne 244
Wykorzystywanie unikatowych ogoacutelnych i replikowanych specyfikacji poacutel 250Definiowanie specyfikacji poacutel dla każdego pola w bazie danych 255Podsumowanie 256Pytania kontrolne 259
Kup książkę Poleć książkę
10 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 10 Relacje mi dzy tabelami 261Tematy omoacutewione w tym rozdziale 261Dlaczego relacje są ważne 262Rodzaje relacji 263
Relacja jeden-do-jednego 264Relacja jeden-do-wielu 265Relacja wiele-do-wielu 267Relacja zwrotna 273
Identyfikowanie istniejących relacji 276Ustanawianie wszystkich relacji 284
Relacje jeden-do-jednego i jeden-do-wielu 284Relacja wiele-do-wielu 290Relacje zwrotne 294Sprawdzanie struktury wszystkich tabel 298Dokładna analiza wszystkich kluczy obcych 299
Ustanawianie charakterystyk relacji 304Definiowanie reguły usuwania dla każdej relacji 304Identyfikowanie rodzaju udziału każdej z tabel 308Identyfikowanie stopnia udziału każdej z tabel 310Weryfikowanie z użytkownikami i zarządem
relacji istniejących między tabelami 312Uwaga końcowa 312
Integralność na poziomie relacji 313Podsumowanie 317Pytania kontrolne 318
Rozdzia 11 Regu y biznesowe 321Tematy omoacutewione w tym rozdziale 321Czym są reguły biznesowe 321
Rodzaje reguł biznesowych 324Kategorie reguł biznesowych 326
Reguły biznesowe specyficzne dla poacutel 326Reguły biznesowe specyficzne dla relacji 327
Definiowanie i ustanawianie reguł biznesowych 328Praca z użytkownikami oraz zarządem 328Definiowanie i ustanawianie reguł biznesowych
specyficznych dla pola 329Definiowanie i ustanawianie reguł biznesowych
specyficznych dla relacji 334
Kup książkę Poleć książkę
Spis tre ci 11
Tabele walidacji 341Czym są tabele walidacji 341Korzystanie z tabel walidacji w celu realizowania reguł biznesowych 342
Sprawdzanie arkuszy specyfikacji reguł biznesowych 346Podsumowanie 352Pytania kontrolne 353
Rozdzia 12 Widoki 355Tematy omoacutewione w tym rozdziale 355Czym są widoki 355Anatomia widoku 357
Widok danych 357Widok zagregowany 361Widok walidacji 364
Określanie i definiowanie widokoacutew 366Praca z użytkownikami i zarządem 366Identyfikowanie widokoacutew 367Przeglądanie dokumentacji każdego widoku 373
Podsumowanie 378Pytania kontrolne 380
Rozdzia 13 Sprawdzanie integralno ci danych 383Tematy omoacutewione w tym rozdziale 383Dlaczego należy sprawdzać integralność danych 384Sprawdzanie i korygowanie integralności danych 384
Integralność na poziomie tabel 385Integralność na poziomie poacutel 385Integralność na poziomie relacji 385Reguły biznesowe 386Widoki 386
Kompletowanie dokumentacji bazy danych 387W końcu zrobione 388Podsumowanie 388
Cz III Inne problemyprojektowania baz danych 389
Rozdzia 14 Czego nie nale y robi 391Tematy omoacutewione w tym rozdziale 391Płaskie pliki 392
Kup książkę Poleć książkę
12 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Projekt na bazie arkusza kalkulacyjnego 393Rozwiązywanie problemoacutew związanych
z przyzwyczajeniami do widoku arkusza kalkulacyjnego 394Projekt bazy danych pod kątem konkretnego oprogramowania 396Wnioski końcowe 397Podsumowanie 397
Rozdzia 15 Naginanie b d amanie regu 399Tematy omoacutewione w tym rozdziale 399Kiedy można nagiąć lub złamać reguły 399
Projektowanie analitycznej bazy danych 399Poprawianie wydajności obliczeń 400
Dokumentowanie działań 402Podsumowanie 403
Na zako czenie 405
Dodatki 407Dodatek A Odpowiedzi na pytania kontrolne 409
Dodatek B Diagram procesu projektowania baz danych 427
Dodatek C Wytyczne projektowe 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla poacutel 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla relacji 445Warunki klucza kandydującego 446Warunki klucza obcego 446Warunki klucza głoacutewnego 446
Reguły tworzenia kluczy głoacutewnych 447Warunki idealnego pola 447Warunki idealnej tabeli 447Integralność na poziomie poacutel 448Wytyczne tworzenia opisoacutew poacutel 448Wytyczne tworzenia opisoacutew tabel 448Wytyczne tworzenia nazw poacutel 449Wytyczne tworzenia nazw tabel 449Identyfikowanie relacji 450Identyfikacja wymagań dotyczących perspektyw 450Wytyczne dotyczące prowadzonych rozmoacutew 451
Wskazoacutewki związane z uczestnikami 451Wskazoacutewki dotyczące prowadzącego rozmowę 451
Kup książkę Poleć książkę
Spis tre ci 13
Misje 451Cele misji 452Integralność na poziomie relacji 452Eliminowanie poacutel wielowartościowych 452Integralność na poziomie tabel 453
Dodatek D Formularze dokumentacyjne 455
Dodatek E Symbole u ywane w diagramach stosowanychw procesie projektowania baz danych 459
Dodatek F Przyk adowe projekty 461
Dodatek G O normalizacji 467Uwaga 467Kroacutetkie przypomnienie 468W jaki sposoacuteb normalizacja jest zintegrowana z moją metodologią
projektowania 471Projekt logiczny a projekt fizyczny i implementacja 473
Dodatek H Zalecana lektura 475
S owniczek 477
Literatura 489
Skorowidz 491
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Spis tre ci 9
Dostrajanie poacutel 179Poprawianie nazw poacutel 179Korzystanie z idealnego pola do eliminowania anomalii 182Eliminacja poacutel wieloczęściowych 185Eliminacja poacutel wielowartościowych 186
Dostrajanie struktur tabel 192Kilka słoacutew o nadmiarowych danych i duplikatach poacutel 192Wykorzystanie warunkoacutew idealnej tabeli
w celu dostrojenia struktur tabel 193Wyznaczanie tabel-podzbioroacutew 198
Podsumowanie 208Pytania kontrolne 209
Rozdzia 8 Klucze 211Tematy omoacutewione w tym rozdziale 211Dlaczego klucze są ważne 212Definiowanie kluczy dla tabel 212
Klucze kandydujące 212Klucze głoacutewne 218Klucze zastępcze 222Pola niekluczowe 223
Integralność na poziomie tabeli 223Przegląd wstępnych struktur tabel 224Podsumowanie 229Pytania kontrolne 230
Rozdzia 9 Specyfikacje poacutel 231Tematy omoacutewione w tym rozdziale 231Dlaczego specyfikacje poacutel są ważne 232Integralność na poziomie poacutel 233Anatomia specyfikacji poacutel 233
Elementy ogoacutelne 234Elementy fizyczne 239Elementy logiczne 244
Wykorzystywanie unikatowych ogoacutelnych i replikowanych specyfikacji poacutel 250Definiowanie specyfikacji poacutel dla każdego pola w bazie danych 255Podsumowanie 256Pytania kontrolne 259
Kup książkę Poleć książkę
10 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 10 Relacje mi dzy tabelami 261Tematy omoacutewione w tym rozdziale 261Dlaczego relacje są ważne 262Rodzaje relacji 263
Relacja jeden-do-jednego 264Relacja jeden-do-wielu 265Relacja wiele-do-wielu 267Relacja zwrotna 273
Identyfikowanie istniejących relacji 276Ustanawianie wszystkich relacji 284
Relacje jeden-do-jednego i jeden-do-wielu 284Relacja wiele-do-wielu 290Relacje zwrotne 294Sprawdzanie struktury wszystkich tabel 298Dokładna analiza wszystkich kluczy obcych 299
Ustanawianie charakterystyk relacji 304Definiowanie reguły usuwania dla każdej relacji 304Identyfikowanie rodzaju udziału każdej z tabel 308Identyfikowanie stopnia udziału każdej z tabel 310Weryfikowanie z użytkownikami i zarządem
relacji istniejących między tabelami 312Uwaga końcowa 312
Integralność na poziomie relacji 313Podsumowanie 317Pytania kontrolne 318
Rozdzia 11 Regu y biznesowe 321Tematy omoacutewione w tym rozdziale 321Czym są reguły biznesowe 321
Rodzaje reguł biznesowych 324Kategorie reguł biznesowych 326
Reguły biznesowe specyficzne dla poacutel 326Reguły biznesowe specyficzne dla relacji 327
Definiowanie i ustanawianie reguł biznesowych 328Praca z użytkownikami oraz zarządem 328Definiowanie i ustanawianie reguł biznesowych
specyficznych dla pola 329Definiowanie i ustanawianie reguł biznesowych
specyficznych dla relacji 334
Kup książkę Poleć książkę
Spis tre ci 11
Tabele walidacji 341Czym są tabele walidacji 341Korzystanie z tabel walidacji w celu realizowania reguł biznesowych 342
Sprawdzanie arkuszy specyfikacji reguł biznesowych 346Podsumowanie 352Pytania kontrolne 353
Rozdzia 12 Widoki 355Tematy omoacutewione w tym rozdziale 355Czym są widoki 355Anatomia widoku 357
Widok danych 357Widok zagregowany 361Widok walidacji 364
Określanie i definiowanie widokoacutew 366Praca z użytkownikami i zarządem 366Identyfikowanie widokoacutew 367Przeglądanie dokumentacji każdego widoku 373
Podsumowanie 378Pytania kontrolne 380
Rozdzia 13 Sprawdzanie integralno ci danych 383Tematy omoacutewione w tym rozdziale 383Dlaczego należy sprawdzać integralność danych 384Sprawdzanie i korygowanie integralności danych 384
Integralność na poziomie tabel 385Integralność na poziomie poacutel 385Integralność na poziomie relacji 385Reguły biznesowe 386Widoki 386
Kompletowanie dokumentacji bazy danych 387W końcu zrobione 388Podsumowanie 388
Cz III Inne problemyprojektowania baz danych 389
Rozdzia 14 Czego nie nale y robi 391Tematy omoacutewione w tym rozdziale 391Płaskie pliki 392
Kup książkę Poleć książkę
12 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Projekt na bazie arkusza kalkulacyjnego 393Rozwiązywanie problemoacutew związanych
z przyzwyczajeniami do widoku arkusza kalkulacyjnego 394Projekt bazy danych pod kątem konkretnego oprogramowania 396Wnioski końcowe 397Podsumowanie 397
Rozdzia 15 Naginanie b d amanie regu 399Tematy omoacutewione w tym rozdziale 399Kiedy można nagiąć lub złamać reguły 399
Projektowanie analitycznej bazy danych 399Poprawianie wydajności obliczeń 400
Dokumentowanie działań 402Podsumowanie 403
Na zako czenie 405
Dodatki 407Dodatek A Odpowiedzi na pytania kontrolne 409
Dodatek B Diagram procesu projektowania baz danych 427
Dodatek C Wytyczne projektowe 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla poacutel 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla relacji 445Warunki klucza kandydującego 446Warunki klucza obcego 446Warunki klucza głoacutewnego 446
Reguły tworzenia kluczy głoacutewnych 447Warunki idealnego pola 447Warunki idealnej tabeli 447Integralność na poziomie poacutel 448Wytyczne tworzenia opisoacutew poacutel 448Wytyczne tworzenia opisoacutew tabel 448Wytyczne tworzenia nazw poacutel 449Wytyczne tworzenia nazw tabel 449Identyfikowanie relacji 450Identyfikacja wymagań dotyczących perspektyw 450Wytyczne dotyczące prowadzonych rozmoacutew 451
Wskazoacutewki związane z uczestnikami 451Wskazoacutewki dotyczące prowadzącego rozmowę 451
Kup książkę Poleć książkę
Spis tre ci 13
Misje 451Cele misji 452Integralność na poziomie relacji 452Eliminowanie poacutel wielowartościowych 452Integralność na poziomie tabel 453
Dodatek D Formularze dokumentacyjne 455
Dodatek E Symbole u ywane w diagramach stosowanychw procesie projektowania baz danych 459
Dodatek F Przyk adowe projekty 461
Dodatek G O normalizacji 467Uwaga 467Kroacutetkie przypomnienie 468W jaki sposoacuteb normalizacja jest zintegrowana z moją metodologią
projektowania 471Projekt logiczny a projekt fizyczny i implementacja 473
Dodatek H Zalecana lektura 475
S owniczek 477
Literatura 489
Skorowidz 491
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
10 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Rozdzia 10 Relacje mi dzy tabelami 261Tematy omoacutewione w tym rozdziale 261Dlaczego relacje są ważne 262Rodzaje relacji 263
Relacja jeden-do-jednego 264Relacja jeden-do-wielu 265Relacja wiele-do-wielu 267Relacja zwrotna 273
Identyfikowanie istniejących relacji 276Ustanawianie wszystkich relacji 284
Relacje jeden-do-jednego i jeden-do-wielu 284Relacja wiele-do-wielu 290Relacje zwrotne 294Sprawdzanie struktury wszystkich tabel 298Dokładna analiza wszystkich kluczy obcych 299
Ustanawianie charakterystyk relacji 304Definiowanie reguły usuwania dla każdej relacji 304Identyfikowanie rodzaju udziału każdej z tabel 308Identyfikowanie stopnia udziału każdej z tabel 310Weryfikowanie z użytkownikami i zarządem
relacji istniejących między tabelami 312Uwaga końcowa 312
Integralność na poziomie relacji 313Podsumowanie 317Pytania kontrolne 318
Rozdzia 11 Regu y biznesowe 321Tematy omoacutewione w tym rozdziale 321Czym są reguły biznesowe 321
Rodzaje reguł biznesowych 324Kategorie reguł biznesowych 326
Reguły biznesowe specyficzne dla poacutel 326Reguły biznesowe specyficzne dla relacji 327
Definiowanie i ustanawianie reguł biznesowych 328Praca z użytkownikami oraz zarządem 328Definiowanie i ustanawianie reguł biznesowych
specyficznych dla pola 329Definiowanie i ustanawianie reguł biznesowych
specyficznych dla relacji 334
Kup książkę Poleć książkę
Spis tre ci 11
Tabele walidacji 341Czym są tabele walidacji 341Korzystanie z tabel walidacji w celu realizowania reguł biznesowych 342
Sprawdzanie arkuszy specyfikacji reguł biznesowych 346Podsumowanie 352Pytania kontrolne 353
Rozdzia 12 Widoki 355Tematy omoacutewione w tym rozdziale 355Czym są widoki 355Anatomia widoku 357
Widok danych 357Widok zagregowany 361Widok walidacji 364
Określanie i definiowanie widokoacutew 366Praca z użytkownikami i zarządem 366Identyfikowanie widokoacutew 367Przeglądanie dokumentacji każdego widoku 373
Podsumowanie 378Pytania kontrolne 380
Rozdzia 13 Sprawdzanie integralno ci danych 383Tematy omoacutewione w tym rozdziale 383Dlaczego należy sprawdzać integralność danych 384Sprawdzanie i korygowanie integralności danych 384
Integralność na poziomie tabel 385Integralność na poziomie poacutel 385Integralność na poziomie relacji 385Reguły biznesowe 386Widoki 386
Kompletowanie dokumentacji bazy danych 387W końcu zrobione 388Podsumowanie 388
Cz III Inne problemyprojektowania baz danych 389
Rozdzia 14 Czego nie nale y robi 391Tematy omoacutewione w tym rozdziale 391Płaskie pliki 392
Kup książkę Poleć książkę
12 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Projekt na bazie arkusza kalkulacyjnego 393Rozwiązywanie problemoacutew związanych
z przyzwyczajeniami do widoku arkusza kalkulacyjnego 394Projekt bazy danych pod kątem konkretnego oprogramowania 396Wnioski końcowe 397Podsumowanie 397
Rozdzia 15 Naginanie b d amanie regu 399Tematy omoacutewione w tym rozdziale 399Kiedy można nagiąć lub złamać reguły 399
Projektowanie analitycznej bazy danych 399Poprawianie wydajności obliczeń 400
Dokumentowanie działań 402Podsumowanie 403
Na zako czenie 405
Dodatki 407Dodatek A Odpowiedzi na pytania kontrolne 409
Dodatek B Diagram procesu projektowania baz danych 427
Dodatek C Wytyczne projektowe 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla poacutel 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla relacji 445Warunki klucza kandydującego 446Warunki klucza obcego 446Warunki klucza głoacutewnego 446
Reguły tworzenia kluczy głoacutewnych 447Warunki idealnego pola 447Warunki idealnej tabeli 447Integralność na poziomie poacutel 448Wytyczne tworzenia opisoacutew poacutel 448Wytyczne tworzenia opisoacutew tabel 448Wytyczne tworzenia nazw poacutel 449Wytyczne tworzenia nazw tabel 449Identyfikowanie relacji 450Identyfikacja wymagań dotyczących perspektyw 450Wytyczne dotyczące prowadzonych rozmoacutew 451
Wskazoacutewki związane z uczestnikami 451Wskazoacutewki dotyczące prowadzącego rozmowę 451
Kup książkę Poleć książkę
Spis tre ci 13
Misje 451Cele misji 452Integralność na poziomie relacji 452Eliminowanie poacutel wielowartościowych 452Integralność na poziomie tabel 453
Dodatek D Formularze dokumentacyjne 455
Dodatek E Symbole u ywane w diagramach stosowanychw procesie projektowania baz danych 459
Dodatek F Przyk adowe projekty 461
Dodatek G O normalizacji 467Uwaga 467Kroacutetkie przypomnienie 468W jaki sposoacuteb normalizacja jest zintegrowana z moją metodologią
projektowania 471Projekt logiczny a projekt fizyczny i implementacja 473
Dodatek H Zalecana lektura 475
S owniczek 477
Literatura 489
Skorowidz 491
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Spis tre ci 11
Tabele walidacji 341Czym są tabele walidacji 341Korzystanie z tabel walidacji w celu realizowania reguł biznesowych 342
Sprawdzanie arkuszy specyfikacji reguł biznesowych 346Podsumowanie 352Pytania kontrolne 353
Rozdzia 12 Widoki 355Tematy omoacutewione w tym rozdziale 355Czym są widoki 355Anatomia widoku 357
Widok danych 357Widok zagregowany 361Widok walidacji 364
Określanie i definiowanie widokoacutew 366Praca z użytkownikami i zarządem 366Identyfikowanie widokoacutew 367Przeglądanie dokumentacji każdego widoku 373
Podsumowanie 378Pytania kontrolne 380
Rozdzia 13 Sprawdzanie integralno ci danych 383Tematy omoacutewione w tym rozdziale 383Dlaczego należy sprawdzać integralność danych 384Sprawdzanie i korygowanie integralności danych 384
Integralność na poziomie tabel 385Integralność na poziomie poacutel 385Integralność na poziomie relacji 385Reguły biznesowe 386Widoki 386
Kompletowanie dokumentacji bazy danych 387W końcu zrobione 388Podsumowanie 388
Cz III Inne problemyprojektowania baz danych 389
Rozdzia 14 Czego nie nale y robi 391Tematy omoacutewione w tym rozdziale 391Płaskie pliki 392
Kup książkę Poleć książkę
12 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Projekt na bazie arkusza kalkulacyjnego 393Rozwiązywanie problemoacutew związanych
z przyzwyczajeniami do widoku arkusza kalkulacyjnego 394Projekt bazy danych pod kątem konkretnego oprogramowania 396Wnioski końcowe 397Podsumowanie 397
Rozdzia 15 Naginanie b d amanie regu 399Tematy omoacutewione w tym rozdziale 399Kiedy można nagiąć lub złamać reguły 399
Projektowanie analitycznej bazy danych 399Poprawianie wydajności obliczeń 400
Dokumentowanie działań 402Podsumowanie 403
Na zako czenie 405
Dodatki 407Dodatek A Odpowiedzi na pytania kontrolne 409
Dodatek B Diagram procesu projektowania baz danych 427
Dodatek C Wytyczne projektowe 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla poacutel 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla relacji 445Warunki klucza kandydującego 446Warunki klucza obcego 446Warunki klucza głoacutewnego 446
Reguły tworzenia kluczy głoacutewnych 447Warunki idealnego pola 447Warunki idealnej tabeli 447Integralność na poziomie poacutel 448Wytyczne tworzenia opisoacutew poacutel 448Wytyczne tworzenia opisoacutew tabel 448Wytyczne tworzenia nazw poacutel 449Wytyczne tworzenia nazw tabel 449Identyfikowanie relacji 450Identyfikacja wymagań dotyczących perspektyw 450Wytyczne dotyczące prowadzonych rozmoacutew 451
Wskazoacutewki związane z uczestnikami 451Wskazoacutewki dotyczące prowadzącego rozmowę 451
Kup książkę Poleć książkę
Spis tre ci 13
Misje 451Cele misji 452Integralność na poziomie relacji 452Eliminowanie poacutel wielowartościowych 452Integralność na poziomie tabel 453
Dodatek D Formularze dokumentacyjne 455
Dodatek E Symbole u ywane w diagramach stosowanychw procesie projektowania baz danych 459
Dodatek F Przyk adowe projekty 461
Dodatek G O normalizacji 467Uwaga 467Kroacutetkie przypomnienie 468W jaki sposoacuteb normalizacja jest zintegrowana z moją metodologią
projektowania 471Projekt logiczny a projekt fizyczny i implementacja 473
Dodatek H Zalecana lektura 475
S owniczek 477
Literatura 489
Skorowidz 491
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
12 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Projekt na bazie arkusza kalkulacyjnego 393Rozwiązywanie problemoacutew związanych
z przyzwyczajeniami do widoku arkusza kalkulacyjnego 394Projekt bazy danych pod kątem konkretnego oprogramowania 396Wnioski końcowe 397Podsumowanie 397
Rozdzia 15 Naginanie b d amanie regu 399Tematy omoacutewione w tym rozdziale 399Kiedy można nagiąć lub złamać reguły 399
Projektowanie analitycznej bazy danych 399Poprawianie wydajności obliczeń 400
Dokumentowanie działań 402Podsumowanie 403
Na zako czenie 405
Dodatki 407Dodatek A Odpowiedzi na pytania kontrolne 409
Dodatek B Diagram procesu projektowania baz danych 427
Dodatek C Wytyczne projektowe 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla poacutel 445Definiowanie i wprowadzanie reguł biznesu specyficznych dla relacji 445Warunki klucza kandydującego 446Warunki klucza obcego 446Warunki klucza głoacutewnego 446
Reguły tworzenia kluczy głoacutewnych 447Warunki idealnego pola 447Warunki idealnej tabeli 447Integralność na poziomie poacutel 448Wytyczne tworzenia opisoacutew poacutel 448Wytyczne tworzenia opisoacutew tabel 448Wytyczne tworzenia nazw poacutel 449Wytyczne tworzenia nazw tabel 449Identyfikowanie relacji 450Identyfikacja wymagań dotyczących perspektyw 450Wytyczne dotyczące prowadzonych rozmoacutew 451
Wskazoacutewki związane z uczestnikami 451Wskazoacutewki dotyczące prowadzącego rozmowę 451
Kup książkę Poleć książkę
Spis tre ci 13
Misje 451Cele misji 452Integralność na poziomie relacji 452Eliminowanie poacutel wielowartościowych 452Integralność na poziomie tabel 453
Dodatek D Formularze dokumentacyjne 455
Dodatek E Symbole u ywane w diagramach stosowanychw procesie projektowania baz danych 459
Dodatek F Przyk adowe projekty 461
Dodatek G O normalizacji 467Uwaga 467Kroacutetkie przypomnienie 468W jaki sposoacuteb normalizacja jest zintegrowana z moją metodologią
projektowania 471Projekt logiczny a projekt fizyczny i implementacja 473
Dodatek H Zalecana lektura 475
S owniczek 477
Literatura 489
Skorowidz 491
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Spis tre ci 13
Misje 451Cele misji 452Integralność na poziomie relacji 452Eliminowanie poacutel wielowartościowych 452Integralność na poziomie tabel 453
Dodatek D Formularze dokumentacyjne 455
Dodatek E Symbole u ywane w diagramach stosowanychw procesie projektowania baz danych 459
Dodatek F Przyk adowe projekty 461
Dodatek G O normalizacji 467Uwaga 467Kroacutetkie przypomnienie 468W jaki sposoacuteb normalizacja jest zintegrowana z moją metodologią
projektowania 471Projekt logiczny a projekt fizyczny i implementacja 473
Dodatek H Zalecana lektura 475
S owniczek 477
Literatura 489
Skorowidz 491
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
14 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
1Relacyjna
baza danych
Ryba musi p ywa trzy razy mdashw wodzie w ma le i w winie
mdash przys owie
Tematy omoacutewione w tym rozdzialeRodzaje baz danych
Wczesne modele baz danych
Model relacyjnych baz danych
Zarządzanie relacyjną bazą danych
Poza modelem relacyjnym
Co niesie przyszłość
Podsumowanie
Pytania kontrolne
Relacyjne bazy danych istnieją od ponad 40 lat Ten najbardziej rozpowszechniony naświecie typ baz danych niezbędnych w naszym codziennym życiu rozkręcił branżę wartąmiliony dolaroacutew Jest bardzo prawdopodobne że korzystasz z relacyjnej bazy danych zakażdym razem kiedy robisz zakupy przez internet lub w lokalnym sklepie układasz planpodroacuteży lub wypożyczasz książki
Zanim zagłębimy się w proces projektowania przyjrzyjmy się kroacutetkiej historiirelacyjnych baz danych mdash skąd się wzięły gdzie są teraz i w jakim kierunku podążają
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
36 Rozdzia 1 Relacyjna baza danych
Rodzaje baz danychCo to jest baza danych Jak zapewne wiesz baza danych to zorganizowana kolekcja danychwykorzystywanych do modelowania niektoacuterych typoacutew organizacji lub ich procesoacutew Niema znaczenia czy do zbierania i przechowywania danych używasz papieru czy aplikacjikomputerowej Jeśli tylko zbierasz dane w zorganizowany sposoacuteb i w konkretnym celu maszbazę danych W dalszej części tej książki przyjmiemy że do zbierania i przechowywaniadanych będziemy wykorzystywać aplikacje
Istnieją dwa rodzaje baz danych operacyjne i analityczneOperacyjne bazy danych są kręgosłupem wielu firm organizacji oraz instytucji na
całym świecie Ten rodzaj bazy danych jest wykorzystywany głoacutewnie do przetwarzaniatransakcji internetowych (OLTP) w sytuacjach kiedy istnieje potrzeba zbierania modyfikacjii utrzymania danych każdego dnia Dane przechowywane w operacyjnej bazie danych sądynamiczne co znaczy że wciąż się zmieniają i zawsze odzwierciedlają aktualne informacjeOrganizacje takie jak sklepy wytwoacuternie i wydawnictwa korzystają z operacyjnych bazdanych ponieważ ich dane ciągle się zmieniają
Analityczne bazy danych są głoacutewnie wykorzystywane przy analitycznym przetwarzaniuonline (OLAP) w sytuacjach kiedy istnieje potrzeba przechowywania i śledzenia danychhistorycznych i zależnych od czasu Analityczna baza danych jest cennym atutem jeślipotrzebujemy prześledzić trendy przejrzeć dane statystyczne z długiego zakresu czasuoraz stworzyć taktyczne lub strategiczne projekcje biznesowe Ten typ bazy danychprzechowuje dane statyczne co oznacza że dane te nie zmieniają się nigdy (lub bardzorzadko) Informacje zebrane w analitycznej bazie danych pokazują dane dotyczącekonkretnego momentu w czasie
Laboratoria chemiczne firmy geologiczne oraz agencje marketingowe zajmujące sięanalizą to przykłady firm ktoacutere mogą wykorzystywać analityczne bazy danychAnalityczne bazy danych często wykorzystują dane z baz operacyjnych jako głoacutewneźroacutedło mogą więc istnieć między nimi powiązania Jednakże operacyjne i analitycznebazy danych spełniają bardzo specyficzne potrzeby w zakresie przetwarzania danycha tworzenie ich struktur wymaga radykalnie odmiennych metodologii projektowychTa książka skupia się na projektowaniu operacyjnych baz danych ponieważ są onenajbardziej rozpowszechnione
Wczesne modele baz danychZanim narodził się model relacyjnych baz danych w powszechnym użyciu były dwa innemodele wykorzystywane do utrzymania danych i wykonywania na nich operacji mdash modelhierarchiczny oraz model sieciowy
Niektoacutere pojęcia z ktoacuterymi zetkniesz się w tym rozdziale zostały szczegoacutełowowyjaśnione w rozdziale 3
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Wczesne modele baz danych 37
Uwaga Kroacutetki opis ka dego z tych modeli przedstawiony jest tu tylko zewzgl doacutew historycznych Uwa am e warto wiedzie co poprzedzi o modelrelacyjny aby lepiej zrozumie co doprowadzi o do jego powstania i ewolucji
W tym przegl dzie opisuj pokroacutetce struktur danych w ka dym mo-delu dost p do nich a tak e prezentuj zale no ci pomi dzy dwiema tabe-lami i kilka wad oraz zalet ka dego z modeli
Hierarchiczny model bazy danychDane w tym typie bazy mają strukturę hierarchiczną a typowy diagram ma kształtodwroacuteconego drzewa Pojedyncza tabela w bazie danych pełni rolę korzeni odwroacuteconegodrzewa a inne tabele są gałęziami wyrastającymi z tych korzeni Rysunek 11 pokazujediagram typowej struktury hierarchicznej bazy danych
Rysunek 11 Diagram typowej hierarchicznej bazy danych
Baza danych agentoacutew
W przyk adzie pokazanym na rysunku 11 agent zajmuje si rezerwacjamikilku artystoacutew estradowych a ka dy artysta ma swoacutej harmonogram Agentma roacutewnie kilku klientoacutew ktoacuterych potrzebami musi si zaj Klient re-zerwuje wyst p poprzez agenta i p aci mu za us ug
Zależność w hierarchicznej bazie danych reprezentowana jest przez pojęcia rodzici dziecko W tym typie zależności tabela-rodzic może być powiązana z jedną lub kilkomatabelami-dziećmi ale pojedyncza tabela-dziecko może być powiązana tylko z jednątabelą-rodzicem Te tabele są wyraźnie ze sobą połączone poprzez wskaźnik lub fizyczneuporządkowanie rekordoacutew w tabeli W tym modelu użytkownik dostaje się do danychzaczynając od głoacutewnej tabeli a kierując się w doacuteł hierarchii dociera do danych docelowychTaka metoda dostępu wymaga od użytkownika obeznania ze strukturą bazy danych
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
38 Rozdzia 1 Relacyjna baza danych
Jedną z zalet korzystania z hierarchicznej bazy danych jest to że użytkownik możebardzo sprawnie uzyskać dane ponieważ wewnątrz struktury tabeli istnieją wyraźnepołączenia Kolejną zaletą jest wbudowana integralność odniesień ktoacutera jest wykonywanaautomatycznie Dzięki temu mamy pewność że rekord w tabeli-dziecku będzie połączonyz istniejącym rekordem w tabeli-rodzicu oraz że usunięty rekord w tabeli-rodzicuspowoduje usunięcie wszystkich powiązanych z nim rekordoacutew w tabeli-dziecku
Problem w hierarchicznej bazie danych pojawia się kiedy użytkownik potrzebujeprzechować w tabeli-dziecku rekord ktoacutery w danym momencie nie jest połączony z żadnymrekordem z tabeli-rodzica Przyjrzyj się przykładowi wykorzystania bazy danych agentoacutewz rysunku 11 Użytkownik nie może wprowadzić danych nowego artysty do tabeliArty ci dopoacuteki ten artysta nie zostanie przypisany do agenta z tabeli Agenci Przypomnijsobie że rekord w tabeli-dziecku (w tym przypadku w tabeli Arty ci) musi być powiązanyz rekordem w tabeli-rodzicu (Agenci) Jednak w prawdziwym życiu artyści zazwyczajnajpierw zapisują się do agencji a dopiero poacuteźniej zostaje im przypisany agent Takiscenariusz jest trudny do wprowadzenia w hierarchicznej bazie danych Możemy obejśćte zasady zakładając fikcyjny rekord w tabeli Agenci Taka opcja nie jest niestety optymalna
Ten typ baz danych nie wspiera złożonych zależności i często generuje problemyzwiązane ze zbędnymi danymi Na przykład pomiędzy klientami i artystami istniejezależność bdquowiele do wielurdquo mdash artysta pracuje dla wielu klientoacutew a klient zatrudnia wieluartystoacutew Ten typ zależności nie może być modelowany w hierarchicznej bazie danychnależy więc wprowadzić dodatkowe dane zaroacutewno do tabeli Harmonogram jak i Anga e
1 Tabela Harmonogram będzie teraz zawierała dane klienta (takie jak nazwiskoadres i numer telefonu) by pokazać dla kogo i gdzie będzie występował artystaTe dane są tutaj zbędne ponieważ są one przechowywane w tabeli Klienci
2 Tabela Anga e będzie teraz zawierała dane artystoacutew (takie jak nazwisko numertelefonu rodzaj działalności artysty) aby pokazać ktoacuterzy artyści pracują dlaktoacuterych klientoacutew Te dane roacutewnież są zbędne ponieważ są aktualnie przechowywanew tabeli Arty ci
Problem z dodatkowymi danymi polega na tym że możliwy jest brak konsekwencjiwe wprowadzaniu danych To z kolei prowadzi do tworzenia niedokładnych informacji
Użytkownik może obejść ten problem tworząc jedną hierarchiczną bazę danychspecjalnie dla artystoacutew a drugą specjalnie dla agentoacutew Nowa baza danych dla artystoacutewbędzie się składała tylko z tabeli Arty ci a zaktualizowana baza agentoacutew będzie zawierałatabele Agenci Klienci P atno ci oraz Anga e Tabela Harmonogram nie będzie jużpotrzebna w bazie danych artystoacutew ponieważ można określić logiczną zależność(tabela-dziecko) pomiędzy tabelą Anga e w bazie danych agentoacutew a tabelą Arty ciw bazie danych artystoacutew Mając tę zależność ustaloną jesteś w stanie wyszukać roacuteżnorodneinformacje na przykład listę zamoacutewionych przez danego klienta artystoacutew lub harmonogramwystępoacutew dla danego artysty Rysunek 12 pokazuje diagram nowego modelu
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Wczesne modele baz danych 39
Rysunek 12 Wykorzystywanie hierarchicznej bazy danychdo rozwi zywania problemoacutew z zale no ci bdquowiele do wielurdquo
Jak łatwo zauważyć osoba projektująca hierarchiczną bazę danych musi być zdolnado rozpoznania potrzeby wykorzystania tej techniki dla zależności typu bdquowiele do wielurdquoTutaj potrzeba ta była w miarę oczywista ale wiele zależności jest znacznie bardziejniejasnych i mogą zostać zidentyfikowane dopiero na bardzo poacuteźnym etapie projektowanialub co gorsza już po oddaniu bazy danych do użytku
Hierarchiczne bazy danych były bardzo popularne i sprawdziły się dobrze w systemachpamięci taśmowej wykorzystywanej przez komputery mainframe w latach 70 Jednakmimo że zapewniały szybki i bezpośredni dostęp do danych i w wielu przypadkachokazały się bardzo przydatne potrzebny był nowy model baz danych ktoacutery rozwiązałbyrosnący problem zbędnych danych oraz złożonych zależności pomiędzy nimi
Sieciowy model baz danychSieciowe bazy danych zostały stworzone głoacutewnie w celu rozwiązania niektoacuterych problemoacutewistniejących w hierarchicznych bazach danych Ich struktura reprezentowana jest przezwęzły oraz zestawy struktur Rysunek 13 pokazuje diagram typowej sieciowej bazy danych
Węzeł przedstawia kolekcję rekordoacutew a zestaw struktur ustala i prezentuje zależnośćw sieciowej bazie danych Wzajemny stosunek pary węzłoacutew prezentuje przejrzystakonstrukcja pokazując jeden węzeł jako właściciela (ang owner) a drugi jako uczestnika(ang member) co jest znacznym postępem w stosunku do zależności rodzic ndash dzieckoZestaw struktur wspiera zależność bdquojeden do wielurdquo co oznacza że rekord w węźle--właścicielu może być powiązany z jednym lub wieloma rekordami w węźle-uczestniku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
40 Rozdzia 1 Relacyjna baza danych
Rysunek 13 Diagram typowej sieciowej bazy danych
ale pojedynczy rekord w węźle-uczestniku może być powiązany tylko z jednym rekordemw węźle-właścicielu Dodatkowo rekord w węźle-uczestniku nie może istnieć bezodwołania do istniejącego rekordu w węźle-właścicielu Na przykład klient musi byćprzypisany do agenta ale agent może wciąż występować w bazie danych bez przypisanychklientoacutew Rysunek 14 pokazuje diagram prostego zestawu struktur
Jeden lub kilka zestawoacutew (połączeń) może być zdefiniowanych pomiędzy konkretnąparą węzłoacutew a pojedynczy węzeł może być powiązany roacutewnież z innymi węzłami w baziedanych Na rysunku 13 na przykład węzeł Klienci jest powiązany z węzłem P atno cipoprzez strukturę P ac Jest on także powiązany z węzłem Anga e poprzez strukturęWyst puj Oproacutecz odnoszenia się do węzła Klienci węzeł Anga e łączy się także z węzłemArty ci za pomocą struktury Wyst puj
Rysunek 14 Podstawowa struktura z o ona
W sieciowej bazie danych użytkownik może uzyskać dostęp do danych poprzezodpowiednie struktury złożone Inaczej jest w hierarchicznej bazie danych gdzie dostępmożna uzyskać poprzez głoacutewną tabelę Tutaj użytkownik ma dostęp do danych z bazysieciowej a zacząć może od dowolnego węzła i poruszać się do tyłu lub do przodu
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Model relacyjnych baz danych 41
poprzez powiązane zestawy Przyjrzyjmy się jeszcze raz bazie danych agentoacutew na rysunku13 Przyjmijmy że użytkownik chce znaleźć agenta ktoacutery dokonał rezerwacji określonegowystępu Użytkownik zaczyna od zlokalizowania odpowiedniego rekordu występu w węźleAnga e a następnie poprzez strukturę Wyst puj określa ktoacutery agent bdquozarządzardquo rekordemtego występu W końcu użytkownik poprzez strukturę Reprezentuj odnajduje odpowiedniegoagenta ktoacutery bdquozarządzardquo rekordem klienta Użytkownik może znaleźć odpowiedź na wielepytań o ile potrafi poprawnie nawigować w odpowiednich strukturach
Zaletą sieciowej bazy danych jest szybki dostęp do danych Pozwala ona roacutewnieżużytkownikom na tworzenie bardziej skomplikowanych kwerend niż byłoby to możliwew przypadku hierarchicznej bazy danych Głoacutewną wadą sieciowej bazy danych jest to żeaby moacutec poruszać się w strukturach użytkownik musi być dobrze zaznajomiony z baząJeszcze raz przyjrzyjmy się bazie danych agentoacutew z rysunku 13 To na użytkownikuspoczywa obowiązek zaznajomienia się z zestawami struktur jeśli chce sprawdzićczy opłata za określony występ została wniesiona Kolejną wadą jest trudność w takimwprowadzaniu zmian do struktury bazy danych aby nie wpływało to negatywnie naaplikacje ktoacutere z nią wspoacutełpracują Przypominam że w sieciowej bazie danych zależnośćzdefiniowana jest jako zestaw struktur Nie możesz zmieniać zestawu struktur bezwpływania na aplikacje ktoacutere wykorzystują te struktury do poruszania się pomiędzydanymi Jeśli zmienisz zestaw struktur musisz roacutewnież zmodyfikować wszystkiepowiązania tej struktury z zewnętrznymi aplikacjami
Mimo iż sieciowe bazy danych były krokiem naprzoacuted w poroacutewnaniu z bazamihierarchicznymi niektoacuterzy wciąż wierzyli że musi istnieć lepszy sposoacuteb na zarządzaniei utrzymywanie dużych ilości danych W miarę pojawiania się kolejnych modeli danychużytkownicy przekonywali się że mogą zadawać coraz bardziej złożone pytaniazwiększając tym samym wymagania stawiane przed bazami danych W ten sposoacutebdoszliśmy do modelu relacyjnych baz danych
Model relacyjnych baz danychRelacyjna baza danych powstała w 1969 roku i jest wciąż jednym z najszerzejwykorzystywanych modeli w zarządzaniu danymi Ojcem modelu relacyjnego jest dr EdgarF Codd ktoacutery w poacuteźnych latach 60 pracował jako naukowiec w IBM i szukał nowychsposoboacutew na radzenie sobie z dużymi ilościami danych Jego niezadowolenie z oacutewczesnychmodeli baz danych doprowadziło go do rozważań na temat wykorzystania dyscyplini struktur matematycznych do rozwiązania niezliczonych problemoacutew ktoacutere napotykałJako zawodowy matematyk mocno wierzył że może wykorzystać określone gałęziematematyki do rozwiązania problemoacutew takich jak zbędne dane ich słaba integralnośćoraz zbytnia zależność struktur baz danych od ich fizycznej implementacji
Dr Codd oficjalnie przedstawił nowy model relacyjny w swojej książce zatytułowanejA Relational Model of Data for Large Shared Databanks1 w czerwcu 1970 roku Swoacutej 1 Edgar F Codd A Relational Model of Data for Large Shared Databanks bdquoCommunications of the ACMrdquo
czerwiec 1970 s 377 ndash 387
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
42 Rozdzia 1 Relacyjna baza danych
nowy model oparł na dwoacutech gałęziach matematyki mdash teorii zbioroacutew i logice predykatoacutewpierwszego rzędu Sama nazwa modelu pochodzi od terminu relacja ktoacutery jest częściąteorii zbioroacutew Szeroko rozpowszechniona błędna koncepcja głosi że model relacyjnyzapożyczył swoją nazwę od powiązań pomiędzy tabelami relacyjnej bazy danych
Relacyjna baza danych przechowuje dane w relacjach ktoacutere są przez użytkownikoacutewpostrzegane jako tabele Każda relacja składa się z krotek zwanych rekordami orazatrybutoacutew zwanych polami W dalszej części książki będę używał terminoacutew tabelerekordy oraz pola Fizyczny układ rekordoacutew lub poacutel jest zupełnie niematerialny a każdyrekord w tabeli jest możliwy do zidentyfikowania poprzez pole zawierające unikatowąwartość To są dwie cechy charakterystyczne relacyjnej bazy danych ktoacutere pozwalająby dane istniały niezależnie od sposobu ich fizycznego przechowywania w komputerzeW związku z tym by wydobyć dane użytkownik nie musi znać fizycznej lokalizacjirekordu Roacuteżni się to zupełnie od modeli hierarchicznych oraz sieciowych w ktoacuterychznajomość struktur była niezbędna do wydobycia danych z bazy
Model relacyjny kategoryzuje zależności na bdquojeden do jednegordquo bdquojeden do wielurdquo orazbdquowiele do wielurdquo Te zależności zostaną szczegoacutełowo omoacutewione w rozdziale 10 Zależnośćpomiędzy parą tabel jest bezwzględnie ustalona przez pasujące wartości wspoacutelnego polaNa rysunku 15 na przykład tabele Klienci i Agenci są ze sobą powiązane poprzez poleNr agenta Konkretny klient jest powiązany z agentem poprzez pasujący Nr agenta W tensam sposoacuteb tabele Arty ci oraz Anga e powiązane są ze sobą poprzez Nr artysty Rekordw tabeli Arty ci może być powiązany z rekordem w tabeli Anga e poprzez pasującyNr artysty O ile użytkownik zna się na zależnościach występujących pomiędzy tabelamiw bazie danych może mieć dostęp do danych na niemal nieskończoną ilość sposoboacutewMoże wydobywać dane z tabel ktoacutere są ze sobą powiązane bezpośrednio oraz pośrednioPrzyjrzyj się bazie danych agentoacutew na rysunku 15 Mimo że tabela Klienci łączy się z tabeląAnga e pośrednio użytkownik jest w stanie uzyskać listy klientoacutew i artystoacutew ktoacuterzy dlanich pracowali (to oczywiście zależy od tego jak skonstruowane są tabele ale dla naszychpotrzeb ten przykład jest wystarczający) Użytkownik zrobi to z łatwością ponieważtabela Klienci łączy się bezpośrednio z tabelą Anga e a ta z kolei z tabelą Arty ci
Pozyskiwanie danychW bazie relacyjnej dane pozyskuje się wykorzystując strukturalny język zapytań SQLSQL to standardowy język wykorzystywany do tworzenia modyfikowania utrzymywaniarelacyjnej bazy danych oraz tworzenia zapytań Poniższy przykład pokazuje deklaracjęSQL ktoacuterą możesz wykorzystać do otrzymania listy klientoacutew w mieście Katowice
SELECT Nazwisko klienta Imi klienta Telefon klientaFROM KlienciWHERE City = KatowiceORDER BY Nazwisko klienta Imi klienta
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Model relacyjnych baz danych 43
Rysunek 15 Przyk ady tabel powi zanych w relacyjnej bazie danych
Podstawowa kwerenda SQL składa się z trzech komponentoacutew deklaracjiSELECTFROM warunku WHERE oraz warunku ORDER BY Warunek SELECT wykorzystujeszby wskazać pola ktoacuterych chcesz użyć w kwerendzie a warunek FROM by wskazać tabelęlub tabele do ktoacuterych należą te pola Możesz filtrować rekordy ktoacutere zwraca kwerendapoprzez narzucanie kryterioacutew na jedno lub wiele poacutel za pomocą warunku WHERE a następniesortować rezultaty w porządku rosnącym lub malejącym za pomocą warunku ORDER BY
Większość dzisiejszych programoacutew obsługujących relacyjne bazy danych zawieraw sobie roacuteżne formy implementacji SQL poczynając od okien w ktoacuterych użytkownicywpisują bdquosurowerdquo komendy SQL aż po narzędzia pozwalające użytkownikom na budowaniekwerend za pomocą elementoacutew graficznych Na przykład użytkownik pracującyz oprogramowaniem RBASE firmy RBASE Technologies może wybrać budowaniei wykonywanie poleceń SQL wprost z okna poleceń a ktoś korzystający z Microsoft SQL
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
44 Rozdzia 1 Relacyjna baza danych
Server może uznać że łatwiej jest budować kwerendy wykorzystując narzędzie graficzneBez względu na sposoacuteb budowy kwerend użytkownik może je zachować do następnegowykorzystania
Do pracy z bazami danych nie zawsze konieczna jest znajomość języka SQL Jeślioprogramowanie daje możliwość graficznego tworzenia kwerend lub jest zbudowanespecjalnie dla Twojej bazy danych samodzielne wpisywanie komend nie jest konieczneDobrze jest jednak poznać podstawy SQL Osobom korzystającym z narzędzi tworzeniakwerend pomoże to w zrozumieniu i poprawieniu ewentualnych błędoacutew w kwerendachprzyda się także w przypadku konieczności skorzystania z oprogramowania wyższej klasytakiego jak Oracle lub Microsoft SQL Server
Uwaga Mimo i szczegoacute owa analiza j zyka SQL wykracza poza zakrestej ksi ki musisz zrozumie e SQL to j zyk bezpo rednio powi zanyz modelem relacyjnych baz danych Je li masz potrzeb lub ochot poznaSQL mo esz zacz od przeczytania innej z moich ksi ek SQL Queriesfor Mere Mortals a nast pnie zapozna si z innymi ksi kami dotycz cymiSQL ktoacutere wymienione s w dodatku H
Zalety relacyjnych baz danychRelacyjna baza danych posiada więcej zalet niż poprzednio omoacutewione Należą do nich
Wbudowana wielopoziomowa integralność Integralność danych jest wbudowanaw model na poziomie pola aby zapewnić dokładność danych na poziomietabeli by upewnić się że rekordy nie są duplikowane oraz by wykryć brakującewartości klucza głoacutewnego na poziomie zależności by upewnić się że zależnośćpomiędzy dwiema tabelami jest ważna na poziomie firmy by przekonać się żedane są dokładne w sensie biznesowym Temat integralności będzie poruszanyw miarę omawiania procesu projektowego
Logiczna i fizyczna niezależność danych od aplikacji baz danych Ani zmianypoczynione przez użytkownika na poziomie logicznego projektu bazy danychani też zmiany oprogramowania wprowadzane przez producenta na poziomiefizycznej implementacji nie wpłyną niekorzystnie na aplikacje zbudowanew oparciu o bazę danych
Gwarantowana konsekwencja i dokładność danych Dane są podawanekonsekwentnie i dokładnie dzięki wielu poziomom integralności ktoacutere możesznarzucić bazie danych Ten temat stanie się jasny w miarę omawiania procesuprojektowego
Łatwe pozyskiwanie danych Dane mogą być pozyskane z konkretnej tabelilub z dowolnej liczby tabel powiązanych w bazie danych przy wykorzystaniukomend użytkownika To pomaga użytkownikowi przeglądać informacjena wiele roacuteżnych sposoboacutew
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Zarz dzanie relacyjn baz danych 45
Te i inne zalety okazały się korzystne dla środowiska biznesowego oraz dla tychwszystkich ktoacuterzy zbierają dane i zarządzają nimi W wielu przypadkach relacyjna bazadanych stała się pożądanym wyborem
Głoacutewną wadą relacyjnych baz danych jest to że bazujące na nich oprogramowaniedziała bardzo wolno Nie jest to wina samego modelu relacyjnego lecz dostępnościtechnologii pomocniczych w momencie wprowadzania modelu Szybkość przetwarzaniapamięć oraz pojemność były po prostu niewystarczające by zapewnić producentomoprogramowania do tworzenia baz danych platformę na ktoacuterej mogliby zbudować pełnąimplementację relacyjnej bazy danych Z tego powodu pierwsze programy do tworzeniarelacyjnych baz danych nie pozwalały na rozwinięcie ich pełnego potencjału Postępyzaroacutewno w technologii tworzenia oprogramowania jak i sprzętu sprawiły że w ciąguostatnich 20 lat prędkość przetwarzania przestała mieć znaczenie a producenci zdołaliwygenerować zyski poprzez swe działania służące lepszemu wsparciu modelu
Więcej na temat modelu relacyjnych baz danych dowiesz się z dalszej części tejksiążki Niektoacutere z poruszonych tematoacutew będą dotyczyły tworzenia tabel ustalaniaintegralności danych pracy z zależnościami i ustalania reguł biznesowych
Zarz dzanie relacyjn baz danychSystem zarządzania relacyjną bazą danych (SZRBD) jest aplikacją wykorzystywaną dotworzenia utrzymywania i modyfikacji relacyjnej bazy danych oraz do manipulacji niąWiele system SZRBD zapewnia także narzędzia niezbędne do tworzenia aplikacji dlaużytkownika ktoacutere wchodzą w interakcje z danymi przechowywanymi w bazie danychOczywiście jakość SZRBD zależy od tego w jakim stopniu wspiera on model relacyjnychbaz danych Nawet w przypadku bdquoprawdziwychrdquo systemoacutew SZRBD poziom wsparciadla relacyjnych baz danych roacuteżni się w zależności od producenta a nikt jeszcze niewykorzystał pełnego potencjału tego modelu Bez względu na to wszystkie systemySZRBD ewoluują i stają się coraz potężniejsze
Początkowo systemy SZRBD były przeznaczone do użytku na komputerach mainframe(czy nie wszystkie programy tak zaczynały) Dwoma najbardziej rozpowszechnionymisystemami SZRBD we wczesnych latach 70 były System R stworzony przez IBM w SanJose Research Laboratory w Kalifornii oraz Interactive Graphics Retrieval System(INGRES) stworzony na Uniwersytecie Kalifornijskim w Berkeley Te dwa programyznacząco przyczyniły się do powszechnego zrozumienia wartości modelu relacyjnychbaz danych
Kiedy z czasem korzyści wynikające z używania relacyjnych baz danych stały siębardziej oczywiste wiele firm zdecydowało się na ostrożną wymianę hierarchicznychi sieciowych modeli baz danych na relacyjne tworząc w ten sposoacuteb zapotrzebowanie nalepsze systemy SZRBD dla komputeroacutew mainframe W latach 80 dla tych komputeroacutewkomercyjne oprogramowanie zaczęły produkować firmy takie jak Oracle i IBM
Na początku i w połowie lat 80 nastąpił znaczny wzrost użytkowania komputeroacutewosobistych a wraz z tym rozwoacutej systemoacutew SZRBD dla tych komputeroacutew Pierwsze proacuteby
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
46 Rozdzia 1 Relacyjna baza danych
w tej kategorii podejmowane między innymi przez Ashton-Tate oraz Fox Software nieroacuteżniły się niczym od prostego systemu zarządzania bazą danych opartego na plikachPrawdziwe systemy SZRBD dla komputeroacutew PC zaczęły dopiero produkować firmytakie jak Microrim oraz Ansa Software Te firmy rozpowszechniły ideę oraz potencjałzarządzania bazami danych i pomogły im przejść ze zdominowanych przez komputerymainframe działoacutew zarządzania informacjami do komputeroacutew na biurkach zwykłychużytkownikoacutew
Potrzeba dzielenia się danymi stawała się oczywista w miarę jak coraz większa liczbaużytkownikoacutew rozpoczynała pracę z bazami danych na przełomie lat 80 i 90 Koncepcjacentralnie zlokalizowanej bazy danych ktoacutera mogła być dostępna dla wielu użytkownikoacutewwydawała się bardzo obiecującym pomysłem Mogło to znacznie uprościć zarządzaniedanymi oraz zapewnienie bezpieczeństwa całej bazie Producenci baz danych tacy jakMicrosoft i Oracle odpowiedzieli na te potrzeby wytwarzając systemy SZRBD typuklient-serwer
W środowisku klient-serwer dane przechowywane są w komputerze ktoacutery pełni rolęserwera bazy danych a użytkownicy wchodzą w interakcje z danymi poprzez aplikacjeumieszczone w ich własnych komputerach czyli klientach bazy danych Programiści bazdanych wykorzystują systemy SZRBD do stworzenia i utrzymania bazy danych oraztowarzyszących im aplikacji użytkownika Integralność danych oraz ich bezpieczeństwozapewniane są na serwerze co pozwala na uzyskanie dostępu do tego samego zestawudanych wielu roacuteżnym aplikacjom użytkownika bez wpływu na integralność orazbezpieczeństwo tych danych
Poza modelem relacyjnymMimo że systemy SZRBD są powszechnie wykorzystywane w typowych aplikacjachbiznesowych takich jak kontrola inwentaryzacyjna zarządzanie pacjentami usługibankowe przetwarzanie zamoacutewień oraz planowanie wydarzeń nie sprawdziły się onew przypadku aplikacji typu CAD (ang computer-aided design projektowanie wspomaganekomputerowo) GIS (ang geographic information system system informacji przestrzennej)oraz systemoacutew przechowywania multimedioacutew Odpowiedzią na ten problem byłopojawienie się dwoacutech nowych modeli baz danych obiektowych oraz obiektowo-relacyjnych
Model obiektowy zawiera wszystkie cechy charakterystyczne dla obiektowego językaprogramowania i degraduje relacyjną bazę danych do statusu magazynu danychPodstawowym założeniem jest tutaj to że programista bazy danych zajmuje się każdymjej aspektem także operacjami mającymi na celu manipulację danymi z poziomuoprogramowania obiektowej bazy danych Nie istnieje już jasny podział na oprogramowaniebazy danych i aplikację Tak jak w przypadku każdego innego modelu to podejście maswoje wady i zalety Versant Corporation i IBM to dwaj producenci wytwarzającyoprogramowanie obiektowych baz danych
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Co niesie przysz o 47
Inaczej niż w przypadku modelu relacyjnego ktoacutery posiada solidne podstawyteoretyczne w dwoacutech odrębnych gałęziach matematyki model obiektowej bazy danychnie posiada żadnych konkretnych podstaw W związku z tym nie ma jednej spoacutejnejdefinicji tego modelu Istnieje jednak wersja modelu zdefiniowana przez konsorcjumObject Management Group (OMG) ktoacutera pełni rolę standardu dla systemoacutew zarządzaniaobiektowymi bazami danych
Uwaga OMG jest mi dzynarodow organizacj typu non profit ktoacuterazajmuje si problemami standardoacutew obiektowych Zosta a za o ona w 1989roku i sk ada si z ponad 800 organizacji cz onkowskich Nale y pami ta e OMG nie jest organizacj wprowadzaj c standardy jak na przyk ad
American National Standards Institute (ANSI) a jedynie grup doradczi certyfikacyjn
Model obiektowo-relacyjny (wcześniej znany jako rozszerzony relacyjny modeldanych) rozszerzył z kolei model relacyjnej bazy danych poprzez wprowadzenieelementoacutew obiektowych oraz cech charakterystycznych takich jak klasy hermetyzacjaoraz dziedziczenie Chodziło o to by rozszerzenia pozwoliły relacyjnej bazie danychna zarządzanie i manipulację złożonymi rodzajami danych takimi jak strumienie audiowideoklipy czy też rysunki architektoniczne Wśroacuted producentoacutew tworzącychaplikacje bazujące na tym modelu są IBM Oracle Microsoft oraz PostgreSQL GlobalDevelopment Group
Co niesie przysz oSposoacuteb użytkowania baz danych zupełnie się zmienił w ostatnich latach Wiele organizacjizdało sobie sprawę że z rozmaitych relacyjnych i nierelacyjnych baz danych możnazebrać wiele użytecznych informacji To popchnęło je do zastanowienia się nad sposobemeksploracji danych do postaci użytecznych informacji analitycznych ktoacutere mogłyby byćwykorzystane przy podejmowaniu ważnych decyzji biznesowych Co więcej organizacjezastanawiały się także nad konsolidacją oraz integracją danych w bazie wiedzyTo rzeczywiście były trudne zagadnienia
IBM zaproponował stworzenie hurtowni danych ktoacutera według oryginalnegozałożenia umożliwiłaby organizacjom dostęp do danych przechowywanych w wielunierelacyjnych bazach danych Pierwsze proacuteby implementacji hurtowni danych niepowiodły się głoacutewnie z powodu złożoności oraz problemoacutew z wydajnością ktoacutere takiezadania generują Dopiero w latach 90 implementacja hurtowni danych stała sięwykonalna i praktyczna Bill Inmon uznawany za ojca hurtowni danych jest głośnymorędownikiem technologii ktoacutery odegrał rolę w jej ewolucji Hurtownie danych sąobecnie coraz bardziej popularne w miarę jak firmy starają się spożytkować duże ilościdanych przechowywanych latami w bazach
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
48 Rozdzia 1 Relacyjna baza danych
Na sposoacuteb wykorzystywania baz danych przez organizacje znaczący wpływ maroacutewnież internet Wiele firm wykorzystuje sieć do poszerzania bazy konsumentoacutewa znaczna ilość danych ktoacuterymi dzielą się z konsumentami lub ktoacutere od nich uzyskująprzechowywana jest w bazie danych Programiści najczęściej do zbierania i konsolidowaniadanych z wielu relacyjnych i nierelacyjnych systemoacutew wykorzystują język XML (angExtensible Markup Language) Wielu producentoacutew podjęło znaczny wysiłek by namoacutewićswoich klientoacutew do tworzenia baz i przechowywania danych w chmurze to znaczyw miejscu niezwiązanym z siedzibą klienta Chodzi o to żeby klient z każdego miejscai o każdej porze za pomocą internetu moacutegł mieć dostęp do bazy danych znajdującej sięw chmurze Z uwagi na powszechne w ostatnich latach występowanie i wykorzystywanieurządzeń połączonych zapewne interesujący będzie rozwoacutej systemoacutew zarządzania bazamidanych w tego typu środowisku
Ostatnia uwagaSystemy SZRBD mają długą historię i wciąż odgrywają ważną rolę w sposobie interakcjiludzi firm i organizacji z danymi Rola tych programoacutew nieustannie się poszerza w miaręjak dane stają się bardziej dostępne przez internet a firmy narzucają coraz większetempo by rozszerzyć swoją obecność w sieci Liczne organizacje zainwestowały sporesumy w relacyjne bazy danych ktoacutere w najbliższym czasie nie znikną
PodsumowanieRozpocząłem ten rozdział od zdefiniowania dwoacutech typoacutew baz danych wykorzystywanychobecnie w zarządzaniu bazami operacyjnych i analitycznych
Następnie pokroacutetce omoacutewiłem hierarchiczny model baz danych oraz model sieciowyZakres tematyczny objął struktury danych zależności i sposoby dostępu do danychwykorzystywane w obu modelach a także ich głoacutewne wady Dowiedziałeś się że te modelebyły szeroko wykorzystywane w początkach istnienia zarządzania bazami danychi doprowadziły do stworzenia oraz wprowadzenia modelu relacyjnych baz danych
Następnie szczegoacutełowo omoacutewiłem temat modelu relacyjnych baz danych ich historiii charakterystyki Podkreśliłem że ten model bazuje na specyficznych gałęziach matematykioraz że to właśnie matematyczne podstawy sprawiają iż model ten jest tak zwartystrukturalnie Następnie przyjrzeliśmy się strukturom danych oraz zależnościomwystępującym w tym modelu oraz roli jaką w dostępności do danych pełni SQLBez wątpienia pamiętasz że SQL to standardowy język wykorzystywany do pracyz relacyjnymi bazami danych Tę część rozdziału zakończyło podsumowanie zaletmodelu relacyjnych baz danych
Poacuteźniej omoacutewiłem kroacutetką historię systemoacutew zarządzania relacyjnymi bazami danychzaczynając od systemoacutew mainframe z lat 70 poprzez lata 80 i systemy oparte na PCaż po systemy klient-serwer z lat 90 Na tym etapie powinniśmy znać okolicznościktoacutere doprowadziły do rozwoju systemoacutew baz danych wykorzystywanych dzisiaj
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Pytania kontrolne 49
Dalsza część rozdziału zawierała kroacutetkie omoacutewienie modeli baz danych obiektowychi obiektowo-relacyjnych Dowiedziałeś się że te modele powstały jako środki do radzeniasobie z zaawansowanymi aplikacjami baz danych oraz że każdy z nich zawiera roacuteżneobiektowe elementy i cechy
Rozdział zamknęło kroacutetkie omoacutewienie tematu hurtowni danych oraz dostępudo danych przez internet Wyjaśniłem że hurtownie danych stworzone są dokonsolidowania i integracji danych z niejednorodnych źroacutedeł oraz że możliwości ichpełnego wykorzystania dopiero niedawno stały się dostępne w praktyce Napisałem teżże XML jest powszechnym formatem zbierania danych ze źroacutedeł relacyjnych i nierelacyjnychoraz że coraz bardziej popularna staje się metoda przechowywania danych w chmurzeTo wszystko sugeruje że relacyjne bazy danych będą najprawdopodobniej wykorzystywanejeszcze przez jakiś czas bez względu na ogromny wpływ internetu na sposoacuteb w jakiorganizacje wykorzystują bazy danych
W następnym rozdziale zastanowimy się dlaczego projektowanie baz danych powinnonas interesować oraz dlaczego teoria jest ważna Omoacutewię wady i zalety dobrego projektu
Pytania kontrolne Wymień dwa typy baz danych wykorzystywanych obecnie
Jaki typ danych przechowuje analityczna baza danych
Prawda czy fałsz Operacyjna baza danych jest wykorzystywana głoacutewniedo przetwarzania transakcji internetowych (OLTP)
Jakie dwa modele danych były w powszechnym użytku w czasach przed modelemrelacyjnych baz danych
Opisz zależność rodzic ndash dziecko
Co to jest zestaw struktur
Wymień jedną z gałęzi matematyki na ktoacuterej opiera się model relacyjny
W jaki sposoacuteb relacyjna baza danych przechowuje dane
Wymień trzy typy zależności w relacyjnej bazie danych
W jaki sposoacuteb pozyskuje się dane z relacyjnej bazy danych
Wymień dwie zalety relacyjnej bazy danych
Co to jest system zarządzania relacyjną bazą danych
Jaka przesłanka kryje się za modelem obiektowo-relacyjnym
Jaki jest cel hurtowni danych
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
50 Rozdzia 1 Relacyjna baza danych
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Skorowidz
Aalias 237analiza bazy danych 91
cel 119dokumenty papierowe 121etapy procesu 121formy baz 119gromadzenie danych 121identyfikacja i przegląd raportoacutew 124lista poacutel 145poznanie 118prezentowanie informacji 124programy komputerowe 121przegląd
prezentacji 124stron internetowych 125
Rowery Michała 151strony WWW 122wywiady 127
przykładowe pytania 118ważne informacje 152z kierownictwem 143z użytkownikami 132
zasada 119analiza wymagań 56aplikacja 477
bazodanowa 324 477użytkownika końcowego 477
arkusz kalkulacyjny 393a baza danych 394przykład raportu 395typowy widok danych 123
arkusz specyfikacji reguł biznesowych 333Deklaracja 333Dotyczy
charakterystyk relacji 334
elementoacutew pola 334struktur 334
elementy 333Kategoria 334Ograniczenie 333Podjęte działania 334Rodzaj 334Rowery Michała 349sprawdzanie 346Test poprzez 334
arkusz specyfikacji widoku 372filtry 373nazwa 372rodzaj 372tabele bazowe 373wyrażenia poacutel obliczeniowych 373
atrybut 69 71 477autowywiad 100
Bbaza danych 36
analityczna 36 477projektowanie 399
definicja celu 106definiowanie tabel
lista cech podmiotoacutew 131dlaczego projektować 51hierarchiczna 478implementacja fizyczna 52kompletowanie dokumentacji 387kryterium 371lista wartości 149logiczny projekt 52luźno zdefiniowana 119mainframe 120metody projektowania 56
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
492 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
baza danychmodel
hierarchiczny 37obiektowo-relacyjny 47obiektowy 46relacyjny 41sieciowy 39
odziedziczona 91 480oparta na wiedzy ludzkiej 119operacyjna 36 480papierowa 91 118 481
analiza 120problemy
zbędnych danych 38związane z aplikacją 24związane z danymi 24
proces tworzenia 26przykład raportu 395redundancja 190relacyjna 35 41 483
podstawy teoretyczne 53wady 45zalety 44zarządzanie 45
reprezentacja aspektoacutew struktury 56rodzaje 36rozwoacutej aplikacji 52sieciowa 483spadkowa 91 118
analiza 120terminologia 64tradycyjna 485typowy widok danych 123w chmurze 48wczesne modele 36
BIGINT 240BIT 240 241brakująca wartość 67 477
CCAD 46cele misji 452 477CHARACTER 240ciąg zerowej długości 477Codd Edgar F 41computer-aided design 46CURRENCY 241
Ddane 64 477
a informacje 65ciągi
binarne 240znakoacutew 240
data i godzina 241dostęp przez internet 48dynamiczne 36 65 70 477eliminacja duplikatoacutew 78gromadzenie
analiza widokoacutew baz danych 122sposoby 121
integralność 44 82klucz obcy 75korygowanie 384ogoacutelna 346relacje 266sprawdzanie 384
interwał 241konsekwencja i dokładność 44liczbowe
dokładne 240logiczne 241przybliżone 241
nadmiarowe 192niezależność od aplikacji 44pozyskiwanie 42 44redundantne 192 477schemat widoku 361statyczne 36 64 70 477typy 240
alfanumeryczny 241data i czas 241numeryczny 241rozszerzony 241
w środowisku klient-serwer 46DATE 241DECIMAL 240definicja celu 91
formułowanie 106przykładowe pytania wywiadu 108Rowery Michała 108układanie 107zadania specyficzne 106
definiowanieelementoacutew fizycznych pola 239
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Skorowidz 493
diagramyrelacji 477związkoacutew encji 56
długość pola 242dokumentacja
formularze 455projektu 387
łamanie zasad projektowania 402domena 82DOUBLE PRECISION 241dozwolone
operacje 248poroacutewnania 247znaki 242
duplikatdanych 478pola 193
dziecko 37dziedzina 478dzielone z 236
Eelementy
fizyczne 233logiczne 234
specyfikacja pola klucza obcego 301ogoacutelne 233pola
fizyczne 82logiczne 82ogoacutelne 82
ERD 56etykieta 234Extensible Markup Language 48
Ffiltr 478filtrowanie rekordoacutew 43fizyczna niezależność danych 478FLOAT 241format wyświetlania 243formularze
dokumentacyjne 455wprowadzania danych 478
funkcjaagregacji 361 478
znacznik null 69COUNT 69Count(Nazwa Produktu) 376MAX() 370
Ggeographic information system GIS 46
Hhurtownia danych 47 478
Iidentyfikacja
bazy danych 118cech podmiotoacutew 130domniemanych podmiotoacutew 160duplikatoacutew
lista podmiotoacutew i tabel 162elementoacutew tabeli 212metod prezentacji danych 124niezdefiniowanych tabel-podzbioroacutew 202przyszłych struktur danych 141relacji 276 450
klucze głoacutewne 283rodzaju
udziału tabel 308widokoacutew 366wykorzystywanych danych 132
sposobu gromadzenia danych 121stopnia udziału tabel 310tematoacutew 129wymagań informacyjnych
dodatkowych 139 144dotyczących perspektyw 450istniejących 137obecnych 143ogoacutelnych 145przyszłych 141 144
implementacja fizyczna 26indeks 76 478informacje 65 478INGRES 45
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
494 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
INT 241INTEGER 240integralność
danych 82 478zasady biznesowe 83
domeny 83dozwolone znaki 242dziedziny 478encji 83 478klucze 212korygowanie 384łamanie zasad projektowania 400na poziomie
poacutel 83 233 385 448 472 479relacji 262 313 385 452 472 478tabel 83 223 385 453 472 478zależności 83
odniesień 83ograniczenia 346referencyjna 478reguły biznesowe 386Rowery Michała 388specyfikacja wszystkich poacutel 232sprawdzanie 384strukturalna 478widok walidacji 364widoki 386wielopoziomowa 479
Interactive Graphics Retrieval System 45
Jjawne informacje 479język programowania 479
Kkardynalność 479kartoteka 118kierownictwo 143klucz 74 479
funkcja 212głoacutewny 194 218 479
oznaczenie 221wartość 218warunki 219 446wymagania 218wytyczne wyboru 218
zasady definiowania 222złożony 487
kandydujący 212kombinacja poacutel 213oznaczenie pola 217sztuczny 216 484warunki 213 446 472wyboacuter pola 214
obcy 75dokładna analiza 299warunki 299 446 472
podstawowy 69 74złożony 79
Rowery Michała 225ustanawianie
relacji 285relacji zwrotnych 294
zastępczy 222 479oznaczenie 223
komputer mainframe 479kreator zapytań 479krotka 69 72 479
LLAN 479lista
cech 131 479elementy ogoacutelne 146listy wartości 149przegląd i czyszczenie 146
celoacutewRowery Michała 204
oznaczanie datami 155podmiotoacutew 129 479
a podmiot na liście tabel 163cechy podmiotu 130definiowanie wstępnej listy tabel 161duplikaty na liście tabel 162połączenie elementoacutew z listą tabel 164
poacuteldefiniowanie wstępnej listy tabel 160identyfikacja podmiotoacutew 160nowe cechy w proacutebkach 148przegląd z uczestnikami rozmoacutew 151Rowery Michała 203weryfikacja 151wstępna 145
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Skorowidz 495
poacutel obliczeniowych 150 479wykorzystanie w widokach 370
tabelostateczna 167Rowery Michała 203wskazywanie typoacutew 172wstępna 160 164
wartości 149wyliczeniowa 149
logicznaniezależność danych 480relacja potomna 480
logika predykatoacutew pierwszego rzędu 480lokalna sieć komputerowa 480
Mmacierz tabeli 276maska wprowadzania 243mechanizm
pobierania danych z wielu tabel 262member 39metodologia projektowania 472miejsca dziesiętne 242misja 451 480model relacyjny 480modelowanie
danych 56roli obiektoacutew 56semantyczno-obiektowe 56
MONEY 241
NNATIONAL CHARACTER 240nazwa pola 234nazywanie
poacutelakronimy 180etykiety 234identyfikacja cech 180 181liczba mnoga 186liczba pojedyncza 181minimalizm 180unikatowość nazw 179wytyczne 449zaciemnianie sensu 181
tabelakronimy i skroacutety 170dwuznaczność nazw 171identyfikacja podmiotu 169kolekcje 171liczba mnoga 171 172nazwy własne 170unikanie cech fizycznych 169unikatowość nazw 168wytyczne 449zwięzłość 169
NCHAR 240niejawne informacje 480nieznana wartość 67normalizacja 57 58 467 480
cel 469rozwiązywanie tradycyjnych problemoacutew 472uwagi 467wizualizacja procesu 469
null 66NUMERIC 240
Oobiekt 480ograniczenia reguły biznesowej 480OLAP 36 480OLTP 36 480OMG 47Online Analytical Processing 480Online Transaction Processing 480opis
pola 238a nazwa pola 238akronimy i skroacutety 239identyfikacja pola 238informacje zależne od implementacji 239uzależnienie od innych opisoacutew 239używanie przykładoacutew 239wytyczne 448zwięzłość 238
tabeli 480definicja 173implementacja 174istotność dla instytucji 173jasność i zwięzłość 174redagowanie 173
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
496 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
opistabeli
stosowanie przykładoacutew 175wytyczne 448wywiady z użytkownikami 175zależność od innego opisu 174
ostateczna lista tabel 481owner 39
Pparsowanie 481perspektywa 73
agregacji 481danych 481walidacji 481
pojęciazwiązane z
integralnością 82strukturą 69wartością 64zależnościami 76
pokaz slajdoacutew 124pole 42 69 71 146 481
anomalia 192eliminacja 182
grupujące 364idealne
cechy 233warunki 183 447 472
integralność 233klucz kandydujący 212kryteria 371nazywanie 179niekluczowe 223 481obliczeniowe 72 363 481
stosowanie w widoku 369odniesienia 194opis 238referencyjne 481reguły biznesowe
definiowanie 331Rowery Michała 205specyfikacja 82 231struktura 239testowanie 184udział w powiązaniu tabel 192
wartośćklucz głoacutewny 220null 67obliczona lub scalona 183opcje wprowadzania 246
wieloczęściowe 183 481eliminacja 185 472
wielowartościowe 72 183 481eliminacja 186 196 452 472relacje 288spłaszczenie 187spłaszczone 272
wystąpienie w wielu tabelach 184zdublowane 183 193 481złożone 72 183
poprawianie wydajności obliczeń 400dostrojenie systemu operacyjnego 401implementacja bazy danych 402przegląd aplikacji 402struktura bazy danych 402usprawnienie sprzętu 401
porządkowanie listy cehcechy podmiotoacutew 147elementy
o tej samej nazwie 146o tych samych cechach 146
postać normalna 57 469 481a problemy projektowania 471Boycersquoa-Codda 471czwarta 471druga 471dziedzina-klucz 471piąta 471pierwsza 471szoacutesta 471trzecia 58 471
pozyskiwanie danych 42prefiks 180prezentacja 124
informacji metody 124ekranowa 481
proceduraeliminowania poacutel wielowartościowych 189identyfikowania relacji między tabelami 281łączenia listy tabel i podmiotoacutew 203opracowywania poacutel wielowartościowych 288tworzenia ostatecznej listy tabel 204
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Skorowidz 497
udoskonalaniapoacutel 205struktur tabel 206
ustanawiania relacji wiele-do-wielu 290proces
implementacji 481logiczny 26projektowania bazy danych 481
projekta implementacja 473aplikacji bazodanowej
reguły biznesowe 324logiczny
a fizyczny 473reguły biznesowe 324
na bazie arkusza kalkulacyjnego 393płaskie pliki 392pod kątem oprogramowania 396przykłady 461
projektowanie 54analitycznej bazy danych 399analiza istniejącej bazy danych 91 117cele 55definiowanie
celu 91tabel 92widokoacutew 94założeń wstępnych 91
diagram procesu 427użyte symbole 459
dostrajanie struktur tabel 192etapy 468fazy 56 427integralność danych 82
kontrola 94 383wprowadzanie 94
korzystanie z papieru 177listy
poacutel 92struktur tabel 178
metodologia 54 57 470korzyści 54normalizacja 471
na podstawie systemu SZRBD 473nauka 405określanie reguł biznesowych 93 321popełniane błędy 391
poznanie organizacji 107proces
rozpoczęcie 99ważność 90
relacje między tabelami 93 261specyficzne ograniczenia 93 324struktur danych 92 159tabeli idealnej 59tradycyjne metody 56ustalanie zależności 93zalety dobrego projektu 55
proacutebki 121danych 134identyfikacja widokoacutew 366opis 135przechowywanie 124raporty 124 137rola 135szkice nowych raportoacutew 145złożone 135znajdowanie nowych cech 148zrzut ekranu 122
przeprowadzanie wywiadoacutew 100pytania kontrolne
odpowiedzi 409pytanie
asocjacyjne 277kontekstowe 278otwarte 481skojarzeniowe 277zamknięte 482zorientowane
na działania 278na własność 278
RRBASE 43raporty 124 482
szkice 142 145widok zagregowany 364
RDBMSpole wielowartościowe 187
REAL 241reguła
kaskadowa 304odmowy 304restrykcyjna 304
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
498 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
regułausuwania relacji 304
oznaczenia 306wyboacuter 305
wartościdomyślnej 305null 305
wprowadzania 246reguły biznesowe 321
arkusz specyfikacji 333 340czynności weryfikujące 332 338 344definiowanie i ustanawianie 328egzekwowanie
klucz gloacutewny 342identyfikacja widokoacutew 367kategorie 326modyfikacja
charakterystyk relacji 337specyfikacji pola 331
ograniczeniadopuszczalne wartości pola 341
rodzaje 324Rowery Michała 346specyficzne
dla poacutel 326 329 445 482dla relacji 327 334 445 482
specyfikacje 472sprawdzanie 346stopień uczestnictwa tabeli 323tabele walidacji 342ustalanie charakterystyki relacji 343ustanawianie ograniczeń 323zorientowane
na aplikację 324na bazę danych 324 482
reguły projektowanianaginanie 399
dokumentowanie działań 402integralność danych 401nadmiarowe dane 401niespoacutejne dane 401nieścisłe informacje 401
rekord 42 69 72 212 482osierocony 304 482relacje zwrotne 273
relacje 42 69 261 482analiza kluczy obcych 299bezpośrednie 277
cechy 472identyfikowanie 276
pomoc 283widokoacutew 367
integralność 262 313jeden-do-jednego 264 281 482
tworzenie schematu 265ustanawianie 284z odwołaniem do samej siebie 482
jeden-do-wielu 265 281 482tworzenie schematu 267ustanawianie 287z odwołaniem do samej siebie 482
pośrednie 277reguły biznesowe
definiowanie 336wymoacuteg ograniczenia 336
rekurencyjne 483rekursywne 273rodzaje 263 483rodzicndashdziecko 483Rowery Michała 313schemat
reguły biznesowe 328rodzaj udziału tabeli 309stopień udziału tabeli 310
sprawdzenie struktur tabel 298symbole 279udział tabel 263ustanawianie 284
charakterystyk 304schematy 287
usuwaniedefiniowanie reguł 304
ważność 262weryfikacja
lista kontrolna 312wiele-do-wielu 267 272 281
nadmiarowe dane 292problemy 268rozwiązywanie 290tworzenie schematu 269ulepszanie struktur tabel 292ustanawianie 290z odwołaniem do samej siebie 483
właścicielndashskładowa 483wzory 281z odwołaniem do samej siebie 483
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Skorowidz 499
relacje zwrotne 273eliminowanie 296identyfikowanie 280jeden-do-jednego 273
tworzenie schematu 274ustanawianie 294
jeden-do-wielu 274tworzenie schematu 275ustanawianie 294
nazwa klucza obcego 301stopień udziału tabel 311ustanawianie 294wiele-do-wielu 275
tworzenie schematu 275ustanawianie 297
rodzaj udziału tabeli 308obowiązkowy 308opcjonalny 308
rodzic 37Rowery Michała 105ROWID 241rozległa sieć komputerowa 483rozszerzone typy danych 483rozwoacutej aplikacji 26
SSERIAL 241składowa 483słowniczek 477SMALLINT 240specyfikacja
pola 483reguły biznesowej 483widoku 484źroacutedłowa 236
specyfikacje poacutel 232 472definiowanie
dla każdego pola w tabeli 255elementy
fizyczne 239logiczne 244ogoacutelne 234
formularz 235kategorie elementoacutew 233konsultacje 255ogoacutelna 252
reguły biznesowe 329replikowana 253Rowery Michała 256typy 236
wykorzystanie 250unikatowa 250
spoacutejność danych 484SQL 42 484
budowa kwerendy 43formy implementacji 43
stopieńuczestnictwa 484udziału 81
tabeli 310strona
internetowa 124WWW 484
strukturabazy danych
logiczna 184danych 484klucza 244zbioru 484złożona 40
strukturalny język zapytań 484struktury tabel
anomaliapuste pola 198
dostrajanie 192duplikaty poacutel 194
eliminowanie 194klucz głoacutewny 194nadmiarowość danych 194płaskie pliki 392pola
obliczeniowe 194wieloczęściowe 194wielowartościowe 194
relacje 262Rowery Michała 227sprawdzenie 298tabela idealna 193tabela-podzbioacuter 201
wyznaczanie 198wstępne
przegląd 224
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
500 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
systemoperacyjny 484zarządzania relacyjną bazą danych 45 484
klient-serwer 484System R 45SZBD 484SZRBD 45 484
błędne projektowanie 396dodatkowe typy danych 241klucze zastępcze 222projektowanie baz danych 52reguły usuwania relacji 304składnia funkcji 370usprawnianie przetwarzania danych 76widok 355wykorzystanie 46
środowisko programistyczne 485
Ttabela 42 69 159 485
asocjacyjna 76danych 70 168 485definicja 173definiowanie
cele misji 165kluczy 212lista podmiotoacutew 161lista poacutel 160ostatecznej listy tabel 167widoku 359wstępnej listy 160
dostrajanienazw 168poacutel 179struktur 192
duplikatypoacutel 192struktur 170
dziecko 77idealna
warunki 193 299 447 472identyfikowanie
rodzaju udziału 308stopnia udziału 310widokoacutew 367
łącząca 76 78 168 485redundancja danych 291ustanawianie relacji 290złożony klucz głoacutewny 291
nadmiarowe dane 192nazywanie 168opis 168 172podglądu 70podmioty podrzędne 200podrzędna
usuwanie relacji 339podstawowa 73pojedynczy podmiot 193pola odniesienia 195potomna 485powiązanie logiczne 262prefiks 180prezentacja
obiektu 70wydarzenia 70
projektowanie 92przeglądowa 341 485przypisywanie poacutel 177reguły biznesowe 329relacje 262
zwrotne 273rodzic 77rola 168stopień udziału 81testowanie struktury
postać normalna 57typ 168typowa struktura 69typu podzbioacuter 168udział w zależności 80walidacji 70 168 341 485
a widok walidacji 364reguły biznesowe 342ustanawianie relacji 342
wirtualna 196 355wskazywanie typoacutew na liście tabel 172zestawy poacutel 200zestawy poacutel-duplikatoacutew 197
tabela-korzeń 485tabela-podzbioacuter 200 485
procedura identyfikacji 202relacja jeden-do-jednego 264Rowery Michała 207
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Skorowidz 501
tabela-rodzic 234 485tabele bazowe 485tablica asocjacyjna 485technika
identyfikacji podmiotoacutewcele misji a lista tabel 165
identyfikująca cechy 131dodatkowe wymagania informacyjne 140nowe tematy 142
identyfikująca podmioty 129nowe tematy 142
identyfikująca tematdodatkowe wymagania informacyjne 140
kierowania na wybrany temat 130teoria 53
zbioroacutew 485TIME 241TIMESTAMP 241TINYINT 241tworzenie aplikacji 485
prawidłowe struktury poacutel 183typ
danych 240klucza 244specyfikacji 236
ogoacutelna 236 250replikowana 236 250unikatowa 236 250
uczestnictwa 485
Uudział tabeli
dowolny 81obowiązkowy 81
UML 56Unicode 240unikatowość pola 244URL 485użytkownik końcowy 485
VVARCHAR 240
WWAN 485wartość
domyślna 246nieznana 486null 486opcjonalna 213wprowadzona przez 245wymagana 245zerowa 245
warunekFROM 43ORDER BY 43SELECT 43
warunkiidealnego pola 486idealnej tabeli 486klucza
głoacutewnego 486kandydującego 486obcego 486
wbudowana integralność odniesień 38weryfikacja podmiotoacutew na liście 160węzeł 39 486widok 73 355 486
a potrzeby użytkownikoacutew 356anatomia 357arkusz specyfikacji 372danych 357
bezpieczeństwo i poufność 357filtrowanie 371jednotabelowy 357modyfikacja 358 361wielotabelowy 359
identyfikacja 367implementacja 359indeksowany 74 356kryteria poacutel 371najświeższe zmiany 356nazywanie 372określanie i definiowanie 366opisywanie 372przeglądanie dokumentacji 373Rowery Michała 375schemat 369stosowanie poacutel obliczeniowych 369
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
502 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
widoktabela bazowa 355 365ustalanie struktury 367walidacji 356 364walidacyjny 74wirtualny 355wywiad z użytkownikami 366zagregowany 361
pola danych 364pole grupujące 364pole obliczeniowe 363
zalety 356zmaterializowany 74 356
właściciel 486wskaźnik 486wspieranie wartości zerowych 245wstępna lista
poacutel 486tabel 486
wymagania informacyjne 486wyszukiwanie
informacji ad hoc 486wytyczne projektowe 445wywiad 100
analiza bazy danych 127asystent 103atmosfera 102definiowanie
reguł biznesowych 328wstępnych struktur poacutel i tabeli 127założeń wstępnych 111
grupy uczestnikoacutew 102identyfikacja
relacji między tabelami 276rodzajoacutew widokoacutew 366
informowanie o intencjach 101kierunek rozwoju firmy 141 144kontrola przebiegu 104nieporozumienia 101ograniczenie liczby uczestnikoacutew 102określanie
cech podmiotoacutew 130cech proacutebek 127tematoacutew 129
opisywanie tabel 175pełna uwaga 104po zdefiniowaniu tabel 224
podstawowe techniki 127proces 128przegląd
proacutebek danych 134wymagań informacyjnych 137
przydatność w fazie analitycznej 127przyszłe wymagania informacyjne 127pytania
istota pytań 128lista pytań 103otwarte 103 107zamknięte 103
relacje zwrotne 280rodzaj wykorzystywanych danych 132specyfikacje poacutel 255sposoacuteb wykorzystania danych 127szukanie ukrytych informacji 112tempo rozmowy 104ustalanie
definicji celu 107lidera grupy 103
wkład uczestnikoacutew 101wytyczne 451
osoba przeprowadzająca wywiad 102rozmoacutewcy 101
z kierownictwemważne kwestie 143
z użytkownikamizagadnienia 132
XXML 48
Zzakres wartości 246zalecana lektura 475zależność 76
jeden do jednego 77 191jeden do wielu 39 78klucze 212między tabelami 42nierozwiązana 79rodzaje udziału 80stopień udziału 81typy 77wiele do wielu 38 78
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
Skorowidz 503
założenia wstępne 91błędy 110definiowanie 111formułowanie 109przykłady 110 113pytania wywiadu 111Rowery Michała 113wyciąganie wnioskoacutew 112
zapytanie 486ad hoc 486
zasada usuwania 487zbioacuter 212zdarzenie 487zestaw struktur 39znacznik null 66
wady 68wartość 67
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę
504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku
Kup książkę Poleć książkę