10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

41
`

Transcript of 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

Page 1: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

`

Page 2: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

0

MINISTERSTWO EDUKACJI i NAUKI Andrzej Krawczyk Ewa Sromala Analizowanie potrzeb klienta i projektowanie struktury baz danych 312[01].Z3.01 Poradnik dla ucznia Wydawca Instytut Technologii Eksploatacji – Państwowy Instytut Badawczy Radom 2005

Page 3: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 1

Recenzenci: mgr Bogdan Kostrzewa mgr inż. Andrzej Uzar Opracowanie redakcyjne: mgr inż. Katarzyna Maćkowska Konsultacja: dr inż. Bożena Zając Korekta: mgr inż. Tomasz Sułkowski Poradnik stanowi obudowę dydaktyczną programu jednostki modułowej 312[01].Z3.01 Analizowanie potrzeb klienta i projektowanie struktury baz danych zawartego w modułowym programie nauczania dla zawodu technik informatyk. Wydawca Instytut Technologii Eksploatacji – Państwowy Instytut Badawczy, Radom 2005

Page 4: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 2

SPIS TREŚCI 1. Wprowadzenie 3 2. Wymagania wstępne 4 3. Cele kształcenia 5 4. Materiał nauczania 6 4.1. Analiza potrzeb użytkowników systemu 6

4.1.1. Materiał nauczania 6 4.1.2. Pytania sprawdzające 12 4.1.3. Ćwiczenia 12 4.1.4. Sprawdzian postępów 18

4.2. Funkcje systemu 19 4.2.1. Materiał nauczania 19 4.2.2. Pytania sprawdzające 20 4.2.3. Ćwiczenia 20 4.2.4. Sprawdzian postępów 22

4.3. Fizyczna organizacja danych w bazie 22 4.3.1. Materiał nauczania 22 4.3.2. Pytania sprawdzające 24 4.3.3. Ćwiczenia 24 4.3.4. Sprawdzian postępów 26

4.4. Schematy tabel 26 4.4.1. Materiał nauczania 26 4.4.2. Pytania sprawdzające 28 4.4.3. Ćwiczenia 28 4.4.4. Sprawdzian postępów 30

4.5. Normalizacja danych 31 4.5.1. Materiał nauczania 31 4.5.2. Pytania sprawdzające 33 4.5.3. Ćwiczenia 33 4.5.4. Sprawdzian postępów 34

5. Sprawdzian osiągnięć 35 6. Literatura 39

Page 5: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 3

1. WPROWADZENIE

Poradnik będzie Ci pomocny w kształtowaniu umiejętności: − analizowania założeń określonego systemu informatycznego, − projektowania struktury bazy danych, − budowania bazy danych, − definiowania relacji, − zapewniania integralności danych, − pracy w grupie.

W poradniku zamieszczono: − wykaz umiejętności, jakie powinieneś posiadać, by bez problemów korzystać z poradnika, − cele kształcenia, które pozwolą Ci uświadomić sobie cel informacji i ćwiczeń zawartych

w poradniku, − materiał nauczania, czyli skondensowane wiadomości teoretyczne oraz wskazówki, które

pomogą Ci zrozumień i poprawnie wykonać zestaw ćwiczeń, − zestaw pytań, który pozwoli Ci sprawdzić, czy zapoznałeś się i zrozumiałeś wszystkie

wiadomości i możesz przystąpić do wykonania ćwiczeń, − ćwiczenia, które pozwolą ukształtować praktyczne umiejętności analizowania potrzeb

klienta i projektowania struktury bazy danych, − sprawdzian osiągnięć, dzięki któremu ocenisz swoje wiadomości i umiejętności

ukształtowane w trakcie pracy z poradnikiem, − literaturę uzupełniającą.

Pracując z poradnikiem i wykonując ćwiczenia możesz napotkać trudności. Uwagi zapisane pod ćwiczeniami pozwolą Ci: − prawidłowo rozwiązać zadania, chociaż nie są jedyną drogą prowadzącą do osiągnięcia

rezultatu końcowego – Twoja inwencja będzie bardzo cenna, − zwrócić uwagę na umiejętności, które mogą przydać się w przyszłości i które są kluczowe

w obszarze kształcenia. Poradnik zakłada, że wykonasz wszystkie zamieszczone w nim ćwiczenia. Proponuje Ci przeanalizowanie funkcjonowania systemu bazodanowego na kilku przykładach. Każda grupa umiejętności jest kształtowana w oparciu o te same przykłady. W ten sposób prześledzisz drogę projektowania w kilku różnych aspektach. Nakład pracy wymagany do wykonania kolejnego ćwiczenia będzie coraz mniejszy w miarę analizowania kolejnych przykładów. Będziesz wykorzystywał podobne umiejętności i zgłębiał tajniki projektowania systemów bazodanowych. W razie wątpliwości zwróć się o pomoc do nauczyciela.

Page 6: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 4

2. WYMAGANIA WSTĘPNE

Przystępując do realizacji programu nauczania jednostki modułowej powinieneś umieć: − sprawnie posługiwać się aparatem matematycznym, − zarządzać zasobami na nośnikach stałych, − korzystać z zasobów sieci lokalnej, − modyfikować dokument tekstowy, − wyszukiwać informacje w różnych źródłach, − budować bazy danych za pomocą kreatora, − określać relacje między tabelami, − eksportować i importować dane między aplikacjami biurowymi.

Page 7: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 5

3. CELE KSZTAŁCENIA

W wyniku realizacji programu jednostki modułowej powinieneś umieć: − ustalić wymagania użytkowników systemu informatycznego, − określić zbiór danych przyszłej bazy danych, − określić zależności pomiędzy poszczególnymi grupami danych, − utworzyć pośredni model danych, − zdefiniować obiekty bazy danych, − zaproponować zasady kontroli poprawności wprowadzonych danych, − określić klucze: główny (podstawowy) i zewnętrzny, − wskazać pola do indeksowania, − połączyć tabele w relacje, − wprowadzić dane do testowania struktury projektu, − zmodyfikować strukturę relacji.

Page 8: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 6

4. MATERIAŁ NAUCZANIA

4.1. Analiza potrzeb użytkowników systemu

4.1.1. Materiał nauczania Baza danych jest to zbiór uporządkowanych danych zapisany na nośniku zewnętrznym.

Składa się z danych oraz programu komputerowego wyspecjalizowanego do gromadzenia i przetwarzania danych. Program taki nazywany jest "Systemem zarządzania bazą danych" (w skrócie SZBD lub w języku angielskim DBMS - DataBase Management System).

Każdy system bazodanowy według Ullmana Widoma powinien realizować następujące funkcje: − tworzenie nowej bazy danych, − określanie jej struktury przy użyciu narzędzi dialogowych lub poleceń, − tworzenie zapytań do bazy danych, − aktualizowanie danych za pomocą języka SQL, − przechowywanie (ogromnej ilości) danych i ich ochrona, − sterowanie jednoczesnym dostępem dla wielu użytkowników, bezkolizyjność. Według innej definicji można funkcje systemu bazodanowego podzielić na cztery grupy: 1. Obsługa i zarządzenie dostępem do gromadzonych danych. 2. Udostępnienie interfejsu użytkownika. 3. Manipulacje (dodawanie, zmiana i usunięcie) – aktualizacja danych. 4. Zmiana struktury wewnętrznej baz danych.

System baz danych tworzy łańcuch zależności. Na jednym końcu znajduje się użytkownik, dalej są aplikacje i zapytania. Zapytania użytkownika przetwarza odpowiednie oprogramowanie. Ostatnim ogniwem jest oprogramowanie udostępniające dane.

Pod hasłem użytkownik, rozumie się kilka grup osób: − analitycy systemów, − projektanci BD, − programiści, − administrator bazy danych (osoba mająca pełną kontrolę nad strukturą i danymi), − użytkownicy końcowi (tą grupę można podzielić na: użytkowników okazjonalnych,

sparametryzowanych i zaawansowanych), − informatycy.

Istnieje kilka podejść do zrozumienia zaawansowanych systemów bazodanowych. Podejście tradycyjne: − każda aplikacja używana w organizacji wykorzystuje własny system plików na przykład:

rozliczanie klientów, system finansowo–księgowy, sprzedaż, − każda z aplikacji może być stworzona za pomącą innego narzędzia (Pascal, C++), może

pochodzić od innego dostawcy, być dostarczona w różnym czasie, pracować na różnych platformach.

Wady: − przenoszenie danych między aplikacjami jest raczej niemożliwe, − duże prawdopodobieństwo redundancji (powtarzalności, nadmiarowości

w przechowywaniu danych, np.: adres klienta może być przechowywany w systemie sprzedaży i jednocześnie w systemie finansowo-księgowym),

− są większe koszty pracy oraz zwiększa się prawdopodobieństwo błędów,

Page 9: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 7

− nie ma sposobu na zachowanie integralności (możliwość polegania na danych niezależnie od tego, gdzie one się znajdują),

− dane zależne są od programów (te same dane mogą być przechowywane w różny sposób). Podejście bazodanowe:

Zbudowanie jednej bazy danych. Korzystają z niej wszystkie aplikacje. Zalety: − uniwersalność (SZBD- oprogramowanie uniwersalne), − niezależność danych od programów, − konceptualna reprezentacja danych (posługiwanie się danymi na poziomie logicznym

w oderwaniu od zagadnień technicznych), − wbudowana wielodostępność do danych, − możliwość tworzenia perspektyw (struktury wirtualne nieistniejące fizycznie, ale

ułatwiające organizację i prezentację danych), − spójność, − znaczne zmniejszenie redundancji, − ułatwiony dostęp do danych, − możliwość importowania danych z innych źródeł, − ułatwiona modyfikacja systemu i struktur danych, − skrócenie czasu tworzenia aplikacji, − wbudowany system uprawnień i zabezpieczeń, − wbudowane mechanizmy do tworzenia kopii bezpieczeństwa, − obsługa transakcji. Wady: − wysoki koszt początkowy analizy i wdrożenia systemu, − wymagany jest wysoko wyspecjalizowany personel.

Analizując oba podejścia widać wyraźnie ich zalety i wady. W praktyce bardzo często łączy się oba rozwiązania. Programiści budując system informatyczny do przechowywania dużych porcji danych wykorzystują systemy bazodanowe, a dane, które nie wymagają zaawansowanych i szybkich mechanizmów wyszukiwania zapisywane są w plikach. Istnieje kilka modeli baz danych:

