Projektowanie bazy danych: kroki i podstawy

Spisu treści:

Projektowanie bazy danych: kroki i podstawy
Projektowanie bazy danych: kroki i podstawy
Anonim

Projektowanie baz danych to sekwencyjny proces dostosowywania dostępnej wiedzy i narzędzi do przedstawiania i przetwarzania informacji.

Rzeczywisty zakres, konkretne zadanie, opis napływającego przepływu informacji i ogólne wyobrażenia na temat procesu przetwarzania informacji są stopniowo dodawane do pewnego konceptualnego wyobrażenia o tym, czym jest baza danych w konkretnym przypadku i jak pracować z nim.

Nowoczesna baza danych

Relacje relacyjne są podstawą każdego modelu informacyjnego. Rozwiązania Oracle są w zasadzie równoważne z MySQL, ale zasadniczo różnią się pod wieloma względami. Projektowanie bazy danych to również kwestia bezpieczeństwa, ilości informacji i odpowiedzialności za integralność danych, ale są one drugorzędne w kwestii projektowania wydajnej, niezawodnej i przyjaznej dla użytkownika bazy danych.

kroki projektowania bazy danych
kroki projektowania bazy danych

Tabele Excela nie różnią się od Oracle i MySQL w kontekście struktur prostokątnych (relacyjnych): kolumny i wiersze=jedna komórka na przecięciu nazwy kolumny (pola) i indeksu wyboru (wiersza). Jeśli nie weźmiesz pod uwagę miary i ilości pracy ręcznej, to dzięki wypracowanym sposobom łączenia komórek w pionie i poziomie Excel wyprzedza nawet Oracle!

Excel, zgodnie ze swoją podstawową ideą, nigdy nie „błyszczy” dynamiką, funkcjonalnością Oracle i nie może przenosić czegoś z jednego arkusza do drugiego „według pozostałości”. Tutaj Oracle jest bardziej obiecujące, ale jego rozważania dotyczące kwestii migracji dużej ilości informacji i łączenia sformalizowanych stanowisk z różnych źródeł pozostawiają wiele do życzenia. Tutaj MySQL jest bardziej obiecujący: nie stawia sobie globalnych zadań, ale doskonale wykonuje swoją pracę.

Relacje relacyjne są wygodnymi, praktycznymi i ugruntowanymi narzędziami, od prywatnych rozwiązań na poziomie Excela po globalne wolumeny Oracle, są używane wszędzie, są na żądanie i mają gwarantowaną przyszłość pracy.

Nowoczesna baza danych to tabele, wiersze, kolumny i indeksy otoczone pełną funkcjonalnością, rozbudowanymi dodatkowymi narzędziami uwzględniającymi wiele operacji, duże obciążenia i ogromne wolumeny.

Wiedza i doświadczenie nowoczesnych systemów zarządzania bazami danych (DBMS) uwzględniają nie tylko kwestie niezawodności, niezawodności danych, regulacji dostępu i kwestie bezpieczeństwa, ale także umożliwiają śledzenie negatywnych wpływów zewnętrznych, analizę możliwych atakówi próbuje celowo wyrządzić krzywdę.

Nowoczesna baza danych to niezawodna podstawa dla dowolnego zasobu internetowego i aplikacji lokalnej, możliwość migracji informacji, przekształcania i przesyłania danych, przecinania i łączenia różnych widoków.

Jedyny niezbędny warunek: wysoko wykwalifikowany programista. Do wykonania efektywnego projektowania relacyjnych baz danych służy specjalista, a coraz częściej zespół specjalistów i ekspertów w zakresie zastosowania rozwiązywanego problemu.

Zakres, możliwe rozwiązania i przeszkody

Informacje krążą wszędzie. Wiele projektów jest bezpośrednio połączonych z Internetem, ale czynnik posiadania tutaj formalnej reprezentacji danych nie jest lepszy niż czynnik niepewności podczas tworzenia zasobu internetowego dla huty.

Rozwój i ogromne zainteresowanie sklepami internetowymi nie daje podstaw i możliwości przeniesienia doświadczeń z tworzenia jednego sklepu na tworzenie drugiego. Czynnik tajemnicy handlowej stwarza wiele przeszkód w przekazywaniu wiedzy, chociaż w rzeczywistości należy oddzielić rzeczywisty sklep od narzędzi programowych stworzonych dla tego sklepu.

