PROJEKTOWANIE BAZ DANYCH
Warto wiedzieć, jak projektuje się bazę od podstaw.
Pierwszym krokiem do
wykonania własnej bazy jest posiadanie odpowiedniego, legalnie
zakupionego programu komputerowego. Może to być prosty w obsłudze pakiet
MS Works albo rozbudowany program Microsoft Access, do tego celu nadaje
się również darmowy program Apache OpenOffice Base dostępny na system Windows i Linuks, można też posłużyć się oprogramowaniem innym, ale trzeba mieć na uwadze, że będzie wymagana umiejętność programowania w SQL.
Od decyzji podjętych na etapie projektowania zależeć będzie jakość i użyteczność stworzonej bazy danych.
Aby utworzyć bazę należy
postępować ściśle wg poniższych punktów.
Główną część projektu stanowi dokumentacja wykonana na "papierze" czyli w dowolnym edytorze tekstów MS Word, Works, Writter,
Wordpad etc. Ten proces to tzw. standaryzacja (wszyscy wykonują projekt w podobnej strukturze, przez co staje się on znormalizowany i czytelny) Podczas projektowania, projekt na "papierze" zajmuje najwięcej czasu. Wymaga zastanowienia się i przeanalizowania struktury całej bazy danych.
Wymagania wstępne:
Tabele i relacje – wszystkie, niezbędne dla danego projektu tabele t.j. min. 2, jedna posiada klucz główny, druga podstawowy, tabele powinny być połączone odpowiednimi relacjami 1-1 lub 1-w czyli jeden-do-jeden lub jeden-do-wielu. Relacja wiele do wiele nie jest korzystna, powinno się ją zastąpić dwoma poprzednimi relacjami - czyli tabelę rozdzielić na dwie inne i połączyć relacjami 1-1 lub 1-w.
Tabele i relacje – wszystkie, niezbędne dla danego projektu tabele t.j. min. 2, jedna posiada klucz główny, druga podstawowy, tabele powinny być połączone odpowiednimi relacjami 1-1 lub 1-w czyli jeden-do-jeden lub jeden-do-wielu. Relacja wiele do wiele nie jest korzystna, powinno się ją zastąpić dwoma poprzednimi relacjami - czyli tabelę rozdzielić na dwie inne i połączyć relacjami 1-1 lub 1-w.
Podczas tworzenia tabel powinno kierować się tzw. normalizacją. Ten proces, z grubsza polega na takim podzieleniu atrybutów określających encję (czyli, z grubsza nazwę naszej tabeli), aby ich zbiór nie zawierał elementów podobnych, powtarzających się. Jeżeli takie elementy występują wśród atrybutów i dają się one pogrupować - to stanowią podstawę do utworzenia nowej tabeli. W ten sposób rozdzielamy podobne atrybuty do osobnych tabel. Tabelkę z informacjami o projektowanej tabeli najlepiej wykonać przy pomocy opcji <<rysuj tabelę>> dostępną w wielu edytorach tekstu. Tabela taka winna zawierać: nazwę pola, typ pola (tekstowy, liczbowy, uniwersalny, walutowy, daty itd.), długość pola oraz klucz i ewentualne uwagi;
Diagram encji i relacji ERD - Metoda przedstawiania związków między relacjami (tabelami) za pomocą diagramu jest bardzo wygodna i znacznie usprawnia proces tworzenia bazy danych. Na diagramie (schemacie) widać od razu wszystkie tabele i powiązania między nimi. Widać również klucze, nazwy tabel i pól. Diagram rysujemy w dowolnym programie graficznym i wstawiamy do projektu.
Formularze – są niezbędne do wprowadzania i edycji wszystkich danych w bazie danych. Formularze powinny być utworzone do każdej tabeli dla której wymagane są wprowadzanie, modyfikowanie czy usuwanie danych.
Kwerendy - określają funkcjonalność waszej bazy. Powinno być ich kilka (min. 4). Powinny być proste i funkcjonalne np. powinny sortować dane, przeszukiwać dane wg zadanego kryterium, przedstawiać listy i indeksy elementów w bd. np. listę osób, produktów, usług itp. Powinna też znaleźć się jedna kwerenda podsumowująca, np. wyliczająca liczbę osób, produktów, usług itp.
Raporty – min. 3 oparte na kwerendach wybierających (co najmniej jeden raport z kwerendy parametrycznej z podsumowaniem).
Panel sterowania (główne menu z dostępem do wszystkich obiektów bd) – panel winien być uruchamiany automatycznie po uruchomieniu pliku bazy danych (oparty np. na makro 'autoexec'), zawierającego menu, dające dostęp do wszystkich formularzy i raportów w bazie, oraz do np. wydruków. Panel winien posiadać dobrze opisany przycisk wyłączający całość aplikacji. Poniżej przykład klasycznego panelu sterowania.
Struktura projektu
(Podstawowe punkty w dokumentacji projektu. Skopiuj je, sformatuj i uzupełnij odpowiednią treścią)
TYTUŁ PROJEKTU
Autor:
1. Informacje wstępne o projekcie BD
(dla kogo projekt jest tworzony oraz cele, dla których tworzony jest projekt);
__________________________________________________________
TYTUŁ PROJEKTU
Autor:
1. Informacje wstępne o projekcie BD
(dla kogo projekt jest tworzony oraz cele, dla których tworzony jest projekt);
2. Struktura BD
(spis tabel wraz z relacjami oraz jaki będzie dostęp do bazy czyli jakie formularze i raporty?)
3. Diagram Encji Relacji (ERD)
(schemat graficzny z zaznaczeniem relacji między tabelami i zaznaczonymi kluczami PK);
4. Normalizacja tabel
(dokładny opis tabel: z nazwą pól, typem danych, rozmiarem pól i uwagami);
5. Operacje na bazie
(opis instrukcji wejściowych czyli formularzy do wprowadzania danych oraz procedur wyjściowych czyli jakie informacji można otrzymać z BD – powinien być to spis formularzy, kwerend, raportów itp....);
6. Panel sterowania
(schemat graficzny panelu sterowania bazą z przyciskami i opisami makr np. drukowanie, wyjście z bazy itp.);
7. Podsumowanie
(opis modyfikacji, zmiany jakie wprowadzono w bazie po utworzeniu projektu, uwagi dot. projektu np. hasła logowania, dostęp do bazy, na jakim systemie testowano bazę);
(spis tabel wraz z relacjami oraz jaki będzie dostęp do bazy czyli jakie formularze i raporty?)
3. Diagram Encji Relacji (ERD)
(schemat graficzny z zaznaczeniem relacji między tabelami i zaznaczonymi kluczami PK);
4. Normalizacja tabel
(dokładny opis tabel: z nazwą pól, typem danych, rozmiarem pól i uwagami);
5. Operacje na bazie
(opis instrukcji wejściowych czyli formularzy do wprowadzania danych oraz procedur wyjściowych czyli jakie informacji można otrzymać z BD – powinien być to spis formularzy, kwerend, raportów itp....);
6. Panel sterowania
(schemat graficzny panelu sterowania bazą z przyciskami i opisami makr np. drukowanie, wyjście z bazy itp.);
7. Podsumowanie
(opis modyfikacji, zmiany jakie wprowadzono w bazie po utworzeniu projektu, uwagi dot. projektu np. hasła logowania, dostęp do bazy, na jakim systemie testowano bazę);
__________________________________________________________
Etapy projektowania relacyjnej bazy danych
Etap 1 – Określenie celu, jakiemu ma służyć baza danych:
•jakich informacji ma dostarczyć baza danych
•jakie zagadnienia będą analizowane w bazie (tabele)
•jakie informacje mają określać każde zagadnienie (pola w tabelach)
•konsultacja z przyszłymi użytkownikami bazy danych
•naszkicować wzory raportów, które powinna wytwarzać
•zgromadzić formularze do wpisywania danych, które są używane obecnie
•zapoznać się z działaniem dobrze zaprojektowanych baz danych, podobnych do tej, która ma być utworzona
Etap 2 – Określenie tabel, które są potrzebne w bazie danych:
•tabela nie powinna zawierać powtarzających się informacji (redundancji), a informacje nie powinny powtarzać się w różnych tabelach –dane wystarczy aktualizować w jednym miejscu
•każda tabela powinna zawierać informacje tylko na jeden temat –dane na temat jednego zagadnienia można przetwarzać niezależnie od danych dotyczących innych zagadnień
Etap 1 – Określenie celu, jakiemu ma służyć baza danych:
•jakich informacji ma dostarczyć baza danych
•jakie zagadnienia będą analizowane w bazie (tabele)
•jakie informacje mają określać każde zagadnienie (pola w tabelach)
•konsultacja z przyszłymi użytkownikami bazy danych
•naszkicować wzory raportów, które powinna wytwarzać
•zgromadzić formularze do wpisywania danych, które są używane obecnie
•zapoznać się z działaniem dobrze zaprojektowanych baz danych, podobnych do tej, która ma być utworzona
Etap 2 – Określenie tabel, które są potrzebne w bazie danych:
•tabela nie powinna zawierać powtarzających się informacji (redundancji), a informacje nie powinny powtarzać się w różnych tabelach –dane wystarczy aktualizować w jednym miejscu
•każda tabela powinna zawierać informacje tylko na jeden temat –dane na temat jednego zagadnienia można przetwarzać niezależnie od danych dotyczących innych zagadnień
Optymalne projektowanie tabel
Optymalizacja tabel pod kątem ich wydajności
•Należy projektować tabele bez danych nadmiarowych
•Należy wybierać odpowiednie typy danych dla każdego z pól. Podczas definiowania danego pola, należy wybrać typ danych wymagający możliwie najmniej pamięci i odpowiedni dla danych przechowywanych w polu
•Należy tworzyć indeksy dla pól, które są sortowane, sprzęgane lub dla których ustawiane są kryteria
•Zbyt duża liczba indeksów spowalnia działanie bazy
Etap 3 – Określenie pól, które są potrzebne w tabelach:
•należy powiązać każde pole bezpośrednio z zagadnieniem, którego dotyczy tabela
•nie należy wprowadzać danych pośrednich lub obliczonych (danych, które są wynikiem wyrażenia)
•należy uwzględnić wszystkie potrzebne informacje
•informacje należy przechowywać w możliwie najmniejszych jednostkach logicznych (na przykład Imię oraz Nazwisko, a nie Dane personalne)
Optymalizacja tabel pod kątem ich wydajności
•Należy projektować tabele bez danych nadmiarowych
•Należy wybierać odpowiednie typy danych dla każdego z pól. Podczas definiowania danego pola, należy wybrać typ danych wymagający możliwie najmniej pamięci i odpowiedni dla danych przechowywanych w polu
•Należy tworzyć indeksy dla pól, które są sortowane, sprzęgane lub dla których ustawiane są kryteria
•Zbyt duża liczba indeksów spowalnia działanie bazy
Etap 3 – Określenie pól, które są potrzebne w tabelach:
•należy powiązać każde pole bezpośrednio z zagadnieniem, którego dotyczy tabela
•nie należy wprowadzać danych pośrednich lub obliczonych (danych, które są wynikiem wyrażenia)
•należy uwzględnić wszystkie potrzebne informacje
•informacje należy przechowywać w możliwie najmniejszych jednostkach logicznych (na przykład Imię oraz Nazwisko, a nie Dane personalne)
Wybór typu pola
Przy podejmowaniu decyzji, jakiego typu danych użyć w polu tabeli, należy uwzględnić następujące czynniki:
•Jakie wartości będą dozwolone dla pola?
•Ile miejsca będą mogły zajmować dane przechowywane w polu?
•Jakie operacje będą wykonywane na wartościach w polu?
•Czy wartości w polu będą sortowane lub indeksowane?
•Czy pole będzie używane do grupowania rekordów w kwerendach lub raportach?
•W jaki sposób wartości pola będą sortowane?
Etap 4 – Przypisanie polom jednoznacznych wartości w każdym rekordzie
•Aby program bazy danych mógł powiązać informacje przechowywane w różnych tabelach, każda tabela w bazie danych musi zawierać pole lub zbiór pól, które jednoznacznie określają każdy rekord. Takie pole lub zbiór pól nazywany jest kluczem podstawowym.
•Klucz podstawowy (primarykey) –jedno lub więcej pól, których wartości w sposób jednoznaczny identyfikują dany rekord w tabeli. Klucz podstawowy nie może być pusty (NULL) i zawsze musi mieć indeks unikatowy
Etap 5 – Określenie relacji między tabelami
•Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba określić sposób poprawnego łączenia powiązanych danych w logiczną całość.
•W tym celu definiuje się relacje między tabelami w bazie danych.
Etap 6 – Wprowadzenie danych i utworzenie innych obiektów bazy danych
Zakończenie etapu projektowego:
•praktyczna weryfikacja projektu
•sprawdzenie poprawności wyników zapytań
•testowanie szybkości działania bazy
•optymalizacja i reorganizacja bazy, ew. poprawa projektu i utworzenie bazy od nowa
•testowanie z udziałem użytkowników bazy – serwis
Przy podejmowaniu decyzji, jakiego typu danych użyć w polu tabeli, należy uwzględnić następujące czynniki:
•Jakie wartości będą dozwolone dla pola?
•Ile miejsca będą mogły zajmować dane przechowywane w polu?
•Jakie operacje będą wykonywane na wartościach w polu?
•Czy wartości w polu będą sortowane lub indeksowane?
•Czy pole będzie używane do grupowania rekordów w kwerendach lub raportach?
•W jaki sposób wartości pola będą sortowane?
Etap 4 – Przypisanie polom jednoznacznych wartości w każdym rekordzie
•Aby program bazy danych mógł powiązać informacje przechowywane w różnych tabelach, każda tabela w bazie danych musi zawierać pole lub zbiór pól, które jednoznacznie określają każdy rekord. Takie pole lub zbiór pól nazywany jest kluczem podstawowym.
•Klucz podstawowy (primarykey) –jedno lub więcej pól, których wartości w sposób jednoznaczny identyfikują dany rekord w tabeli. Klucz podstawowy nie może być pusty (NULL) i zawsze musi mieć indeks unikatowy
Etap 5 – Określenie relacji między tabelami
•Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba określić sposób poprawnego łączenia powiązanych danych w logiczną całość.
•W tym celu definiuje się relacje między tabelami w bazie danych.
Etap 6 – Wprowadzenie danych i utworzenie innych obiektów bazy danych
Zakończenie etapu projektowego:
- sprawdzenie projektu i wykrycie ewentualnych usterek
- utworzyć bazę danych i tabele
- wprowadzić dane do bazy
- utworzyć potrzebne formularze, strony dostępu do danych, skrypty i moduły
•praktyczna weryfikacja projektu
•sprawdzenie poprawności wyników zapytań
•testowanie szybkości działania bazy
•optymalizacja i reorganizacja bazy, ew. poprawa projektu i utworzenie bazy od nowa
•testowanie z udziałem użytkowników bazy – serwis
JEŻELI JESZCZE MASZ JAKIEŚ WĄTPLIWOŚCI CZY NIEJASNOŚCI
NAPISZ DO NAUCZYCIELA PROWADZĄCEGO SZKOLENIA
NA PLATFORMIE VULCAN.
NAPISZ DO NAUCZYCIELA PROWADZĄCEGO SZKOLENIA
NA PLATFORMIE VULCAN.
________________________________________
Komentarze