#313 Na zakończenie Nie jestem nauczycielem, a tylko podróżnikiem, którego spytałe o drogę. Wskazałem palcem przed siebie - tak jak i przed Ciebie George Bernard Shaw ========================== Zawsze uważałem, że nie trzeba być fizykiem kwantowym, aby móc poprawnie zaprojektować bazę danych. Mylę, że zadanie to jest stosunkowo proste dla każdego, kto dysponuje sporym zasobem zdrowego rozsšdku. Jeżeli będziesz się trzymał poprawnej metodologii projektowania, powiniene być w stanie tworzyć dobre i efektywne bazy danych. Posiadasz teraz wiedzę i umiejętnoci niezbędne do zaprojektowania relacyjnej bazy danych. Wiesz, jak utworzyć wszystkie wymagane struktury, zdefiniować relacje między tabelami i wprowadzić integralnoć danych. Jeli natrafisz na le skonstruowane bazy, wiesz, jak je naprawić. Uczenie się projektowania baz danych jest procesem cišgłym. Możesz poznać je w stopniu wystarczajšcym do tworzenia baz na swój prywatny użytek; możesz uczynić sobie z tego zawód; możesz wreszcie powięcić życie na zgłębianie jego tajemnic. Niezależnie od stopnia zaangażowania, prędzej czy póniej odkryjesz, że im więcej się dowiadujesz, tym bardziej zdajesz sobie sprawę, jak wielu rzeczy nadal nie wiesz! Nie zrażaj się jednak - to samo dotyczy każdej z dziedzin życia - muzyki, sztuki, filozofii czy fizyki kwantowej. Mam szczerš nadzieję, że przeczytałe niniejszš ksišżkę z takš samš przyjemnociš, jakš sprawiło mi jej napisanie. Wiem, że większoć tego rodzaju pozycji jest nieco oschła, starałem się więc wprowadzić tu i ówdzie szczyptę humoru - zwłaszcza opisujšc poszczególne wywiady z przedstawicielami różnych organizacji. Ci z Was, którzy uznali przykładowe dialogi za realistyczne, majš sporo racji - zostały one w dużej mierze oparte na rozmowach, które sam przeprowadzałem z klientami w trakcie mojej kariery zawodowej. W charakterze pożegnania przyjmij ode mnie prostš radę: ucz się. Nie bój się poznawać nowych technik i pojęć. Nauka otwiera umysł na wieże pomysły i nowe punkty widzenia; zachęca do kooperacji i porozumiewania się z innymi; poszerza więc nasze wspólne horyzonty. #314 Nauka jest podróżš i - jak każda podróż - wymaga zrobienia pierwszego kroku. Krok ten postawiłe, czytajšc niniejszš ksišżkę. Masz teraz szansę kontynuować swojš podróż, poznajšc nowe aspekty tworzenia i obsługi baz danych. Na tym kończy się moja ksišżka, lecz twoja przygoda dopiero się zaczyna. #315 Dodatek A. Przykładowe projekty Przedstawione tu przykładowe projekty majš za zadanie dać Ci wyobrażenie 0 bazach danych, które możesz utworzyć. Podkrelam słowo wyobrażenie", ponieważ pięciu różnych ludzi może spojrzeć na ten sam przykład, a następnie sporzšdzić pięć całkowicie różnych projektów, w zależnoci od swoich potrzeb, przyzwyczajeń 1 osobistych przekonań. Celowo usunšłem z tabel wszystkie pola z wyjštkiem kluczy podstawowych i obcych, ponieważ nie chce sugerować sposobów wypełniania tych tabel. Z tego samego powodu usunšłem również większoć cech relacji. Jeli uważasz, że mógłby wykorzystać który z zamieszczonych tu projektów, potraktuj go w poznanym przez Ciebie procesie projektowania jako istniejšcš bazę danych. 1.[Budynki ---------------- ID Budynku KP]-||- do 2. 2.{Pomieszczenia ID pomieszczenia KP z 1.-o-<-ID budynku KO}-|-|--do 5. 3[[Uczniowie ------------- ID ucznia KP]]-|-|--do 4. 4.{Uczniowie/lekcje ----------------- z3-o-<-ID ucznia ZKP/KO" ID lekcji ZKP/KO}->-o-do 5. 5.(Lekcje ----------- z4--|-|-ID lekcji KP ID pomieszczenia KO--|-|--z 2. ID pracownika KO)->-o-do 6. 6.((Nauczyciele do 7-|-|-ID nauczyciela KP))-|-|-z 5. 7.{{Pracownicy z6--|-|--ID pracownika KP}} Rysunek A.l. Baza danych szkoły #316 1.[Klienci ----------- do2.--|-|--ID klienta KP 2.[[Zamówienia ---------------- ID zamówienia KP--|-|--do 4. z2.-o-<-ID klienta KO do 3.-o-<-ID pracownika KO]] 3.(Pracownicy z2.--|-|--ID pracownika KP) 4.{Szczegóły zamówień ----------------------- z 2.-o-<-ID zamówienia ZKP/KO ID produktu ZKP/KO}->-o-do 5. 5.{{Produkty ----------------------- z4.--|-|--ID produktu KP ID producenta KO}}->-o-do6. 6.((Producenci z5.--|-|--ID producenta KP Rysunek A.2. Baza danych punktu sprzedaży detalicznej 1.[Klienci ----------- ID klienta KP--|-|--do 4. do2.--|-|--ID porednika 2.[[Porednicy ----------------- ID porednika KP]]--|-|--z 2. i do 3. 3.(Muzycy ---------------- do5.--|-|--ID muzyka KP--|-|--do 4. z2.-o-<-ID porednika KO) 4.{Umowy z klientami -------------------------- z1.-o-<-ID klienta ZKP/KO z3.-o-<-ID muzyka ZKP/KO} 5.{{Członkowie zespołów ------------------------ z3.--|-|--ID muzyka ZKP Nazwisko członka ZKP Imię członka ZKP Rysunek A.3. Baza danych agencji poredniczšcej #317 1.Oprogramowanie ------------------- ID przedmiotu KP--|-|--do3. 2.Meble --------------- ID przedmiotu KP--|-|--do4. 3.Sprzęt biurowy -------------------- ID przedmiotu KP--|-|--z1. 4.Przedmioty ------------------- z2.--|-|--ID przedmiotu KP--|-|--do5. 5.Przedmioty/pojemniki -------------------- ID pojemnika ZKP/KO z4.-o-<-ID przedmiotu ZKP/KO->-o-do6. 6.Pojemniki ----------------- ID pojemnika KP--|-|--z 5. do7.-o-<-ID przechowalni KO 7.Przechowalnie ---------------------- z6.--|-|--ID przechowalni KP Rysunek A.4. Baza danych wyposażenia biurowego #319 Dodatek B. Diagramy Dla łatwego wglšdu, zamieszczam tu wszystkie symbole wykorzystywane przy diagramowaniu tabel, relacji i perspektyw. #320 Tabele i perspektywy [Klienci ----------- ID klienta] TABELA DANYCH [[Szczegóły zamówień -------------------- Numer zamówienia ID produktu]] TABELA ŁĽCZĽCA {Spis telefonów klientów ------------------------ | |} PERSPEKTYWA {{Pracownicy (pół etatu) ------------------ ID pracownika}} TABELA-PODZBIÓR (Kategorie ------------- ID kategorii Opis kategorii) TABELA WALIDACJI Typy relacji --|-----------|-- jeden-do-jednego --|-----------<-- jeden-do-wielu -->-----------<-- wiele-do-wielu Typy uczestnictwa --|-|--------o-<-- -o-<-- - Uczestnictwo opcjonalne --|-|- - Uczestnictwo obowišzkowe Stopnie uczestnictwa (1,8) 8 - Maksymalna dopuszczalna liczba powišzanych rekordów 1 - Minimalna dopuszczalna liczba powišzanych rekordów Zasady kasowania (C) - Kaskadowa (R) - Restrykcyjna Oznaczenia kluczv KA Klucz alternatywny KO Klucz obcy KK Klucz kandydujšcy ZKK Złożony klucz kandydujšcy KP Klucz podstawowy ZKP Złożony klucz podstawowy #321 Dodatek C. Formularze dokumentacyjne Dodatek ten zawiera nie wypełnione formularze atrybutów pól, reguł integralnoci oraz perspektyw. #322 Atrybuty pola Atrybuty ogólne _______________________________________________________________ Nazwa pola: Tabela-matka: Oznaczenie: __________________________________________________________________________________ Pozostałe tabele: Alias(y): __________________________________________________________________________________ Opis: __________________________________________________________________________________ Atrybuty fizyczne_______________________________________________________________ Typ danych: Dłoć: Dozwolone znaki: Liczba miejsc dziesiętnych: || Litery (A-Z) ||Dodatkowe (.,/$# %) Maska wprowadzania: || Cyfry (0-9) ||Specjalne (Š Ž E) Format wywietlania: __________________________________________________________________________________ Atrybuty logiczne_______________________________________________________________ Typ klucza: ||Brak ||Podstawowy Dozwolone porównania: || Obcy ||Zastępczy ||To samo pole | ||= ||> ||>= Unikatowoć: ||Nieunikatowe ||Unikatowe ||Inne pola | ||nie= ||< ||<= Wartoć wymagana: ||Nie ||Tak Dozwolone operacje: Wartoci zerowe: ||Dozwolone ||Zabronione ||To samo pole | ||+ ||x(razy) Reguła wprowadzania:||Wprowad teraz, modyfikacje dozwolone||Inne pola | ||- ||/(dziel) ||Wprowad teraz, modyfikacje zabronione ródło wartoci:|| Użytkownik ||System ||Wprowad póniej, modyfikacje dozwolone Wartoć domylna: ||Wprowad póniej, modyfikacje zabronione Zakres wartoci: __________________________________________________________________________________ _ Specyfikacja __________________________________________________________________ Typ specyfikacji: ||Unikatowa ||Wzorzec ||Replika Oparta na istniejšcej specyfikacji: ||Nie ||Tak Specyfikacja ródłowa: __________________________________________________________________________________ (ŠŽS)-C w kółku,R w kółku,TM w indeksie górnym,symbol sigma |x|-kwadracik zaznaczony || -pusty =/-rózny =przekrelone | - oddzielenie pionowe ___ -oddzielenie poziome #323 opis j.w_____________________________________________________________________________________ Specyfikacja reguły integralnoci _______________________________________________________________________________________ Sformułowanie: _______________________________________________________________________________________ Ograniczenie: _______________________________________________________________________________________ Typ: Kategoria: Czynnoci grożšce naruszeniem: || bazodanowy || zwišzana z polem || wprowadzanie |x| modyfikacja || aplikacyjny || zwišzana z relacjš || usuwanie _______________________________________________________________________________________ Modyfikowane struktury____________________________________________________...
sliwak