projekt relacyjnej bazy danych
projekt relacyjnej bazy danych

Oczywiście klient zapłacił, a kod strony jest jego własnością. Cecha charakterystyczna nowoczesności: transfer wiedzy i rozwoju między zadaniami tego samego typu i pokrewnymi obszarami zastosowań jest niemożliwy i to jest problem.

Parsing to szeroka gama aplikacji dla systemów zarządzania bazami danych. Przede wszystkim jest to skanowanie informacji z Internetu. Równie ważne jest porównanie informacji zgromadzonych wbazy danych i żądania odwiedzających witrynę.

Analiza słów kluczowych wiąże się również z potrzebą stworzenia optymalnego rozwiązania, ale projektowanie bazy danych w programie Access może być bardziej obiecujące niż w przypadku MS SQL Server lub Oracle.

Lista źródeł informacji może być dynamiczna. Dynamika może być nieodłączna w tabelach źródłowej bazy danych, nazwach pól tabeli i regułach wywołań (zapytań). Projektowanie relacyjnych baz danych z wielu źródeł wyraźnie wymusza projektowanie na podstawie danych źródłowych, a nie optymalnej organizacji zebranych informacji.

Są dwie rzeczy, które są nieodłączne w każdej bazie danych:

  • orientacja na treść, priorytet algorytmu dynamicznego generowania bazy danych;
  • orientacja do użycia, struktura bazy danych jest ważniejsza i oparty jest na niej algorytm wykorzystania informacji.

W każdej dziedzinie zastosowania istnieje formalny model przepływu informacji przychodzących, model przechowywania informacji - rzeczywisty projekt bazy danych oraz model (algorytm) wykorzystania danych.

Różne procedury i etapy projektowania

Podstawy projektowania baz danych zwykle dzielą się na trzy etapy. Różni specjaliści w różny sposób odnoszą się do etapów pracy, ale w rzeczywistości istnieją trzy stanowiska:

  • planowanie koncepcyjne;
  • projekt logiczny;
  • wykonanie techniczne.

Praktyka przyczynia się do utrwalenia tradycji. Bez względu na złożony zakres i rozwiązywany problem. Wybór właściwego zawsze wymaga wyborunarzędzia. Na przykład, musisz zebrać informacje od odwiedzających zasób sieciowy, ale musisz je porównać z danymi z MS SQL Server. Zasób sieciowy jest hostowany na FreeBSD (Internet, serwer Apache), a MS SQL Server w innym mieście jest dostępny za pośrednictwem sieci rozproszonej firmy.

podstawy projektowania baz danych
podstawy projektowania baz danych

W tym rozwiązaniu musisz najpierw rozwiązać konkretny problem: nawiązać wymianę danych z serwerem wewnętrznym.

Techniczne wykonanie typowego zadania z konieczności będzie miało wpływ na początkowy etap: rzadko kiedy projekt bazy danych można wykonać od zera. Nawet przy sprawdzonej technologii rozwiązywania problemów zakres ewoluuje, zawsze wymagane jest robienie czegoś innego niż pierwotnie zamierzano.

Ostatnio wielu teoretyków i praktyków używa encji jako specjalnych danych. Są to abstrakcje, które pozwalają opisać model informacji na wejściu, podczas przetwarzania oraz w końcowym wyniku - bazie danych.

Widoki danych i jednostek

Projektowanie bazy danych poprzez abstrakcje i encje: możliwość tworzenia obrazu informacyjnego, definiowania typów danych i relacji między nimi.

Zazwyczaj taki projekt modelu bazy danych kończy się modelem graficznym przy użyciu programu MS Visio lub narzędzi wizualnych wybranego DBMS. Access ma swój własny sposób tworzenia obrazu informacyjnego, MySQL ma swój własny, a niektóre systemy zarządzania treścią całkowicie ukrywają bazę danych, narzucając model danych programistom za pośrednictwem własnych podmiotów -obiekty rozwiązywanego zadania.

