Projektowanie baz danych

Jeżeli jesteś w tym miejscu, to zapewne zdajesz sobie sprawę co to jest baza danych, do czego służy i jak ważne jest to, aby była prawidłowo zaprojektowana. Zdajesz sobie też na pewno sprawę, że projektowanie baz danych nie jest proste i wymagana do tego jest specjalistyczna i głęboka wiedza. Pozwól jednak, że w kilku zdaniach napisze to dla tych czytelników, którzy weszli na tą stronę przypadkowo, albo nie są do końca pewni znaczenia baz danych.

Co to jest baza danych?

Baza danych, to powiązany tematycznie zbiór informacji. Może zawierać informacje na temat osób, materiałów i wielu innych kwestii.

Czy baza danych jest naprawdę potrzebna?

Teoretycznie baza nie jest konieczna i można dowolne dane zapisać w edytorze tekstu albo w arkuszu Excela - wiersz pod wierszem. W skrajnie prostych przypadkach będzie to działać, ale gdy tych wierszy będziemy mieli więcej, korzystanie z takiego zbioru stanie się uciążliwe.

Wyobraźmy sobie, że mamy zbiór danych o osobach, ich miejscach zamieszkania i zarobkach. Spróbujmy sobie wyobrazić, jak będziemy w naszym zbiorze wyszukiwać osoby, które mieszkają w określonym rejonie i zarabiają określone sumy pieniędzy. Wyszukanie takich informacji nie jest proste a gdy choć odrobinę je dodatkowo skomplikujemy - np. które z tych osób w lutym i kwietniu zarobiły ponad 2000 złotych a wzrost ich zarobków wyniósł ponad 20% miesiąc do miesiąca - wyjątkowo uciążliwe w niezorganizowanym zbiorze danych.

Kolejnym aspektem który może spędzać nam sen z oczu jest przekazywanie danych innym osobom. Wyobraźmy sobie, że nasz zbiór danych uzupełnia kilka osób i zawsze każda z nich powinna mieć aktualne informacje o innych osób. Osoby te mogą oczywiście wysyłać sobie plik z danymi pocztą elektroniczną, ale jak często by tego nie robiły, prędzej czy później (raczej prędzej niż później) dojdzie do sytuacji, gdy jedna z nich zacznie pracę na nieaktualnym już zbiorze danych i po chwili pomiędzy naszymi pracownikami zacznie krążyć kilka wersji pliku.

Jak więc sobie poradzić z tym problemem?

Rozwiązanie jest proste. Potrzebujemy mechanizmu, który będzie zarządzał naszymi informacjami. Potrzebujemy czegoś, dzięki czemu nasz dane będą ułożone w uporządkowany sposób, zawsze dostępne i zawsze, u każdego użytkownika aktualne. Rozwiązaniem naszego problemu jest baza danych.

Czy mogę napisać sobie bazę danych sam?

Oczywiście. Budowanie baz danych, w prostych przypadkach nie jest to nawet takie trudne. Wymaga jednak trochę wiedzy i doświadczenia. Każdą bazę danych należy też zaprojektować. Nawet jeżeli tworzysz prostą bazę, projektowanie jest najważniejszym etapem. Pominięcie projektowania prędzej czy później spowoduje, że bazę danych trzeba będzie napisać - zaprojektować od nowa. Dobry projekt jest podstawą bazy danych, która skutecznie zarządzi naszymi informacjami.

Co muszę wiedzieć, żeby samemu zaprojektować i zbudować bazę danych?

Cóż... potrzebujesz wiedzieć co to są: tabele, widoki, domeny, procedury i funkcje składowane, triggery, generatory, uprawnienia, role. Potrzebujesz znać typy danych, logikę i składnię języka PLSQL, który jest podstawą komunikacji z bazami danych. Potrzebujesz wiedzieć co to są i jak się używa kluczy i indeksów. Potrzebujesz wiedzieć jak wykonuje się optymalizację bazy danych, kiedy używać nadmiarowości a kiedy nie. Do tego wszystkiego musisz poznać charakterystykę choć jednego silnika baz danych (bo każdy jest nieco inny). Baza danych nie działa sama. Potrzebny jej jest jakiś interfejs użytkownika - formularze, raporty i inne... Do tego potrzebna Ci będzie znajomość jakiegoś języka programowania. Dużo tego? Dużo! Tą wiedzę nabywa się latami.

Co jeżeli nie znam się na bazach danych?

Jesteś we właściwym miejscu. Chętnie pomogę.

Co muszę wiedzieć aby zlecić zaprojektowanie czy wykonanie bazy danych?

Podstawową kwestią jest to, do czego baza danych ma służyć, jakie dane zbierać i w jaki sposób będzie użytkowana? Warto się zastanowić, jakich informacji baza ma dostarczać i w jakiej formie? Słowem, w jaki sposób wyobrażasz sobie korzystanie z tej bazy?!

Spisz proszę wszystkie kwestie wiązane z bazą danych, sposobem jej użytkowania i przekaż do mnie w liście poczty elektronicznej. Na tej podstawie, przygotuję wstępny szkic bazy danych. Jeżeli coś będzie dla mnie niejasne, zadam pytania uzupełniające. W efekcie, otrzymasz wycenę realizacji całego projektu i będziesz miał możliwość podjąć świadomą decyzję co do realizacji.

Ostatnia zmiana Środa, 09. Maj 2012 18:05