Model hierarchiczny Model starszy charakteryzujący się wielopoziomową strukturą, zawierający element

główny i elementy pochodne.

Rys. 1. Model hierarchiczny bazy danych

Model sieciowy Struktura modelu umożliwia połączenie dowolnego elementu z innym. Podobny po części

do hierarchicznego – występują elementy nadrzędne i podrzędne. Różnica polega na tym, że element struktury może mieć więcej niż jeden element nadrzędny.

Page 10: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 8

Rys. 2. Model sieciowy bazy danych

Model relacyjny

Model oparty na postulatach relacyjności opublikował po raz pierwszy E.F. Codda

w książce „A Relational Model of Data for Large Shared Data Banks”. Dwuwymiarowa relacja przedstawiana jest w postaci tabeli złożonej z pionowych kolumn (atrybutów relacji) oraz z wierszy (krotek). Każdy atrybut posiada unikalną nazwę. Kolumna posiada domenę - typ pola określający wartości, jakie mogą się znaleźć w danym polu. Dla każdego pola możemy określić rozmiar. Dane zapisywane są wierszami.

Tabele powinny zawierać pole o unikatowych wartościach zwane kluczem głównym. Klucz główny może być tylko jeden. Może natomiast składać się więcej niż z jednego pola. Klucz główny nie może zawierać wartość NULL (czyli nieokreślonej). W tabeli może także wystąpić klucz drugorzędny (zwykły) – przy jego wyborze nie ma ograniczeń może to być dowolne pole – także nie unikatowe. Klucz drugorzędny wykorzystuje się często do przyspieszenia wyszukiwania – tworząc indeks.

System informatyczny jest odzwierciedleniem rzeczywistości. Jedna z definicji brzmi następująco: System informatyczny jest to zbiór powiązanych ze sobą elementów, którego funkcją jest przetwarzanie danych. Elementami tego zbioru mogą być rzeczy i metody, które można pogrupować następująco: − komputery, − urządzenie przechowujące informacje, − urządzenia komunikacyjne, − urządzenia sterowane bezpośrednio z systemu (sterowniki mechaniczne urządzeń), − oprogramowanie, − ludzie, − elementy organizacyjne – procedury i procesy.

Ważne jest, aby od początku była widoczna różnica między programem komputerowym a systemem informatycznym. Program komputerowy to pojedynczy element systemu informatycznego (nie każdy program jest systemem informatycznym, ale każdy system informatyczny składa się z programów).

System informatyczny w działaniu Pewna firma produkuje notebooki i komputery. Kierujący firmą postanowili włączyć

Internet do kontaktów między klientami a firmą. Założeniem podstawowym było składanie

Page 11: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 9

zamówień przez Internet. Klienci odwiedzając stronę internetową firmy odnajdują model komputera, który ich interesuje. Następnie mogą zmodyfikować podstawową konfigurację, aby dostosować komputer do swoich potrzeb i oczekiwań. Potem składają zamówienie i oczekują na dostawę komputera. Od momentu złożenia zamówienia uruchomiony zostaje proces jego realizacji. System sprawdza, czy jest to podstawowa konfiguracja – jeśli tak to przesyła zamówienie do magazynu i następnie komputer wysłany zostaje kurierem do odbiorcy. Jeżeli jest to zestaw zmodyfikowany, zamówienie trafie na halę produkcyjną, gdzie komputer jest montowany, następnie do działu pakowania i wysyłki.

Cały proces odbywa się w oparciu o system informatyczny. Cześć integralną systemu tworzą maszyny, oprogramowanie i ludzie. Należy podkreślić niezastąpioną rolę człowieka w systemie informatycznym – to od jego działań i decyzji zależy działanie systemu. w przypadku firmy produkującej komputery człowiek bierze czynny udział, w każdym z etapów realizacji zamówienia: w zautomatyzowanym magazynie i na zautomatyzowanej taśmie produkcyjnej. Pracownik montuje podzespoły albo sprawdza jakość montażu. W magazynie pakuje sprzęt i sprawdza, czy adres przesyłki jest prawidłowy. W administracji na bazie raportów i prognoz z systemu analizuje sytuacje firmy i planuje przyszłe działania. Menedżer ma też możliwość wpływu na produkcję i ceny towaru.

Korzystając z ciągłego monitoringu sprzedaży i z prognoz można bardzo dokładnie przewidzieć popyt. Na jego podstawie ustalana jest liczba produkowanych poszczególnych modeli. Na bazie tej liczby można dokładnie przewidzieć zapotrzebowanie na części. Podsystem zamówień automatycznie wykrywa kończący się zapas części i w odpowiednim czasie wysyła zamówienie do dostawców.

Jaki wpływ miał taki system na finanse firmy? Główny nacisk położony został na obsługę poprzez Internet, dzięki czemu udało się znacznie ograniczyć koszty tworzenia sieci sprzedaży. Serwis opiera się na odsyłaniu uszkodzonego komputera kurierem na koszt firmy - nie wymaga to tworzenia rozbudowanej sieci serwisowej. Wystarczy jeden punkt naprawy. Połączenie i zautomatyzowanie większej ilość elementów systemu ograniczyło personel do niezbędnego minimum. Zintegrowany system magazynowy i produkcyjny stworzy podstawę do połączenia sieci z dostawcami. W związku z tym, precyzyjne przewidywanie dostaw umożliwia ograniczenie ilości części magazynowanych w firmie. Dział księgowości opiera się na elektronicznych zamówieniach. Cały proces sprowadził ilość papierów i dokumentów do minimum.

Wdrożenie systemu informatycznego w każdej firmie wiąże się z dużymi kosztami, ale po pewnym czasie inwestycja zwraca się. Ciężko jest znaleźć firmę, która nie skorzystała z wdrożenia systemu informatycznego. Jeżeli już tak by się zdarzyło to najczęściej przyczyną porażki systemu informatycznego jest niedopasowanie systemu do potrzeb i infrastruktury firmy oraz za wysoka cena proponowanych rozwiązań informatycznych.

Budowę systemu informatycznego powinien poprzedzać dokładny plan. Podobnie, budując dom zawsze zaczyna się od projektu. Tak samo powinno postępować się, gdy tworzy się system informatyczny. Każdy program lub baza danych powinna być dokładnie przemyślana i zaplanowana zanim przystąpi się do prac programistycznych. Sporo programistów i twórców baz danych uważa, że najważniejszym elementem jest programowanie. Dlatego zaczynają pracę nad systemem informatyczny od pracy nad kodem ignorując fazę projektowania. Taka metoda nie jest właściwa, ponieważ w rzeczywistości przedłuża czas programowania i zwiększa ilość błędów.

Zatem, aby prawidłowo wykonać aplikacje bazodanową należy jak najdokładniej ją zaplanować. Najpierw należy zebrać informacje od przyszłych użytkowników systemu. Zebrane informacje powinny obejmować następujące zagadnienia: − procesy realizowane w przedsiębiorstwie, − przechowywane dane,

Page 12: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 10

− wymagania użytkowników, − oczekiwania kierownictwa, − wymogi dotyczące raportów, − przyzwyczajenia użytkowników.

Mając powyższe informacje można przystąpić do sporządzenia grafu zależności. Na grafie umieszcza się użytkowników, grupy użytkowników lub dział firmy. Przy każdej z pozycji zapisuje się dane potrzebne tej osobie, a przy wydziałach, jakie dane wydział gromadzi. Następnie należy połączyć poszczególne elementy w sieć. Przedstawiony na rys. 3 przykładowy schemat prezentuje system informatyczny w księgarni:

Rys. 3. System informatyczny w księgarni

Po wykonaniu schematu infrastruktury systemu informatycznego, należy zaplanować

warstwy aplikacji. Idea ta polega na podziale systemu bazodanowego na warstwy odpowiedzialne za realizację kolejnych poziomów abstrakcji, począwszy od danych, a na interfejsie aplikacji kończąc. Wykorzystanie logiki warstw uniezależnia poszczególne poziomy od siebie i w przyszłości ułatwi utrzymanie systemu, jego rozbudowę i modernizację. Najczęściej występuje architektura trójelementowa lub dwuelementowa.

Page 13: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 11

Architektura trójelementowa

Pierwsza warstwa jest odpowiedzialna za interakcje z użytkownikiem. Zawiera ona

elementy interfejsu graficznego użytkownika. Warstwa ta jest bardzo mocno zintegrowana i zależna od środowiska programistycznego.

Druga warstwa składa się z elementów związanych z problemem. Jest to warstwa odpowiedzialna za odwzorowanie modelu. Model ten powstaje w wyniku analizy wymogów strukturalnych systemu informatycznego – czyli wcześniej wspomnianego schematu. Warstwa ta składa się z obiektów logiki biznesowej (odpowiedzialnych za realizację zagadnień z dziedziny problemów projektu) i obiektów sterujących (obiektów odpowiedzialnych za sterowanie aplikacją).

Trzecia warstwa jest odpowiedzialna za nawiązanie i realizację połączenia z danymi. Ma za zadanie umożliwić dostęp do danych zapewniając jednocześnie stabilny, spójny i jednolity dostęp do danych. Warstwa ta jest silnie związana ze środowiskiem programistycznym i plikami, albo bazami danych. Ta warstwa często jest teoretycznie dzielona na elementy zaprogramowane przez developera i na elementy sterowników (ODBC lub JDBC) oraz bibliotek dostępu do danych.

Rozwiązanie dobrze zbudowane w idei architektury trójwarstwowej charakteryzuje się słabymi związkami pomiędzy elementami. Słabe związki należy rozumieć jako możliwie najmniejszą zależność pomiędzy warstwami. Czyli im mniej kodu w pozostałych warstwach trzeba będzie zmienić wymieniając element lub elementy danej warstwy, tym związek jest słabszy – rozwiązanie jest wtedy bardziej elastyczne. Następstwem słabych związków jest słabszy wpływ jednej warstwy na drugą.

Stosuje się również rozwiązania jednowarstwowe. Przykładem może być MS Acces, w którym wszystkie składniki systemu mogą funkcjonować w jednym module.

W celu lepszego zrozumienia idei warstwy zastanówmy się nad poniższym przykładem. W firmie obsługującej wielu klientów funkcjonuje system bazodanowy, który powstał 3 lata temu. Dział informatyczny zostaje zobligowany do zmiany systemu bazodanowego z Microsoft SQL Server na MySQL. Im zależności pomiędzy warstwą dziedziny problemu, a warstwą danych są słabsze tym mniej pracy będzie do wykonania. W tym przypadku, przy dobrze zaprojektowanym systemie, wystarczy, że programiści wymienią biblioteki baz danych i przejrzą kod pod względem zgodności zapytań starej bazy danych z nową.

Najbardziej dopracowane rozwiązanie umożliwia wymianę nawet całej warstwy bez wpływu na pozostałe.

Podsumowując, tworzenie aplikacji w architekturze trójwarstwowej jest bardziej pracochłonne, niż programowanie bez warstw, czy technik RAD. Stworzenie koncepcji jest trudniejsze, ale daje kilka korzyści: − kod i projekt mają łatwą do czytania strukturę. Gdy każda warstwa skoncentrowana jest na

jednym aspekcie łatwiej zarządza się kodem - konserwacja i modyfikacja projektu jest łatwiejsza,

Warstwa prezentacji

Warstwa dziedziny problemu

Warstwa baz danych

Page 14: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 12

− modyfikacje spowodowane koniecznością zmiany technologii często ograniczają się do przepisania jednej warstwy lub jej fragmentu.

Architektura dwuelementowa – aplikacje typu RAD

Aplikacje typu RAD (ang. Rapid Application Development - czyli tzw. „szybkie

tworzenie aplikacji”) wiążą bardzo silnie warstwę prezentacji z warstwą danych. W konsekwencji nawet drobne zmiany w schemacie muszą być odzwierciedlone w interfejsie graficznym i na odwrót. Idea ta nie zawiera elementów biznesowych, a więc często pojawiają się problemy z analizą danych i wykorzystaniem analiz.

Ciekawym współczesnym rozwiązaniem jest realizowanie modułu prezentacji w postaci przeglądarki internetowej, co w istotny sposób zwiększa liczbę komputerów, za pomocą których można z bazy danych korzystać.

4.1.2. Pytania sprawdzające Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń. 1. Czym jest baza danych? 2. Czym jest system zarządzania bazą danych i jakie podstawowe funkcje realizuje? 3. Jakie znasz rodzaje baz danych – sposoby przechowywania informacji – ich zalety i wady? 4. Jakie są najpopularniejsze modele wykorzystywane w bazie danych? 5. Jak jest definicja systemu informatycznego? 6. Jakie elementy wchodzą w skład systemu informatycznego? 7. Jakie są wady, a jakie zalety planowania systemu informatycznego? 8. Wymień i opisz etapy projektowania aplikacji? 9. Opisz projektowanie aplikacji w architekturze dwuelementowej. 10. Opisz projektowanie aplikacji w architekturze trójelementowej. 11. Co to jest architektura RAD?

4.1.3. Ćwiczenia

Wskazówki: Wykonanie ćwiczeń 3-10 będzie wymagało sporządzenia szeregu notatek, również

w oparciu o rozmowy z klientem. Przygotuj elegancki notatnik. Wszystkie elementy w Twoim wyglądzie, wyposażeniu i otoczeniu powinny przekonywać klienta o solidności i profesjonalizmie.

Przygotuj teczkę do gromadzenia dokumentacji każdego ćwiczenia. Mimo podobieństw, systemy, o których w nich mowa różnią się. Rzetelne i uporządkowane wykonanie ćwiczeń pozwoli Ci zrozumieć różne aspekty projektowania systemów bazodanowych i rozdzielić informacje dotyczące każdego z nich. Jeżeli poświęcisz ćwiczeniom uwagę od samego początku, to kolejne będziesz mógł wykonać coraz sprawniej. Dzięki temu zaprojektowanie w przyszłości bazy danych dla klienta nie będzie dla Ciebie stanowiło problemu.

Warstwa prezentacji

Warstwa kodu aplikacji

Page 15: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 13

Ćwiczenie 1 Obecnie powstaje bardzo dużo systemów CRM – (ang. Customer Relation Ship – system

zarządzania kontaktem z klientem). Systemy te realizują liczne zadania związane z obsługą klientów, często też są systemami zintegrowanymi (obsługującymi kilka różnych działów firmy). W Internecie można znaleźć informacje na temat założeń takiego systemu jak i jego realizacji. Zapoznaj się z tymi informacjami, rozpisz elementy składowe i zależności między nimi.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) przemyśleć sposób sformułowania zapytania w wyszukiwarce, 2) zastanowić się, czym jest CRM, jakie moduły wchodzą w skład CRM, jakie są zależności

pomiędzy modułami, 3) uruchomić przeglądarkę internetową, 4) uruchomić dobre narzędzie wyszukujące i wpisać przygotowane zapytanie, 5) pobrać wartościowe informacje i zapisać je w dokumencie tekstowym. Staraj się nie

zapisywać całych stron, ale tylko niezbędny tekst i grafikę, 6) podzielić się wynikami z innymi uczniami w grupie.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 2 Wymień dyscypliny życia, w których wykorzystanie baz danych może przynieść korzyści.

Jakie korzyści, a jakie utrudnienia?

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) wymienić, gdzie stosowane są systemy baz danych. Zbudować jak najszerszą listę. Przyda się do wykonania innych ćwiczeń,

2) zastanowić się lub wyszukać w dostępnych źródłach informacje, w jaki sposób przetwarzano dane w tych miejscach przed epoką informatyzacji,

3) spróbować wyliczyć korzyści, jakie płyną z elektronicznego przetwarzania danych właśnie w tych miejscach,

4) oszacować nakład pracy, jaki należało włożyć, w celu przystosowania przetwarzania danych w tych miejscach do postaci elektronicznej,

5) ocenić stopień bezpieczeństwa danych w obu systemach, 6) oszacować na przykładzie szybkość dostępu do danych w obu systemach, 7) oszacować rzetelność otrzymywanych informacji, 8) porównać swoje spostrzeżenia z innymi uczniami w grupie. Uzupełnić swoje notatki

o przykłady i uwagi wypracowane przez innych uczniów.

Wyposażenie stanowiska pracy: – komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Page 16: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 14

Ćwiczenie 3 Dyrektor ZOO, który jest dobrym znajomym nauczyciela biologii zwraca się z prośbą

o zinformatyzowanie systemu przetwarzania informacji o zwierzętach. Załóżmy, że w tym ZOO funkcjonuje aktualnie system zawierający spis zwierząt przechowujący następujące dane: − gatunek zwierzęcia, − nazwa systematyczna, − data przybycia do ZOO, − data urodzenia (znana?), − rodzice, − imię, − kraj i miejsce pochodzenia, − opiekun, − choroby, − szczepienia, − miejsce pobytu, − notatki.

Dyrektor chciałby posiadać szybki, płynny i pewny sposób otrzymywania informacji na temat: − którymi zwierzętami zajmuje się każdy z opiekunów, − które zwierzęta chorowały na określoną chorobę, − które zwierzęta pochodzą z określonego kraju, − jakie zwierzęta wybranego gatunku znajdują się w ZOO, − które zwierze będzie obchodziło wkrótce urodziny, − wykaz szczepień , − jak skontaktować się z poprzednim właścicielem, − jak dotrzeć do dobrych wolontariuszy z lat poprzednich.

Nauczyciel niekoniecznie wymienił wszystkie przechowywane dane.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) spróbować zrozumieć, o jakich danych jest mowa w ćwiczeniu. Klient nie jest specjalistą baz danych. Posługuje się językiem potocznym lub profesjonalnym, ale swojej dziedziny. Musisz wyjaśnić wszystkie wątpliwości, na przykład, co oznacza pojęcie „rodzice”. Zapisz pytania,

2) spróbować przeprowadzić rozmowy i uzupełnić dane wejściowe. Zapisać wszystkie uwagi w dokumentacji projektu. Będą one niezbędne do wykonania ćwiczeń w kolejnych rozdziałach,

3) wyjaśnić wątpliwości związane z oczekiwaniami klienta: a. czy rozumiesz, co miał na myśli klient wymieniając informacje, które chciałby

otrzymywać? b. czy widzisz choćby w zarysie związek oczekiwań klienta z gromadzonymi danymi?

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Page 17: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 15

Ćwiczenie 4 Zastanów się i wskaż bazy danych o charakterze podobnym do bazy przedstawionej

w poprzednim ćwiczeniu, funkcjonujące w innych dziedzinach działalności człowieka.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) spróbować udzielić odpowiedzi na następujące pytania: a. jakie charakterystyczne dane przechowywane są w przedstawionej instytucji? b. jakie charakterystyczne operacje wykonywane są w tej instytucji? c. jakimi innymi obiektami można by zastąpić obiekty tu przedstawione?

2) porównać swoje odpowiedzi z innymi uczniami, 3) korzystając z wyników ćwiczenia 2 zaznaczyć podobne dziedziny działalności człowieka.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 5 Nauczyciel wychowania fizycznego gromadzi informacje o szkolnych zawodach

sportowych. Poprosił o zinformatyzowanie jego spisów w celu usprawnienia pracy. Aktualnie nauczyciel posiada następujące dane: − dyscyplina sportowa rozgrywek, − daty poszczególnych zawodów - eliminacje, finały, − listy uczestników zawodów, − składy drużyn, − miejsce rozgrywek (np. międzyszkolne), − opiekun, − wyniki zawodów, − listy laureatów, − notatki.

Nauczyciele chcieliby posiadać szybki, płynny i pewny sposób otrzymywania informacji na temat: − aktywności sportowej wybranego ucznia, − zawodów, które odbyły się w wybranym okresie czasu, − uzyskanych sukcesów, − przekrojowych informacji na temat wybranej dyscypliny, − rekordów szkoły.

Nauczyciel niekoniecznie wymienił wszystkie przechowywane dane.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) spróbować zrozumieć, o jakich danych jest mowa w ćwiczeniu. Klient nie jest specjalistą baz danych. Posługuje się językiem potocznym lub profesjonalnym, ale swojej dziedziny. Musisz wyjaśnić wszystkie wątpliwości, na przykład, o jakich danych mowa w punkcie „opiekun”. Zapisz pytania,

2) spróbować przeprowadzić rozmowy i uzupełnić dane wejściowe. Zapisać wszystkie uwagi w dokumentacji projektu. Będą one niezbędne do wykonania ćwiczeń w kolejnych rozdziałach,

Page 18: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 16

3) wyjaśnić wątpliwości związane z oczekiwaniami klienta: a. czy rozumiesz, co miał na myśli klient wymieniając informacje, które chciałby

otrzymywać? b. czy widzisz choćby w zarysie związek oczekiwań klienta z gromadzonymi danymi?

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet. Ćwiczenie 6

Zastanów się i wskaż bazy danych o charakterze podobnym do bazy przedstawionej w poprzednim ćwiczeniu, funkcjonujące w innych dziedzinach działalności człowieka.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) spróbować odpowiedzieć na następujące pytania: a. jakie charakterystyczne dane przechowywane są w przedstawionej instytucji? b. jakie charakterystyczne operacje wykonywane są w tej instytucji? c. jakimi innymi obiektami można by zastąpić obiekty tu przedstawione?

2) porównać swoje odpowiedzi z innymi uczniami. 3) korzystając z wyników ćwiczenia 2 zaznaczyć podobne dziedziny działalności człowieka.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 7 Nauczyciel języka polskiego przygotowuje młodzież do różnych konkursów. Poprosił

o zinformatyzowanie jego notatek w celu usprawnienia pracy. Aktualnie notatki nauczyciela zawierają następujące zapisy: − nazwa konkursu, − data konkursu, − temat konkursu, − lista uczestników, − wyniki uczestników, − zdjęcia z konkursów, − adres organizatorów, − nazwiska pomagających nauczycieli, − instytucje współpracujące (wypożyczenie kostiumów, sponsorzy), − notatki własne.

Nauczyciele chcieliby posiadać szybki, płynny i pewny sposób otrzymywania informacji na temat: − aktywności wybranego ucznia, − aktywności szkoły w wybranym okresie, − sukcesów w wybranym okresie, − tematów konkursów, − kontaktów z organizatorami, − kontaktów z instytucjami współpracującymi.

Nauczyciel niekoniecznie wymienił wszystkie przechowywane dane.

Page 19: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 17

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) spróbować zrozumieć, o jakich danych jest mowa w ćwiczeniu. Klient nie jest specjalistą baz danych. Posługuje się językiem potocznym lub profesjonalnym, ale swojej dziedziny. Musisz wyjaśnić wszystkie wątpliwości, na przykład, w jaki sposób i w jakiej ilości przechowywane są zdjęcia. Zapisz pytania,

2) spróbować przeprowadzić rozmowy i uzupełnić dane wejściowe. Zapisać wszystkie uwagi w dokumentacji projektu. Będą one niezbędne do wykonania ćwiczeń w kolejnych rozdziałach,

3) wyjaśnić wątpliwości związane z oczekiwaniami klienta: a. czy rozumiesz, co miał na myśli klient wymieniając informacje, które chciałby

otrzymywać? b. czy widzisz choćby w zarysie związek oczekiwań klienta z gromadzonymi danymi?

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 8 Zastanów się i wskaż bazy danych o charakterze podobnym do bazy przedstawionej

w poprzednim ćwiczeniu, funkcjonujące w innych dziedzinach działalności człowieka.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) spróbować odpowiedzieć na następujące pytania: a. jakie charakterystyczne dane przechowywane są w przedstawionej instytucji? b. jakie charakterystyczne operacje wykonywane są w tej instytucji? c. jakimi innymi obiektami można by zastąpić obiekty tu przedstawione?

2) porównać swoje odpowiedzi z innymi uczniami, 3) korzystając z wyników ćwiczenia 2 zaznaczyć podobne dziedziny działalności człowieka.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 9 Nauczyciel fizyki prowadzi notatki dotyczące wykorzystywanych pomocy

dydaktycznych. Poprosił o zinformatyzowanie jego notatek w celu usprawnienia pracy. Aktualnie notatki nauczyciela zawierają następujące zapisy: − nazwa przedmiotu lub urządzenia, − numer inwentarzowy, − data zakupu, − wartość w dniu zakupu, − typ urządzenia lub przedmiotu, − miejsce przechowywania, − aktualny stan techniczny, − działy, w których jest wykorzystywany, − kontakt z producentem, − informacje o gwarancji, − materiały zużywalne konieczne do pracy urządzenia.

Page 20: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 18

Nauczyciele przedmiotu chcieliby posiadać szybki, płynny i pewny sposób otrzymywania informacji na temat: − jakie przyrządy i urządzenia można wykorzystać w wybranym dziale fizyki, − jakie przedmioty trzeba oddać do naprawy, − do których przedmiotów należy zamówić materiały zużywalne, − jak skontaktować się z producentem, − czy urządzenie jest na gwarancji, − gdzie aktualnie znajduje się urządzenie lub przedmiot, − jaka jest aktualna wartość urządzeń wybranego typu.

Nauczyciel niekoniecznie wymienił wszystkie przechowywane dane.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) spróbować zrozumieć, o jakich danych jest mowa w ćwiczeniu. Klient nie jest specjalistą baz danych. Posługuje się językiem potocznym lub profesjonalnym, ale w swojej dziedzinie. Musisz wyjaśnić wszystkie wątpliwości, na przykład, co składa się na określenie „stan techniczny”. Zapisz pytania,

2) spróbować przeprowadzić rozmowy i uzupełnić dane wejściowe. Zapisać wszystkie uwagi w dokumentacji projektu. Będą one niezbędne do wykonania ćwiczeń w kolejnych rozdziałach,

3) wyjaśnić wątpliwości związane z oczekiwaniami klienta: a. czy rozumiesz, co miał na myśli klient wymieniając informacje, które chciałby

otrzymywać? b. czy widzisz choćby w zarysie związek oczekiwań klienta z gromadzonymi danymi?

Wyposażenie stanowiska pracy:

− komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 10 Zastanów się i wskaż bazy danych o charakterze podobnym do bazy przedstawionej

w poprzednim ćwiczeniu, funkcjonujące w innych dziedzinach działalności człowieka.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) spróbować odpowiedzieć na następujące pytania: a. jakie charakterystyczne dane przechowywane są w przedstawionej instytucji? b. jakie charakterystyczne operacje wykonywane są w tej instytucji? c. jakimi innymi obiektami można by zastąpić obiekty tu przedstawione?

2) porównaj swoje odpowiedzi z innymi uczniami, 3) korzystając z wyników ćwiczenia 2 zaznaczyć podobne dziedziny działalności człowieka.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Page 21: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 19

4.1.4. Sprawdzian postępów Czy potrafisz: Tak Nie 2) wyjaśnić pojęcie baza danych? □ □ 3) wyjaśnić pojęcie model relacyjny? □ □ 4) wyjaśnić pojęcie model hierarchiczny? □ □ 5) na podstawie danych dotyczących systemu informatycznego w firmie,

określić rodzaj bazy danych? □ □ 6) określić istotę systemu informatycznego? □ □ 7) przeanalizować strukturę firmy i na jej podstawie zaplanować system

informatyczny? □ □ 8) omówić budowę systemów informatycznych z wykorzystaniem idei

warstw? □ □ 9) określić różnicę między aplikacjami o architekturze dwuelementowej

i trójelementowej? □ □ 10) przygotować rozmowę z klientem i wyjaśnić nieścisłości

w sformułowaniu jego potrzeb odnośnie elektronicznej bazy danych? □ □ 4.2. Funkcje systemu

4.2.1. Materiał nauczania Podstawowym zadaniem baz danych jest gromadzenie danych i udostępnianie informacji.

Aby zadanie to zostało dobrze wykonane, baza danych musi umożliwić: − projektowanie tabel i rekordów – to podstawowa funkcja, która umożliwia utworzenie

struktury bazy danych odzwierciedlającej rzeczywiste stany. To również mechanizmy tworzenia i zarządzania relacjami,

− dopisywanie i usuwanie rekordów, − zmianę struktury rekordów – opcje i narzędzia służące do zmiany poszczególnych pól

rekordów, przy jednoczesnym zachowaniu ich wcześniejszych wartości – często realizowanymi, o ile jest to możliwe, przez konwersję typów,

− modyfikowanie danych - to narzędzia, które oprócz modyfikacji pojedynczych danych umożliwiają zbiorczą modyfikację danych w wielu rekordach na podstawie kryteriów wskazanych przez użytkownika,

− sortowanie danych, również wielopolowe, − wyszukiwanie i selekcję danych – możliwość wyświetlania danych oraz ich eksport z bazy

danych według zadanych kryteriów, − tworzenie zapytań – możliwość tworzenia i zapamiętywania zapytań w języku SQL.

Prostsze systemy bazodanowe oferują jedynie jednopoziomowe zapytania. Bardziej rozbudowane oferują możliwość wykorzystanie wielopoziomowych zapytać SQL. Wielopoziomowe zapytania znacznie ułatwiają i przyspieszają wykorzystanie danych,

− tworzenie raportów – system zarządzania baz danych powinien oferować opcje tworzenia raportów. Bardziej rozbudowane systemy posiadają liczne kreatory i narzędzia, które umożliwiają sporządzanie rozbudowanych wieloelementowych raportów. Największe

Page 22: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 20

systemy bazodanowe, takie jak Microsoft SQL i Oracle oferują systemy raportowania do tzw. XML Web Services. Są to raporty przygotowywane i zapisywane do standardu XML gotowe do wykorzystania przez inne aplikacje za pośrednictwem sieci Internet,

− drukowanie – możliwość wydrukowania tabel i rekordów gromadzonych w bazie danych. To często również opcja drukowania struktury i układu relacji,

− archiwizowanie – tworzenie kopii bezpieczeństwa danych zawartych w bazie danych, w celu ochrony przed utratą danych. System zarządzania baz danych powinien umożliwiać sporządzenie kopii samej struktury, struktury i samych danych. Powinna istnieć możliwość sporządzenia kopii pełnej i kopii częściowej lub przyrostowej,

− automatyzowanie procesu gromadzenia i przetwarzania danych w celu ułatwienia pracy i zmniejszenia ryzyka wystąpienia błędów,

− bezpieczne korzystanie z danych, minimalizujące ryzyko ich ujawnienia i uszkodzenia, − współdzielenie danych.

Na podstawie wymienionych funkcji projektanci systemu baz danych będą mogli stworzyć system informatyczny, który będzie realizował postawione przed nim zadania zgodnie z zasadami bezpieczeństwa i oczekiwaniami użytkowników.

Warto zdawać sobie sprawę, które składniki systemu odpowiadają za realizację poszczególnych zadań. Na przykład w MS Access logikę biznesową reprezentują kwerendy, makra i moduły, natomiast formularze i raporty służą one do prezentacji danych.

4.2.2. Pytania sprawdzające Odpowiadając na pytania sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń. 1. Jakie są podstawowe funkcje systemu baz danych w zakresie gromadzenia danych? 2. Jakie są podstawowe funkcje systemu baz danych w zakresie przetwarzania danych? 3. Jakie są podstawowe funkcje systemu baz danych w zakresie dostarczania informacji? 4. Jakie są podstawowe funkcje systemu baz danych w zakresie bezpieczeństwa danych?

4.2.3. Ćwiczenia

Ćwiczenie 1 Określ funkcje systemu dla bazy danych ZOO.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) dokonać podziału oczekiwań klienta pod względem gromadzenia i zabezpieczania danych oraz dostarczania informacji,

2) określić sposób gromadzenia danych: jednoczesność oraz kolejność napływania, informowanie o terminach i brakach,

3) zaproponować sposób przechowywania nazw systematycznych zwierząt, 4) zaplanować sposób przechowywania danych o ilości opiekunów i okresie opieki nad

zwierzęciem, 5) zaproponować rozszerzenie listy oczekiwań o możliwości wynikające z analizy innych

systemów, 6) powiązać listę oczekiwań z wykazem przechowywanych danych. Ewentualnie uzupełnić

listy o niezbędne elementy.

Wyposażenie stanowiska pracy: – komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Page 23: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 21

Ćwiczenie 2 Określ funkcje systemu dla bazy danych zawodów sportowych.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) dokonać podziału oczekiwań klienta pod względem gromadzenia i zabezpieczania danych oraz dostarczania informacji,

2) określić sposób gromadzenia danych: jednoczesność oraz kolejność napływania, informowanie o terminach i brakach,

3) zaproponować rozszerzenie listy oczekiwań o możliwości wynikające z analizy innych systemów,

4) zaplanować sposób przechowywania informacji o składach drużyn, 5) przemyśleć, jakie wyniki i w jakiej postaci będą przechowywane, 6) powiązać listę oczekiwań z wykazem przechowywanych danych. Ewentualnie uzupełnić

listy o niezbędne elementy.

Wyposażenie stanowiska pracy: – komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 3 Określ funkcje systemu dla bazy danych konkursów przedmiotowych.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) dokonać podziału oczekiwań klienta pod względem gromadzenia i zabezpieczania danych oraz dostarczania informacji,

2) określić sposób gromadzenia danych: jednoczesność oraz kolejność napływania, informowanie o terminach i brakach,

3) zaplanować sposób przechowywania i prezentowania zdjęć z konkursów, 4) zaplanować sposób przechowywania informacji o instytucjach współpracujących, 5) zaproponować rozszerzenie listy oczekiwań o możliwości wynikające z analizy innych

systemów, 6) powiązać listę oczekiwań z wykazem przechowywanych danych. Ewentualnie uzupełnić

listy o niezbędne elementy.

Wyposażenie stanowiska pracy: – komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 4 Określ funkcje systemu dla bazy danych zasobów sprzętowych.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) dokonać podziału oczekiwań klienta pod względem gromadzenia i zabezpieczania danych oraz dostarczania informacji,

2) określić sposób gromadzenia danych: jednoczesność oraz kolejność napływania, informowanie o terminach i brakach,

Page 24: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 22

3) określić sposób dostarczania informacji o wartości przedmiotów (brutto?), 4) zaplanować sposób gospodarowania informacjami o uprawnieniach gwarancyjnych, 5) zaproponować rozszerzenie listy oczekiwań o możliwości wynikające z analizy innych

systemów, 6) powiązać listę oczekiwań z wykazem przechowywanych danych. Ewentualnie uzupełnij

listy o niezbędne elementy.

Wyposażenie stanowiska pracy: – komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

4.2.4. Sprawdzian postępów Czy potrafisz: Tak Nie 1) wymienić i scharakteryzować funkcje baz danych? □ □ 2) wyjaśnić jaki wpływ na działanie baz danych będzie miał brak

realizacji poszczególnych, wymienionych wyżej funkcji? □ □ 3) podzielić funkcje bazy danych na podstawowe i dodatkowe? □ □

4.3. Fizyczna organizacja danych w bazie

4.3.1. Materiał nauczania Fizyczna organizacja danych w bazie obejmuje struktury danych i organizację plików

używanych do przechowywania danych w urządzeniach pamięciowych. Na reprezentację bazy danych w pamięci zewnętrznej składa się jeden lub więcej plików. Głównymi metodami organizacji pliku są: - sterta (nieuporządkowana) – kolejność rekordów na dysku jest dowolna, - pliki sekwencyjne (uporządkowane) – rekordy są posortowane według ustalonego pola, - pliki haszowane – rozmieszczenie rekordów na dysku jest zdeterminowane przez wartości

tzw. funkcji haszującej. Pole, dla którego wyznaczana jest wartość funkcji haszującej nazywane jest polem haszującym. Rekordy w pliku haszowanym są zazwyczaj losowo rozmieszczone w obszarze zajmowanym przez plik. Dlatego pliki te nazywane są czasem plikami z dostępem losowym bądź plikami z dostępem bezpośrednim. Z poszczególnymi sposobami organizacji plików są związane odpowiednie metody

dostępu do danych, czyli czynności wykonywane w celu umieszczenia i odczytywania rekordów z pliku.

Analiza potrzeb użytkownika dokonana w punkcie 4.1. powinna doprowadzić do określenia listy danych, które należy przechowywać w bazie danych. Wiadomo też, w jaki sposób dane będą przetwarzane. Kolejnym krokiem jest zaprogramowanie tabel, czyli kontenerów przechowujących dane. Należy uwzględnić rodzaj danych i zaprojektować zbiór reguł, które będą regulowały kwestie oceny danych pod względem poprawności. W dalszej kolejności (4.4. i 4.5.) tabele zostaną zmodyfikowane do postaci optymalnej.

Page 25: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 23

System bazodanowy musi wiedzieć, w jaki sposób może dysponować poszczególnymi danymi. Podstawową informacją jest dla niego typ danych. MS Acces oferuje kilka typów danych standardowych, których podstawowe cechy warto znać i wykorzystywać: − typ tekstowy: najwyżej 255 znaków, − typ memo, notatnikowy: do 64 kilobajtów znaków, − typ liczbowy: do 8 bajtów; stosuje się wyłącznie do pól, na których będą wykonywane

operacje matematyczne, − typ walutowy: zapobiega błędom zaokrągleń, − typ data/godzina: 8 bajtowy zapis czasu, − typ logiczny: bardzo oszczędny, 1 bit, − obiekt OLE: do 1GB treści multimedialnej, − typ licznikowy, autonumerowany: gwarantuje unikalność rekordów.

Pełny wykaz dostępnych typów danych można znaleźć na przykład w pomocy MS Access. Budując tabele można bezpośrednio z siatki projektu uzyskać potrzebne informacje. Informacja jak to zrobić dostępna jest w oknie objaśniającym typ danych.

Warto zwrócić uwagę, że zwykle nie korzysta się z pola liczbowego, jeżeli na polu tym nie będą wykonywane operacje matematyczne.

Oprócz określenia typu danych projektant powinien określić szczegóły dotyczące wybranego typu. Na przykład liczba może zajmować w pamięci jeden bajt (numer ucznia w dzienniku), ale może potrzebować więcej miejsca (przebieg samochodu), albo może wymagać zapisu dziesiętnego (średnie oceny uczniów).

Przechowując dane tekstowe warto ograniczyć rozmiar pola do odpowiedniej długości. Standardowo MS Access przydziela na ten cel 50 bajtów. Tradycyjne, powszechne imiona nie potrzebowały więcej niż 11 bajtów. Zmieniające się czasy mogą obalić tę prostą regułę.

Oprócz wymienionych typów programista może mieć do czynienia z językiem programowania VBA i elementami SQL, które dysponują własnymi typami danych, w których można rozpoznać związki z typami danych MS Access.

Na etapie projektowania tabel pośrednich można wykonać jeszcze kilka ważnych zadań. Wprawdzie MS Access pozwala w nazwach pól korzystać ze spacji i znaków diakrytycznych, ale nie jest to najlepszą praktyką. Nie można jednoznacznie stwierdzić, że na danym polu nie będą w przyszłości wykonywane operacje wymagające użycia któregoś z języków programowania. Dlatego najlepiej jest korzystać tylko ze znaków alfabetu łacińskiego, cyfr i kilku znaków dodatkowych (np. podkreślenie). Nie stosowanie się do tej zasady może spowodować konieczność modyfikowania tabel w przyszłości, co wiąże się z dodatkowym i większym nakładem pracy.

MS Access udostępnia narzędzie pozwalające dodać do definicji pola frazę, która będzie wyświetlana w nagłówkach kolumn i innych sytuacjach niezależnie od nazwy pola.

Dużym ułatwieniem może też być podanie wartości domyślnej, która pojawi się w każdym nowo utworzonym rekordzie. Przykładem może być nazwa miasta, w którym mieszka osoba zarejestrowana w bazie danych. W przypadku biblioteki szkolnej, zwłaszcza w większym mieście, większość uczniów będzie miała taką samą wartość tego pola.

Kolejna decyzja dotyczy określenia, które pola muszą być obligatoryjnie wypełnione. Baza danych nie przechowuje pustych pól. Mogą one wyglądać w ten sposób w systemie graficznym prezentowania danych, ale w tabeli zostanie tam wpisana wartość NULL.

Systemy bazodanowe pozwalają też określać reguły poprawności danych. Zwykle po analizie daje się określić graniczne wartości wprowadzanych danych. Warto jednak, by projektant miał świadomość faktu, że poprawność danych może być zupełnie nie rozumiana przez przyszłego użytkownika, który może nieświadomie przekazać projektantowi fałszywe dane. Na przykład na pytanie o maksymalną ilość artykułów sprzedawanych w ciągu miesiąca może udzielić odpowiedzi: „niewiele ponad sto sztuk”. To znaczy, że ilość można zapisać na

Page 26: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 24

jednym bajcie. Na dodatkowe pytanie o okres świąt, odpowie: „pięćset, ale to tylko raz w roku”. Niestety systemy informatyczne nie uznają wyjątków.

Aby zabezpieczyć się przed przypadkowym wpisaniem niepoprawnych wartości, projektant powinien zapewnić system ostrzegania. Można założyć, że produkcja nie spada poniżej 50 sztuk. Zgubienie zera w liczbie 100 powinno wyzwolić alarm. Z drugiej strony produkcja nie będzie większa niż 600 sztuk. Przytrzymanie klawisza i wprowadzenie liczby 1223 też powinno zostać zasygnalizowane.

Kolejnym zabezpieczeniem, które powinien wprowadzić projektant jest format danych. W jaki sposób powinny być wprowadzane daty? A kod pocztowy?

4.3.2. Pytania sprawdzające Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń. 1. Wymień i krótko scharakteryzuj metody organizacji pliku. 2. Wymień standardowe typy danych i ich maksymalny rozmiar. 3. Od czego uzależnisz rozmiar pola danego typu w projektowanej tabeli? 4. Jakie znaki można wykorzystywać w nazwach pól tabeli? 5. Wyjaśnij pojęcie reguły poprawności danych. 6. Jak projektant może zabezpieczyć tabelę przed wpisaniem niepoprawnych wartości?

4.3.3. Ćwiczenia

Ćwiczenie 1 Określ wstępną organizację danych dla bazy przechowującej informacje o zwierzętach.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) określić typy wszystkich danych zaplanowanych do wykorzystania w systemie, 2) określić rozmiary zaplanowanych danych, jeżeli ich typ i stosowane narzędzie pozwalają

na to. Uwzględnij specyfikę zagadnienia, 3) zaplanować nazwy pól i ich nagłówki, 4) zastanowić się albo dopytać, czy można określić przedziały dozwolonych, poprawnych

wartości każdego pola, 5) oznaczyć w dokumentacji pola, których wartości nie mogą zostać pominięte przy

wprowadzaniu, 6) opisać pola, których wartości mają charakterystyczną, stałą formę, 7) ustalić i zapisać, które pola przyjmują najczęściej jedną, charakterystyczną wartość, 8) zaplanować pole określające czas następnego szczepienia.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 2 Określ wstępną organizację danych dla bazy przechowującej informacje o zawodach

sportowych.

Page 27: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 25

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) określić typy wszystkich danych zaplanowanych do wykorzystania w systemie, 2) określić rozmiary zaplanowanych danych, jeżeli ich typ i stosowane narzędzie pozwalają

na to. Uwzględnij specyfikę zagadnienia, 3) zaplanować nazwy pól i ich nagłówki, 4) zastanowić się albo dopytać, czy można określić przedziały dozwolonych, poprawnych

wartości każdego pola, 5) zapisać cechy opisujące poprawność wartości każdego pola, 6) oznaczyć w dokumentacji pola, które wartości nie mogą zostać pominięte przy

wprowadzaniu, 7) opisać pola, których wartości mają charakterystyczną, stałą formę, 8) ustalić i zapisać, które pola przyjmują najczęściej jedną, charakterystyczną wartość.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 3 Określ wstępną organizację danych dla bazy przechowującej informacje o konkursach

przedmiotowych.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) określić typy wszystkich danych zaplanowanych do wykorzystania w systemie, 2) określić rozmiary zaplanowanych danych, jeżeli ich typ i stosowane narzędzie pozwalają

na to. Uwzględnij specyfikę zagadnienia, 3) zaplanować nazwy pól i ich nagłówki, 4) zastanowić się albo dopytać, czy można określić przedziały dozwolonych, poprawnych

wartości każdego pola, 5) zapisać cechy opisujące poprawność wartości każdego pola, 6) oznaczyć w dokumentacji pola, które wartości nie mogą zostać pominięte przy

wprowadzaniu, 7) opisać pola, których wartości mają charakterystyczną, stałą formę, 8) ustalić i zapisać, które pola przyjmują najczęściej jedną, charakterystyczną wartość, 9) określić, czy zdjęcia będą przechowywane w pliku bazy danych, czy poza nim.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 4 Określ wstępną organizację danych dla bazy przechowującej informacje o zasobach

sprzętowych.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) określić typy wszystkich danych zaplanowanych do wykorzystania w systemie, 2) określić rozmiary zaplanowanych danych, jeżeli ich typ i stosowane narzędzie pozwalają

na to. Uwzględnij specyfikę zagadnienia,

Page 28: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 26

3) zaplanować nazwy pól i ich nagłówki, 4) zastanowić się albo dopytać, czy można określić przedziały dozwolonych, poprawnych

wartości każdego pola, 5) zapisać cechy opisujące poprawność wartości każdego pola, 6) oznaczyć w dokumentacji pola, które wartości nie mogą zostać pominięte przy

wprowadzaniu, 7) opisać pola, których wartości mają charakterystyczną, stałą formę, 8) ustalić i zapisać, które pola przyjmują najczęściej jedną, charakterystyczną wartość.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet. 4.3.4. Sprawdzian postępów Czy potrafisz: Tak Nie 1) scharakteryzować metody organizacji pliku? □ □

2) dobierać typ pola do planowanej jego zawartości? □ □

3) ustalać rozmiary pól w projektowanej tabeli? □ □ 4) dodać do definicji pola frazę, która będzie wyświetlana w nagłówku

kolumny? □ □ 5) podać wartość domyślną, która będzie pokazywała się w każdym nowo

dodanym rekordzie? □ □

6) wpisywać warunki związane z realizacją reguły poprawności danych? □ □ 7) ustalić format wprowadzanych danych (kod pocztowy, nr telefonu

stacjonarnego, komórkowego itp.)? □ □

4.4. Schematy tabel

4.4.1. Materiał nauczania W teorii projektowania baz danych mówi się o dwóch rodzajach tabel:

− tabele danych – przechowują dane i mają charakter dynamiczny; dane są dopisywane, modyfikowane i usuwane,

− tabele walidacji – zapewniają integralność bazy danych; mają charakter statyczny (sporadyczna modyfikacja jest możliwa) i przechowują zwykle dane ważne przy kontroli poprawności wprowadzania danych (lista miast, kody produktów, rodzaje literackie itp.). Początkowo pola projektowanej tabeli zawierają różne rodzaje wartości. W celu opisania

procesu projektowania wprowadza się następujący system nazewnictwa: − pole segmentowe – zawiera więcej niż jeden typ wartości, − pole wielowartościowe – zawiera wiele wartości tego samego typu, − pole wyliczeniowe – zawiera wartość, która jest wynikiem operacji matematycznej lub

konkatenacji przeprowadzonej na wartościach innych pól.

Page 29: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 27

Ważnym elementem w strukturze bazy danych są tabele wirtualne. Nie zawierają one żadnych danych, ale pobierają dane z istniejących tabel. Nazywane są perspektywami i w zależności od systemu bazodanowego mogą być implementowane jako zapytania, widoki itp.

Perspektywy są ważne, ponieważ: − umożliwiają korzystanie z wielu tabel, − zabezpieczają dane przed niepowołanym dostępem, − można je dostosować do indywidualnych potrzeb użytkownika, − są wykorzystywane do zapewnienia integralności danych.

Tabele w bazie danych są ze sobą powiązane logicznie, zgodnie z definicją bazy danych. Ten fakt musi znaleźć odzwierciedlenie w strukturze tabel. Każdy rekord tabeli powinien mieć jednoznaczny identyfikator nazywany kluczem podstawowym. Najlepiej, jeżeli jest nim jedno z pól tabeli. Taką rolę może pełnić na przykład numer PESEL, numer legitymacji, numer nadwozia. Jeżeli w tabeli nie można wskazać pola o takim charakterze, należy ją uzupełnić o dodatkowe, unikatowe pole i wypełnić danymi. Narzędzia baz danych oferują zwykle pole liczbowe, w którym można wpisywać identyfikatory lub można zezwolić bazie danych na automatyczne sekwencyjne lub losowe przydzielanie takiego identyfikatora. Należy podkreślić, że wyboru klucza pierwotnego dokonuje arbitralnie projektant tabeli.

Klucz podstawowy wykorzystywany jest do wskazywania logicznych połączeń między tabelami. Te same wartości powinny więc występować w dwóch tabelach. Na przykład, PESEL ucznia może być identyfikatorem ucznia w tabeli uczniów – klucz podstawowy i identyfikatorem wskazującym kto jest (był) w posiadaniu książki z biblioteki – klucz zewnętrzny w tabeli wypożyczeń.

Zadaniem projektanta jest wskazanie tych połączeń oraz określenie ich rodzaju. W przypadku biblioteki, jeden uczeń korzystał z wielu książek. Powstaje relacja jeden-do-wielu. Jest to najczęściej występujący rodzaj powiązania relacyjnego.

Poprawne zdefiniowanie relacji nie tylko ułatwia zrozumienie logicznej struktury bazy danych, ale upraszcza i ułatwia przetwarzanie danych.

Tabele mogą uczestniczyć w relacji na dwa sposoby. Rodzaj uczestnictwa zależy od związków między danymi i od sposobu wykorzystywania. Noszą następujące nazwy: − obowiązkowy: nie można wprowadzić danych do tabeli, dopóki logicznie powiązane dane

nie wystąpią w tabeli połączonej, − opcjonalny: można wprowadzać dane, niezależnie od tego, czy zostały już wprowadzone

logicznie powiązane dane w tabeli połączonej.

Rys 4. Relacje w bazie danych

Page 30: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 28

Na przedstawionym powyżej rysunku tabela uczniów jest obowiązkowym elementem relacji uczniowie-wypożyczenia. Nie można wypożyczyć książki uczniowi, którego nie ma na liście. Natomiast można dopisać pozyskaną książkę w księgozbiorze, nie umieszczając informacji o wydawnictwie (być może jest to dar, a wydawnictwo od dawna nie istnieje).

Relacje można uzupełnić o dodatkowe określenia, co pozwoli zwiększyć bezpieczeństwo korzystania z bazy danych. Jednym z nich są więzy integralności. Jest to system reguł dbający o prawidłowość związków między rekordami tabel powiązanych relacyjnie. Może on, na przykład chronić dane przed przypadkowym usunięciem lub dopisaniem danych, które nie mają odpowiednika, czy uzupełnienia w innej tabeli.

Projektując tabele bazy danych trzeba zadbać o integralność danych. Pod tym określeniem rozumie się ich poprawność, spójność i dokładność. Teoretyczne rozważania prowadzą do wniosku, że dokładność informacji pobieranych z bazy danych jest proporcjonalna do stopnia ich integralności.

Projektując bazę danych należy wziąć pod uwagę następujące elementy:

− integralność na poziomie tabel oznacza zachowanie unikatowości danych w polu identyfikującym rekordy. Rozumie się, że pole to nie może zawierać wartości NULL,

− integralność na poziomie pól oznacza ich poprawność logiczną, poprawność struktury pól oraz identyczną strukturę pól tego samego rodzaju w całej bazie,

− integralność na poziomie relacji oznacza poprawność definiowania relacji oraz pełną synchronizację połączonych danych. W literaturze spotyka się określenie: Integralność referencyjna,

− typ i zakres wartości przechowywanych w poszczególnych polach, typ i stopień uczestnictwa tabel w relacjach itp. Na tym etapie można też rozpocząć proces analizowania danych w tabelach pod kątem

wyszukiwania informacji. Można znacznie przyspieszyć ten proces, informując narzędzie bazodanowe, że powinno przygotować się do częstego wyszukiwania określonych informacji w dużych zbiorach. Do tabeli zostanie dołączona informacja o indeksowaniu pól. Indeksy są strukturą usprawniającą bazę danych i nie wpływają na jej logiczną strukturę. 4.4.2. Pytania sprawdzające Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń. 1. Czym jest i jaką rolę w tabeli pełni klucz podstawowy? 2. Pola o jakiej zawartości mogą pełnić w tabeli rolę klucza podstawowego? Podaj przykłady. 3. W jaki sposób klucz podstawowy jest wykorzystywany do wskazania połączeń między

tabelami? Opisz na wybranym przykładzie. 4. Kiedy między tabelami powstaje relacja jeden-do wielu? 5. Wyjaśnij pojęcie „więzy integralności”. 6. Do czego przydatne jest indeksowanie pól?

4.4.3. Ćwiczenia

Ćwiczenie 1 Zdefiniuj powiązania relacyjne w bazie danych informacji o zwierzętach.

Sposób wykonania ćwiczenia

Page 31: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 29

Aby wykonać ćwiczenie powinieneś: 1) wskazać pola, które będą kluczem pierwotnym każdej tabeli. Jeżeli żadne pole nie spełnia

warunków, dopisz do tabeli pole autonumerowane, 2) narysować powiązania relacyjne pomiędzy tabelami. Zapisać rodzaj każdej relacji, 3) zapisać informacje o więzach integralności dla tabel, dla których są uzasadnione, 4) przeanalizować informacje oczekiwane przez klienta i zaplanować perspektywy

umożliwiające ich realizację, 5) oznaczyć pola, które powinny zostać poindeksowane. Określić rodzaj indeksowania, 6) oznaczyć pola segmentowe, wielowartościowe i obliczeniowe, 7) sprawdzić integralność bazy danych.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 2 Określ wstępną organizację danych dla bazy przechowującej informacje o zawodach

sportowych.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) wskazać pola, które będą kluczem pierwotnym każdej tabeli. Jeżeli żadne pole nie spełnia warunków, dopisz do tabeli pole autonumerowane,

2) narysować powiązania relacyjne pomiędzy tabelami. Zapisać rodzaj każdej relacji, 3) zapisać informacje o więzach integralności dla tabel, dla których są uzasadnione, 4) przeanalizować informacje oczekiwane przez klienta i zaplanować perspektywy

umożliwiające ich realizację, 5) oznaczyć pola, które powinny zostać poindeksowane. Określić rodzaj indeksowania, 6) oznaczyć pola segmentowe, wielowartościowe i obliczeniowe, 7) sprawdzić integralność bazy danych.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 3 Określ wstępną organizację danych dla bazy przechowującej informacje o konkursach

przedmiotowych.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) wskazać pola, które będą kluczem pierwotnym każdej tabeli. Jeżeli żadne pole nie spełnia warunków, dopisz do tabeli pole autonumerowane,

2) narysować powiązania relacyjne pomiędzy tabelami. Zapisać rodzaj każdej relacji, 3) zapisać informacje o więzach integralności dla tabel, dla których są uzasadnione, 4) przeanalizować informacje oczekiwane przez klienta i zaplanować perspektywy

umożliwiające ich realizację, 5) oznaczyć pola, które powinny zostać poindeksowane. Określić rodzaj indeksowania, 6) oznaczyć pola segmentowe, wielowartościowe i obliczeniowe, 7) sprawdzić integralność bazy danych.

Page 32: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 30

Wyposażenie stanowiska pracy: – komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 4 Określ wstępną organizację danych dla bazy przechowującej informacje o zasobach

sprzętowych. Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) wskazać pola, które będą kluczem pierwotnym każdej tabeli. Jeżeli żadne pole nie spełnia warunków, dopisz do tabeli pole autonumerowane,

2) narysować powiązania relacyjne pomiędzy tabelami. Zapisać rodzaj każdej relacji, 3) zapisać informacje o więzach integralności dla tabel, dla których są uzasadnione, 4) przeanalizować informacje oczekiwane przez klienta i zaplanować perspektywy

umożliwiające ich realizację, 5) oznaczyć pola, które powinny zostać poindeksowane. Określić rodzaj indeksowania, 6) oznaczyć pola segmentowe, wielowartościowe i obliczeniowe, 7) sprawdzić integralność bazy danych.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet. 4.4.4. Sprawdzian postępów Czy potrafisz: Tak Nie 1) wybrać klucz pierwotny w tabeli? □ □ 2) zaproponować rozwiązanie, gdy żadne pola nie gwarantują unikalności

rekordów? □ □ 3) zaprojektować relacje między tabelami? □ □

4) zdefiniować więzy integralności między tabelami? □ □

5) wskazać niezbędne pola indeksowe w tabeli? □ □

Page 33: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 31

4.5. Normalizacja danych

4.5.1. Materiał nauczania Normalizacja bazy danych to proces polegający na usuwaniu z niej błędów

i nieprawidłowości dotyczących struktury tabel. Jak należy przeprowadzić proces normalizacji bazy danych? W tabeli zostały

zgromadzone dane przedstawiające sprzedaż w pewnej firmie:

Kod towaru Nazwa produktu Kod klienta Nazwa klienta Ilość TV32 Telewizor 32 cale JKO Jan Kowalski 1 OCD Odtwarzacz CD TIK Tomek Iksiński 2 OCD Odtwarzacz CD KKO Kuba Kowalski 3 LOD Lodówka KKO Kuba Kowalski 2

Widać wyraźnie, że cześć danych w tabeli powtarza się (redundancja). Powstająca w wyniku redundancji nadmiarowość jest zjawiskiem niekorzystnym, gdyż powoduje niepotrzebny wzrost objętości bazy danych. Nadmiarowość dotyczy pól: kod towaru, nazwa produktu, kod i nazwa klienta. Sprawa skomplikuje się, gdy Kuba Kowalski zmienia nazwę na przykład na Kuba Tobiasz Kowalski. W wyniku takiej zmiany trzeba będzie zmieniać wszystkie pola – wszystkie wiersze, w których występuje Kuba Kowalski. Kolejnym problemem będzie jak zapisać produkt, który nie został jeszcze zakupiony. Taka postać tabeli oznacza, że towar można dopisać tylko wtedy, gdy ktoś go kupi. Takie podejście do gromadzenia danych jest oczywiście błędne i komplikuje obsługę bazy danych. W celu uniknięcia opisanych problemów musimy znormalizować tabelę. Należy podzielić ją na tyle tabel, ile obiektów i działań potrzeba opisać. W tym wypadku trzy: klienci, towary, sprzedaż. Podsumowując: w wyniku normalizacji otrzymamy trzy tabele. Tabela – „Klienci”: Kod klienta Nazwa klienta JKO Jan Kowalski TIK Tomek Iksiński KKO Kuba Kowalski Tabela – „Towary”: Kod towaru Nazwa produktu TV32 Telewizor 32 cale OCD Odtwarzacz CD LOD Lodówka Tabela „Sprzedaż” Kod towaru Kod klienta Ilość TV32 JKO 1 OCD TIK 2 OCD KKO 3 LOD KKO 2

Page 34: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 32

Przejdźmy do definicji postaci normalnych:

Pierwsza postać normalna Relacja jest w pierwszej postaci normalnej, jeśli wartości atrybutów są elementarne

(atomowe, dalej niepodzielne). Oznacza, że są to pojedyncze wartości określonego typu. Druga postać normalna

Relacja pomiędzy tabelami jest w drugiej postaci normalnej, jeżeli nie zawiera redundancji. Druga postać normalna powstaje w wyniku utworzenia oddzielnych tabel dla zestawów wartości, odnoszących się do wielu rekordów, a następnie powiązania tak powstałych tabel za pomocą klucza zewnętrznego. Trzecia postać normalna

Relacja pomiędzy tabelami jest w trzeciej postaci normalnej, jeśli jest ona w drugiej postaci normalnej i wartości jej atrybutów zależą tylko od klucza podstawowego, a nie od siebie nawzajem. Postać ta powstaje w wyniku wyeliminowania pól, które nie zależą od klucza podstawowego (pola te automatycznie wchodzą w skład kolejnej tabeli). Czwarta postać normalna

Jest to postać trudna do zastosowania, stąd zapisując jej definicje wykorzystać musimy algebrę relacyjną. Dana jest relacja o schemacie R oraz trzy parami rozłączne i niepuste podzbiory A, B, C atrybutów z R takie, że A B C = R i podzbiór B jest nietrywialnie wielowartościowo zależny od A. Dana relacja R jest w czwartej postaci normalnej wtedy i tylko wtedy, gdy jest w trzeciej postaci normalnej i wielowartościowa zależność zbioru B od a pociąga za sobą funkcjonalną zależność wszystkich atrybutów tej relacji od A. Piąta postać normalna

Dana relacja r o schemacie R jest w piątej postaci normalnej wtedy i tylko wtedy, gdy jest w czwartej postaci normalnej i w przypadku występowania w niej połączeniowej zależności funkcjonalnej *R[R1, ..., Rm] zależność ta wynika z zależności atrybutów od klucza podstawowego.

Po przeczytaniu definicji pięciu postaci normalnych może się wydawać, że im większa postać normalna tym lepiej. Przecież im mniejsza nadmiarowość tym baza danych jest doskonalsza. W praktyce pierwsza postać normalna jest wręcz naturalna w relacyjnych bazach danych (uzyskiwana jest najczęściej na mocy definicji relacyjnych baz danych). Doprowadzenie relacji do drugiej i trzeciej postaci normalnej nie przysparza problemów. Z kolei czwarta i piąta forma normalna wymagają pewnego wysiłku umysłowego przy tworzeniu bazy danych zgodnie z tą postacią. Poza tym w rzeczywistości dwie ostanie postaci normalne często znacznie utrudniają również posługiwanie się danymi zgromadzonymi w bazie danych. Projektanci baz danych często ograniczają się do trzeciej postaci normalnej, określając taką sytuację jako najbardziej naturalną.

W niektórych przypadkach rygorystyczne przestrzeganie normalizacji w projektowanej strukturze prowadzi do: − wydłużenia czasu wyszukiwania, − błędnego działania aplikacji związanego z naruszeniem zasady integralności danych.

W pewnych przypadkach (związanych z wyliczaniem, np. ceny brutto) należy zachować w tabeli pola zależne od siebie, aby uniknąć błędu sumowania do raportu zaokrągleń zamiast zaokrąglenia końcowej kwoty,

− błędnego działania aplikacji dotyczącego poprzednich okresów pracy. Jeżeli istnieją wartości, które zmieniają się w czasie (procent podatku, zysk firmy) to zgodnie z zasadą

Page 35: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 33

normalizacji należałoby umieścić je w algorytmie wyliczania, a w bazie przechowywać tylko kwotę transakcji. Wówczas wydruk transakcji z okresu, w którym obowiązywała poprzednia wartość byłby błędny (kwota transakcji byłaby mnożona przez obowiązujący w obecnym czasie podatek, zysk itp.). Błędu by nie było, gdyby każda transakcja w bazie zawierała oczekiwaną wartość, np. zysku. Powstająca w bazie nadmiarowość daje podstawę do zaufania raportom z bazy dotyczącym transakcji wykonanych w każdym czasie. Po zakończeniu procesu normalizacji należy dokonać stosownych modyfikacji

w schematach tabel. Na pewno trzeba będzie uzupełnić system powiązań relacyjnych. Prawdopodobnie pojawią się relacje jeden-do-jednego charakterystyczne dla tabel zawierających dodatkowe informacje o obiektach.

4.5.2. Pytania sprawdzające Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń. 1. Na czym polega normalizacja bazy danych? 2. Kiedy relacja jest w pierwszej postaci normalnej? 3. Kiedy relacja jest w drugiej postaci normalnej? 4. Kiedy relacja jest w trzeciej postaci normalnej? 5. Wymień wady i zalety normalizacji?

4.5.3. Ćwiczenia

Ćwiczenie 1 Dokonaj normalizacji tabel bazy danych przechowujących informacje o zwierzętach.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) wykonać kolejne etapy normalizacji każdej z tabel, 2) uzupełnić informacje o powiązaniach relacyjnych, 3) uzupełnić projekt o tabele walidacji, 4) sprawdzić integralność bazy danych.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 2 Dokonaj normalizacji tabel bazy danych przechowujących informacje o zawodach

sportowych. Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) wykonać kolejne etapy normalizacji każdej z tabel, 2) uzupełnić informacje o powiązaniach relacyjnych, 3) uzupełnić projekt o tabele walidacji, 4) sprawdzić integralność bazy danych.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Page 36: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 34

Ćwiczenie 3 Dokonaj normalizacji tabel bazy danych przechowujących informacje o konkursach

przedmiotowych.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) wykonać kolejne etapy normalizacji każdej z tabel, 2) uzupełnić informacje o powiązaniach relacyjnych, 3) uzupełnić projekt o tabele walidacji, 4) sprawdzić integralność bazy danych.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet.

Ćwiczenie 4 Dokonaj normalizacji tabel bazy danych przechowujących informacje o zasobach

sprzętowych.

Sposób wykonania ćwiczenia Aby wykonać ćwiczenie powinieneś:

1) wykonać kolejne etapy normalizacji każdej z tabel, 2) uzupełnić informacje o powiązaniach relacyjnych, 3) uzupełnić projekt o tabele walidacji, 4) sprawdzić integralność bazy danych.

Wyposażenie stanowiska pracy:

– komputer z zainstalowanym edytorem tekstu i dostępem do sieci Internet. 4.5.4. Sprawdzian postępów Czy potrafisz: Tak Nie 1) doprowadzić relacje do pierwszej postaci normalnej? □ □

2) doprowadzić relacje do drugiej postaci normalnej? □ □ 3) doprowadzić relacje do trzeciej postaci normalnej? □ □ 4) doprowadzić relacje do czwartej postaci normalnej? □ □ 5) doprowadzić relacje do piątej postaci normalnej? □ □ 6) określić, w jakich przypadkach czwarta i piąta postać normalna

utrudnia pracę z bazą danych? □ □

Page 37: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 35

5. SPRAWDZIAN OSIĄGNIĘĆ INSTRUKCJA DLA UCZNIA 1. Przeczytaj uważnie instrukcję. 2. Podpisz imieniem i nazwiskiem kartę odpowiedzi. 3. Zapoznaj się z zestawem pytań testowych. 4. Test zawiera 11 pytań testowych. Do każdego pytania dołączone są cztery możliwości

odpowiedzi. Tylko jedna odpowiedź jest prawidłowa. 5. Udzielaj odpowiedzi wyłącznie na załączonej karcie odpowiedzi, stawiając w odpowiedniej

rubryce znak ×. w przypadku pomyłki należy błędną odpowiedź zaznaczyć kółkiem, a następnie ponownie zakreślić odpowiedź prawidłową.

6. Pracuj samodzielnie, bo tylko wtedy będziesz miał satysfakcję z wykonanego zadania. 7. Jeżeli udzielenie odpowiedzi będzie Ci sprawiało trudność, wtedy najlepiej odłóż jego

rozwiązanie na później. Wróć do niego, gdy zostanie Ci wolny czas. 8. Na rozwiązanie testu masz 30 minut. Powodzenia!

ZESTAW PYTAŃ TESTOWYCH 1. Teoria baz danych wyróżnia cztery najważniejsze modele baz danych. Są nimi:

a) model hierarchiczny, obiektowy, relacyjny, plikowy, b) model sieciowy, hierarchiczny, obiektowy, relacyjny, c) model otwarty, zamknięty, mieszany, relacyjny, d) model relacyjny, plikowy, dyskowy.

2. Twórcom systemów bazodanowych zaleca się budowanie aplikacji zgodne z podejściem

warstwowym, które oznacza: a) warstwy logiczne aplikacji to zbiór bibliotek służących do obsługi baz danych, b) warstwy są elementem występującym przy tworzeniu baz danych z wykorzystaniem

języka Java i mają za zadanie przyspieszyć tworzenie aplikacji, c) podział aplikacji na warstwy ma na celu utrudnienie dekompilacji kodu; jedynym celem

warstw jest podnieść bezpieczeństwo aplikacji, d) logiczny podział aplikacji na trzy warstwy: warstwa prezentacji, warstwa dziedziny

problemu, warstwa baz danych. 3. Do podstawowych funkcji baz danych NIE należy (Zaznacz błędną odpowiedź):

a) tworzenie baz danych i tabel, b) dodawanie, modyfikacja i usuwanie danych, c) eksport danych do pliku programu Microsoft Excel, d) sortowanie i raportowanie.

Page 38: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 36

4. Które z poniższych pól w programie Microsoft Access umożliwi przechowywanie wartości o rozmiarze powyżej 100 MB? a) OLE, b) memo, c) blob, d) taki typ nie istnieje, ponieważ Microsoft Access ma ograniczenie do 96 MB wielkości

przypadającej na wartość pola. 5. Klucz główny to:

a) pole, które nazywa się ID i jest typu index, b) pole lub zespół pól, których wartość jest unikatowa i niepowtarzalna w całej tabeli, c) mechanizm, który umożliwia kodowanie wartości pól - dla każdej tabeli generowany jest

jeden klucz SSL, d) pole, które tworzy relacje z tabelą nadrzędną.

6. Które z poniższych pól NIE mogą być kluczem głównym?

a) unikatowe pole całkowite o nazwie ID, b) imię i nazwisko, c) numer PESEL, d) numer katalogowy książki: ISBN.

7. Jaka wartość znajduje się w nie wypełnionych polach?

a) NULL, b) jedna spacja, c) zero, d) nie mogą istnieć takie pola.

8. Tabelą walidacji będzie najprawdopodobniej tabela:

a. A, b. B, c. C, d. D.

9. Normalizacja tabeli to:

a) proces dostosowania struktury zgodnie z dyrektywą Unii Europejskiej, b) proces polegający na usuwaniu z niej błędów i nieprawidłowości dotyczących struktury, c) zmiana wartości na postać ciągu normalnego, d) usuwanie powtarzających się nazwisk.

10. Wskaż pole segmentowe:

a) Anna 12 lat b) Anna Marcin Jacek c) Anna d) 12

Page 39: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 37

11. Poniżej przedstawiono fragment systemu badań lekarskich. Określenie „Uczestnictwo obowiązkowe” odnosi się do tabeli:

a) A, b) B, c) A i B, d) żadnej.

Page 40: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 38

KARTA ODPOWIEDZI Imię i nazwisko ........................................................................................................................ Analizowanie potrzeb klienta i projektowanie struktury baz danych Zakreśl poprawną odpowiedź Nr zadania Odpowiedź Punkty

1 a b c d 2 a b c d 3 a b c d 4 a b c d 5 a b c d 6 a b c d 7 a b c d 8 a b c d 9 a b c d

10 a b c d 11 a b c d

Razem:

Page 41: 10. Analizowanie potrzeb klienta i projektowanie struktury baz danych

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 39

6. LITERATURA 1. Begg C., Connolly T.: Systemy baz danych. RM 2004 2. Cassel P., Palmer P.: Access 2000 PL. Helion 2000 3. Czogalik B.: Access 2002. Helion 2002 4. Forte S.: Access 2000. Księga eksperta. Helion 2001 5. Harrington Jan L.: SQL dla każdego. Mikom 2000 6. Hernandez M. J.: Bazy danych dla zwykłych śmiertelników. Mikom 2000 7. Prague C. N., Reardon J., Irwin M. R.: Access 2003PL. Biblia. Helion 2004 8. http://pl.wikipedia.org