Cechą charakterystyczną wielu systemów zarządzania treścią (CMS) jest to, że tworzą one „aplikację” o poziom większej abstrakcji przy opisie obszaru informacyjnego rozwiązywanego problemu. Prawdziwa baza danych jest ukryta, CMS oferuje programiście własny pomysł na obraz informacyjny świata.

W efekcie etapy projektowania bazy danych sprowadzają się do przestrzegania podstawowych wymagań i wykonania kroków zaproponowanych przez twórców konkretnego CMS. Nie ma nic wstydliwego w korzystaniu z idei baz danych i ich projektowania z Symfony czy Bitrix, Zend czy Yii, ale dla dewelopera jest to „obciążenie”.

Idealnie, narzędzia do projektowania baz danych powinny być wybierane i stosowane indywidualnie, bez zewnętrznej opinii, ale z wykorzystaniem doświadczenia i wiedzy.

projekt bazy danych informacji
projekt bazy danych informacji

Idealne dla programisty do uzyskania certyfikatu Oracle, ale doskonale akceptowalne dla kwalifikacji programisty obejmujących wgląd w pomysły informacyjne Oracle i praktyczną znajomość aplikacji MySQL.

W złożonych projektach i rozproszonym przetwarzaniu informacji ważna jest nie tylko baza danych, ale także źródła informacji, wyobrażenia o potrzebach konsumentów.

Etapy lub zespół: równowaga priorytetów

Wymaganie spójności ma najpilniejsze znaczenie. Podstawy projektowania bazy danych obejmują również etapowanie pracy, monitorowanie wyników pośrednich, ponowne przemyślenie każdego zakończonego etapu w oparciu o wykonanie następującego rodzaju pracy:

  • systematyczne;
  • fazowanie;
  • informacje zwrotne z dowolnego punktu w czasie, aż do samej pozycji wyjściowej.

Postanowienia te są abstrakcyjne, ale obecne w każdej teoretycznej i praktycznej technologii tworzenia efektywnej bazy danych.

Żadna technologia nie rozwija się sama, jest napędzana przez ludzi. Niezbędne są kwalifikacje zespołu programistów. Model informacyjny bazy danych to nie tylko struktura, ale także przepływ informacji.

Co ważniejsze: piękna grafika w odwzorowaniu struktury bazy danych czy dokładny opis przepływów informacji w dynamice - to kwestia nie tylko zadania i zakresu, ale także opinii zespołu deweloperskiego w dynamice.

projekt struktury bazy danych
projekt struktury bazy danych

Personel jest wszystkim, ale w kontekście: projekt koncepcyjny bazy danych to kwalifikacja wszystkiego. Wszyscy ludzie są wyjątkowi, a w dziedzinie systemów informatycznych istnieją i rozwijają się reprezentacje konkretnych osób.

Ważne jest zbudowanie zespołu programistów, a nie jakieś mityczne kroki projektowania bazy danych sugerowane przez autorytatywnego eksperta. Autorytet tego specjalisty ukształtował się na podstawie konkretnych prac, w określonym czasie. Praca do wykonania dzisiaj, nowe zadanie, nowoczesny sprzęt, nowa technologia, …

Możliwe odwrócenie. Istnieje Excel i Access oraz „obfite” dane w tych formatach z czasów starożytnych, kiedy Windows for Workgoups wciąż żył i miał się dobrze. Częściowo pozostały dane dBase i Quattro. Dziś te słowa już zostały zapomniane, ale informacjapozostał, jest poszukiwany i wymaga wydobycia i uformowania nowych pomysłów.

Stare i nowe: równowaga wiedzy

Technologia chmury nie przypomina baz danych, które zrobiła Ashton-Tate. To, co kiedyś kupiła firma Oracle, nie jest w żaden sposób porównywalne z tym, co robi dzisiaj. Ale zmienne, algorytmy, funkcje, pętle i warunki pozostały w programowaniu od wczesnych lat 80-tych. Chyba że koncepcja zabiegu odeszła w zapomnienie, a wszystko pozostanie takie, jakie było w czasach starożytnych.

Nawet współczesne idee programowania obiektowego są ubrane w klasyczne syntaktyczne i semantyczne „kajdany” ubiegłego wieku.

Co robić - programowanie jest inercyjne, a formalizacja informacji i projektowanie baz danych jest bardziej procesem niż wynikiem. Praca etapowa jest warunkiem koniecznym do osiągnięcia wyników. Ale kto policzył liczbę iteracji od etapów pośrednich prawie do rozpoczęcia pracy?

Informacje są zawsze dynamiczne, nic nie stoi w miejscu: zwłaszcza tematyka zadania i wymagania użytkownika. Każdy zakończony etap pracy pozwala ocenić na nowym poziomie to, co już zostało zrobione, a co pozostaje do zrobienia.

logiczny projekt bazy danych
logiczny projekt bazy danych

Rozważanie zaprojektowania struktury bazy danych jako zadania i uzyskanie końcowego wyniku jest daremne. Gdy tylko baza danych zostanie uruchomiona, na pewno pojawi się nowy pomysł, nawet jeśli narzędziem do tworzenia bazy danych był „prosty” Excel, a nie fantastycznie potężny i wszechstronny produkt firmy Oracle,manipulowanie milionami transakcji, setkami tysięcy jednoczesnych użytkowników i terabajtami informacji.

Priorytetem nie jest struktura bazy danych, ale stworzenie wykwalifikowanego zespołu specjalistów, plus obowiązkowy wymóg większej dynamiki wyniku, aby po zakończeniu prac nie trzeba było kontaktować się deweloperzy, co najmniej kilka miesięcy.

Rozwój sekwencyjny i/lub skoki wzwyż

Windows nie jest bazą danych, ale ma relikt - rejestr. Plik hosts jest po prostu identyfikacją adresów IP i nazw symbolicznych komputera lokalnego. Ale przez ten plik tworzone są informacje z różnych domen lub do różnych DBMS.

Możliwe jest zrozumienie wielostronnego systemu Windows jako działającego komputera lub serwera, ale nie będzie to w żaden sposób uzasadniać logiki wersji tego produktu. PHP również nie jest bazą danych, ale argumenty deweloperów, dlaczego wersja 5 następuje bezpośrednio po wersji 7, są niespójne. PHP to narzędzie dostępu do MySQL, którego składnia definiuje sposób tworzenia zapytań i uzyskiwania odpowiedzi z bazy danych za pomocą dialektu SQL.

Przykłady niezgodności między nowoczesnymi narzędziami programistycznymi a obsługą baz danych stały się normą w ostatnich latach, ale nie jest to najbardziej oryginalne. Co będzie się kryło za wersją systemu Windows 10? Jakie są perspektywy dla Oracle Database 12c?

Informacje autora-programisty: „Oracle Database 11g Express Edition (Oracle Database XE) to podstawowy system DBMS oparty na kodzie DBMS Oracle Database 11g Release 2. Ten DBMS jest darmowy do rozwoju,wdrażanie i sprzedaż, szybkie pobieranie i łatwe administrowanie.”

Perspektywa programisty użytkownika: „W 2013 r. firma Oracle wypuściła Oracle Database 12c (wersja 12.1.0.1) z kluczowymi korzyściami w postaci niższych kosztów pamięci masowej, wysokiej dostępności danych, łatwej konsolidacji bazy danych i ochrony dostępu do danych „”.

Prawdziwa praktyka: Obiektywny, wydajny i efektywny projekt logicznej bazy danych jest dostępny tylko dla zespołu wykwalifikowanych programistów. Uzyskanie wyniku pracy nie jest trudne, trudno jest sformalizować napływające przepływy informacji i określić optymalne podstawy.

Do świata gładkich kształtów z precyzyjnych prostokątów

Wraz z pojawieniem się programowania obiektowego serializacja danych nabrała nowego życia. Rzeczywiście, wszystko dookoła to tylko linie, najlepiej o nieokreślonej długości. Liczby i daty są również ciągami znaków.

Siła i obiektywność relacji relacyjnych jest niezaprzeczalna, ale czy dynamika kolumn i wierszy szkodzi ich reputacji? Tabela to po prostu dane, które mogą mieć nagłówek (listę kolumn) lub nie zawierać wierszy. Niech tabela będzie tylko zbiorem danych, niekoniecznie nazwanych.

Zbiór danych może być niejednorodny i można w nim znaleźć dane o różnej strukturze. Zasadniczo jednorodność danych wskazuje na rozwój zakresu. Rozkład danych według typów i gatunków jest oznaką systematycznego i obiektywnego podejścia, ale nadal wskazane jest dopuszczenie możliwości dynamiki struktury.

Jeśli wyjściezaprojektowanie i utworzenie bazy danych poza sztywnymi strukturami i założenie, że tabela jest zbiorem wierszy, które niekoniecznie są tego samego typu i podobne pod względem semantyki, wtedy projekt bazy danych zmieni się radykalnie.

Przedmiotem pracy nie będzie opis struktury bazy danych, ale dynamika przepływu informacji. Etapy pracy zostaną podzielone na trzy środki ciężkości:

  • przepływ informacji wejściowych;
  • transformacja i przemieszczanie informacji w bazie danych;
  • wybierz dane do użycia.

Nie ma koncepcji struktury tabeli. Nie ma wierszy ani kolumn. Istnieje abstrakcja - dane, pewnej struktury, która spełnia określony punkt w algorytmie. Dokładniej, funkcja przetwarzania informacji wymaga pewnych informacji w określonej ilości.

Obowiązkowy wymóg rekursywności wszystkich funkcji przetwarzania informacji i skupienia się na funkcjach, a nie danych, pozwala zaprojektować bazę danych w dynamice gromadzonych informacji i przychodzących przepływów danych, które są wykorzystywane z inicjatywy użytkownika, proces lub inna funkcja.

W rzeczywistości: nadszedł sygnał użycia, otrzymano żądanie pobrania, uruchomiono wyzwalacz w aplikacji, a przychodzące informacje, przez to, co już tam było, zapewniły pożądane rozwiązanie.

Podstawowa wiedza i sztywne konstrukcje

Wiedza jest przywilejem człowieka, programy są ciężarem komputerów. Deweloper może dowolnie zastosować wiedzę, jaką uzna za stosowną w konkretnej sytuacji. Zwykły człowiek korzysta z wielu baz danych, nie przywiązując do nich wagi. Jakbazy danych są zorganizowane w głowie zwykłego człowieka, nikt nie wie, ale każdy wie, jak prowadzi swoją działalność, gdzie zapisuje to, co znajduje i kiedy musi z tego skorzystać.

Efekt pracy programisty - na poziomie programu w "Basic", który pobiera dane ze strony sklepu internetowego za pośrednictwem ODBC, jest odpowiednikiem utytułowanego programisty Oracle, który składa żądanie pobrania danych z Salonu Lotnictwa i Kosmosu MAKS. Oba wyniki „zastygają” w statyce od momentu zakończenia pracy. To nie jest aktywna wiedza, z której korzysta dana osoba, to jest sekret tworzenia systemu projektowania baz danych.

Algorytm nie może zostać naprawiony. Wszystko musi być definiowane dynamicznie. Zasługi wykwalifikowanych programistów są niezaprzeczalne, ale wcale nie leżą w eleganckich formach rozwiązań Oracle, MySQL czy ograniczonych w swoich możliwościach Access. Kolejny arkusz Excela może dostarczać dynamiczną zawartość i nie wymagać udziału programisty przez mniej lub bardziej przyzwoity czas po zakończeniu pracy.

Pytanie brzmi, jak dobrze sformalizowana jest dynamika obszaru aplikacji, a nie struktura bazy danych.

Rozwiązania na żywo

Nie można zaplanować pracy w taki sposób, aby powiązać zespół profesjonalnych programistów z zadaniem. Nie żeby zespół był urażony, ale to nie jest właściwe podejście.

Rozwiązania na żywo
Rozwiązania na żywo

Zadanie projektowania bazy danych powinno być sformułowane w taki sposób, aby rozwijana funkcjonalność sama się doskonaliła, gromadziła wiedzę i realizując swoje „obowiązki” zaczynała nie od kodu,stworzony przez ekspertów, ale z wiedzy zdobytej dzięki temu kodowi.

Zalecana: