Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere...

44

Transcript of Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere...

Page 1: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 2: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 3: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 4: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 5: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 6: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 7: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 8: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 9: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 10: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 11: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 12: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 13: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 14: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 15: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 16: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 17: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 18: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 19: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 20: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 21: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 22: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 23: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 24: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 25: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 26: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 27: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 28: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 29: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 30: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 31: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 32: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 33: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 34: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 35: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 36: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 37: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 38: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 39: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 40: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

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ę

Page 41: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie:

504 Projektowanie baz danych dla ka dego Przewodnik krok po kroku

Kup książkę Poleć książkę

Page 42: Tytuł oryginału: Database Design for Mere Mortals · Tytuł oryginału: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Tłumaczenie: