Koncepcja danych: definicja, przykłady

Spisu treści:

Koncepcja danych: definicja, przykłady
Koncepcja danych: definicja, przykłady
Anonim

Dane są zwykle kojarzone z programowaniem i we współczesnym świecie informacji są prezentowane w trzech logicznie równoważnych wersjach: dane opisane i używane w programie w języku programowania; dane w systemach baz danych; dane w rozproszonych systemach informatycznych. Współczesne programowanie dało względną swobodę tylko pierwszemu wariantowi formalizacji informacji. Dwie drugie opcje to mniej lub bardziej niezawodne formy przekazywania informacji i relacji między jej elementami.

Dane przeszłe i obecne

Podstawową pozycją języków programowania jest dokładny opis danych i algorytmów. Komputery nie „przedstawiają” żadnej szansy na niepewność: jest coś, na czym można działać, i jest polecenie, które wykonuje tę akcję.

Nowoczesna koncepcja opiera się na znacznie wyższym fundamencie: jest dane, a to, czym dokładnie będzie, jest określane w miejscu jego użycia. W każdym razie w momencie użycia dane są automatycznie sprawdzane i konwertowane na właściwy typ. Współczesny programista nie ma obowiązku dbać o ich wstępny opis i przestrzeganie zgodności typów w algorytmie.

Przeszłe i obecne dane
Przeszłe i obecne dane

Proces przejścia:

  • z wpisanych danych i ich obowiązkowego opisu przed użyciem;
  • do niewpisanych danych i uwolnienia się od obowiązku ich opisywania i wykorzystywania.

W rzeczywistości możemy rozpoznać względne rozluźnienie wymagań formalizacyjnych - jest to dostępne tylko w środowisku nowoczesnych narzędzi programistycznych. W czasie wykonywania typ każdego punktu odniesienia jest stały, a sekwencja poleceń jest dobrze zdefiniowana.

Typy i modelowanie

Matematyka i fizyka, handel i produkcja, ekonomia i inne dziedziny, w których używa się liczb, zawsze operowały danymi i nie przywiązywały wagi do pojęcia typu. Fakt, że liczby mogą być całe lub ułamkowe, tak naprawdę nie miał znaczenia.

Każda konkretna formuła lub określona akcja może dać liczbę całkowitą, ułamek nieskończony, liczbę rzeczywistą lub zespoloną. Do tej pory istnieją takie cuda umysłu jak nieskończenie małe i nieskończenie duże. Co więcej, te cuda mają nawet właściwości.

Nadal nie ma wolności w programowaniu. Wszystko musi być ściśle sformalizowane. Pojęcie danych to przede wszystkim typ:

  • integer;
  • boolean;
  • znak;
  • ciąg i tak dalej.

Nazwy typów mogą się różnić w różnych językach programowania, ale zawsze występuje liczba całkowita lub rzeczywista, wartość logiczna, symbol,linia. Wciąż pozostały relikty i konkretne pomysły: liczba całkowita bez znaku, kod, bajt, słowo, podwójne słowo, ciąg znaków o stałej długości.

Relikwie i pomysły
Relikwie i pomysły

Koncepcja danych w systemie danych nie ma wolności. Język SQL - "międzynarodowy" (istnieje dialekt dla każdej nowoczesnej bazy danych) - nie toleruje żadnych nieścisłości nie tylko w danych, ale także w zapytaniach sql. Błąd w żądaniu jest gwarancją braku wyniku. Nie ma potrzeby w ogóle mówić o naruszeniach opisów.

Modelowanie procesów informacyjnych i reprezentacji danych to jedyny pewny sposób na zbudowanie struktury, która może ewoluować i dostosowywać się do zmieniających się warunków.

Dynamika oryginału

Naturalna informacja to ciągła zmiana. Podanie formalnego opisu i koncepcji modelu danych w określonym obszarze tematycznym oznacza rozwiązanie trzech problemów:

  • określ jakie dane są tutaj;
  • sformalizuj relacje między nimi;
  • opisać procesy zmiany danych i relacji.

Przykład zbioru danych prostego algorytmu w JavaScript - zmniejszona kopia modelu nawet najbardziej solidnego systemu zarządzania bazą danych.

Po prostu w drugim przypadku eksperci i specjaliści, projektując struktury danych, tabele i relacje, zwykle nie widzą (naprawdę trudno objąć dużą ilość naturalnych informacji) istoty rzeczy, a uzyskuje się niewygodny, nierozwinięty zestaw stosów danych, podczas gdy w obszarze tematycznym informacje źródłowe krążą swobodnie i łatwo.

Statycznymożliwe

Powszechną praktyką JavaScript jest umieszczanie kodu dołączonego do strony i funkcji przypisanych do zdarzeń w tagach strony. Tak czy inaczej, tagi strony definiują dane, które dany zasób sieciowy akceptuje, modyfikuje lub tworzy.

Jeśli skoncentrujesz swój kod obsługi bardzo ostrożnie na zdarzeniach elementów, a nie na kodzie strony jako całości, jest to najlepsze wyjście. Najlepiej, gdy kod nie wprowadza nowych danych lub nie naprawia dostępnych danych, ale skupia się na tym, co dokładnie ma w danym momencie.

W rzeczywistości, jeśli zdefiniujesz pojęcie „dane” jako minimalnie statyczny opis informacji źródłowych i podążasz za nim, oznacza to, że masz szansę na sukces.

W odniesieniu do baz danych sprawy są znacznie bardziej skomplikowane. Każdy kod JavaScript „zapewnia” stronie funkcjonalność. Każda baza danych to zbiór tabel, relacji między nimi, procedur składowanych, zapytań i funkcjonalności dostępnych z zewnątrz.

Statyczny to problem każdego algorytmu. Współczesna koncepcja danych jest statyczna: liczba, ciąg, znak i tak dalej. Podczas przetwarzania lub podczas zapisywania do tabeli bazy danych wszystko przebiega gładko. Ale kiedy oryginał nabiera innego wymiaru lub znaczenia? Opcja pierwsza: zmień znak, ale połączenia i żądania mogą od razu wpaść.

Statyka i obiekty

Zdefiniowanie pojęcia „danych” jako obiektu radykalnie zmienia sytuację. Obiekt posiada własną strukturę. Tutaj możesz użyć dowolnego opisu dowolnych zmiennych. Rola nie będzie grać. Obiekt posiada metody, dzięki którym dane są dostępne. Ponieważ wszystkostosowane w dziedzinie programowania, czyli trzy podstawowe metody: odczyt, zapis, zmiana. Możesz dodać więcej do porównywania, wyszukiwania, klonowania itp.

Obszar tematyczny nakłada szereg właściwości na każde dane. Okazuje się więc, że pojęcie danych przekształca się w rodzaj opisu, który można dynamicznie zmieniać. Statyczne wnętrze obiektu daje dynamikę poza nim.

Zmieniając kombinację statycznych deskryptorów wewnątrz obiektu, nie musisz martwić się o dynamikę jego relacji z innymi obiektami.

Programowanie i prezentacja danych

Co to są dane? Świadomość społeczna jest już przyzwyczajona do technologii informatycznych, pracuje w chmurach i ma kontenery w wirtualnych przestrzeniach. Teraz nie tylko profesjonalni programiści i użytkownicy, ale także zwykli ludzie są kompetentni w sprawach informacji i ich wykorzystania.

Opinia publiczna
Opinia publiczna

Ale czym jest programowanie? Do dziś opinia publiczna podaje następującą definicję tego pojęcia i jego pojęć:

  • Informacje i dane to podstawowe pojęcia używane w informatyce.
  • Dane to określony sposób odbierania i rejestrowania obserwacji w odniesieniu do otaczającej rzeczywistości.
  • Są proste i złożone (struktury), pierwotne i wtórne.
  • Baza danych to zbiór niezależnych materiałów przedstawionych w sposób systematyczny, tak aby można je było znaleźć, zmodyfikować i wykorzystać.

Jak to jest obiektywne? Autorytatywni autorzytak myślę. Prawdziwa praktyka zwykle zapewnia, że każdy obszar tematyczny określa właściwy system danych i daje wszelkie możliwości zbudowania dobrego modelu dynamicznego.

Nierzadko zdarza się, że klient (konsument) narzuca programiście (projektantowi baz danych) własną opinię na temat tego, jak i co robić. Z punktu widzenia programowania każde życzenie klienta może zostać spełnione z najwyższą precyzją.

Potrzebujesz Oracle do rozwiązania problemu budżetowania na utrzymanie zaopatrzenia w wodę na wsi (budynek 21 we wsi) - dobrze. MySQL jest potrzebny do zorganizowania systemu śledzenia przesyłek pocztowych dla wszystkich urzędów pocztowych w Rosji - wszystko też będzie działać.

Zawsze możesz skomponować dowolny algorytm i zapewnić dostęp do dowolnej reprezentacji informacji w ramach definicji pojęcia danych, która została ustanowiona przez twórcę systemu zarządzania bazą danych lub języka programowania. Pytanie jest inne: jak to zrobić przy minimalnych kosztach przy maksymalnej dynamice?

Bazy danych, przykłady

Utworzono prostą bazę bez modelu. Podstawowe pojęcia dotyczące danych i komunikacji są niewielkie, funkcjonalność bardzo prosta. Na przykład dla instytucji szkolnictwa wyższego potrzebujesz:

  • tabela nauczycieli;
  • tabela grupowa (klucz i numer grupy);
  • ogólna tabela uczniów (używane są klawisze grup).

Dziekan chce poznać postępy nauczycieli. Tabela nauczycieli zawiera pola:

  • nazwisko;
  • nazwa;
  • patronimiczny;
  • numer grupy nadzorowanej.

Tabela uczniów zawiera pola:

  • nazwisko;
  • nazwa;
  • patronimiczny;
  • data urodzenia;
  • GPA (dla wszystkich przedmiotów);
  • numer grupy.

Mogą być co najmniej dwie opcje próbkowania: używając nazwiska nauczyciela, możesz przejść do numeru grupy i zobaczyć wszystkich uczniów i ich średnie wyniki lub po nazwisku nauczyciela i nazwisku imię ucznia, możesz zobaczyć średni wynik ostatniego.

Prosta baza danych
Prosta baza danych

Nawet w tak prostej wersji problemy są gwarantowane i trzeba będzie coś zmienić. Sytuacja: nauczyciel zachorował, zastępuje go kolejny miesiąc, czyli nadzoruje dwie grupy. W tabeli nauczyciela jest tylko jedno pole pod jednym numerem grupy.

Aby rozwiązać problem, musisz dodać zduplikowane pole. A jeśli dwóch zachoruje, dodaj trzy pola. Tak więc stół nauczycieli zaczyna rosnąć od zera.

Istnieje inna opcja: zastąp pole numeryczne klawisza grupy polem symbolicznym. Następnie, za każdym razem, gdy wybierzesz, będziesz musiał przekonwertować ciąg na sekwencję klawiszy, a jedno zapytanie sql zamieni się w kilka.

Bardziej obiecującym przykładem nie jest tworzenie stołów, ale tworzenie przedmiotów. Wtedy nauczyciel jest obiektem i może mieć kilka nadzorowanych grup. Ale zawsze jest to jeden przedmiot. Obiekt nauczyciela ma unikalny klucz, ale może mieć wiele nadzorowanych grup. Grupa posiada również unikalny klucz. Uczeń też.

Wszystkie trzy pozycje są dostępne nie tylko w ramach zadania, ale można je dalej rozwijać.

Podstawy obiektowe

Liderzy branży informacyjnejoferują klasyczne relacyjne bazy danych. Są przetestowane przez życie, działają, są bezpieczne, niezawodne i w razie problemów pozwalają przywrócić informacje.

Bazy danych obiektowych (OODB) zaczęły być opracowywane w połowie lat 80. i według autorytatywnych autorów są obiecujące do dnia dzisiejszego. Ale jak dotąd, poza fundamentalnymi teoriami i założeniami koncepcyjnymi, nie ma OODB, które osiągnęłoby taką samą ocenę i dystrybucję jak MySQL, MS SQL Server lub Oracle we wszystkich swoich różnych wcieleniach.

Baza danych OO
Baza danych OO

A co, jeśli definicja, pojęcie danych, typów, atrybutów, klas, hierarchii zostanie zaproponowana przez programistę, którego ocena jest niewystarczająca do stworzenia społeczności programistów wyznających mentalność tego OODB? Będziemy musieli polegać na własnych siłach.

W środowisku Linux stworzono ponad trzydzieści wariantów OODB. Ale gdzie jest gwarancja, że tworzona baza danych nie będzie wymagała większej funkcjonalności? Środowisko Windows nie daje zbyt wielu gwarancji w tym zakresie.

Rozwiązanie obiektowe

Jednak istnieje rozwiązanie. Używając MySQL jako przykładu, możesz pokazać, jak standardowe tabele relacyjne zamieniają się w obiektowy model rozwiązywanego problemu.

Przykład własnego OODB
Przykład własnego OODB

Tu nie ma bazy danych, ale istnieje środowisko do tworzenia własnego systemu obiektów. Moc MySQL jest używana tylko jako pamięć relacyjna dla tabel z wierszy info. Logika użytkowania jest określana przez samego dewelopera. W szczególności istnieje tabela is_cache. Ma wszystkokilka podstawowych pól:

  • kod_właściciela;
  • sesja_kod;
  • h_code;
  • a_surprise;
  • a_contents.

Reszta pól zawiera funkcje serwisowe. Ta tabela służy do wprowadzania wszelkich wniosków i rejestruje ich nadejście. O tym, jak wypracuje model bazy danych, decyduje jego twórca. To, co zmieści się w polu treści (a_contents) jest określane przez obiekty modelu stworzonego przez programistę.

W tym pomyśle są cztery rzeczy: trafienie, sesja trafienia, kod historii trafień i konkretna treść. Czym jest wywołanie, jaki system obiektów należy zbudować - określa deweloper. Co rozumie się przez sesję (proces pracy) określa deweloper. Kod historii to możliwość wycofywania żądań.

Tabele tutaj nie mają nic wspólnego z tematem. Jest kontroler połączeń (is_cache), jest logowanie (is_customs), jest historia połączeń (is_histories). Pozostałe tabele są określane na podstawie rozwiązywanego zadania.

W rzeczywistości to rozwiązanie sugeruje stworzenie własnego OODB w oparciu o zbudowany model bazy danych domeny i rozwiązywany problem. Jest tu ogromny plus – to Twoja własna koncepcja danych, Twój własny model ich prezentacji i relacji między nimi. Tu jest podstawa - świetna relacyjna baza danych. Nie będzie problemów z szukaniem czegoś i niezrozumieniem czegoś.

Model: system obiektowy + DBMS

Zmiana czegokolwiek w technologii informacyjnej jest prawie niemożliwa. Do prawdziwej rewolucji informacyjnej jeszcze daleko. świadomość zawodowatwórcy oprogramowania nie zamierzają zmieniać klasycznych tradycji. Ale wciąż jest wyjście z tej sytuacji.

Idealne rozwiązanie
Idealne rozwiązanie

Używając niezawodnych nowoczesnych systemów zarządzania bazami danych jako podstawy do stworzenia środowiska dla istnienia własnego modelu, możesz osiągnąć zauważalny sukces.

W każdym razie będziesz musiał zbudować widok lub model danych, aby rozwiązać zadanie, ale musisz to zrobić poprawnie: niech to będzie system obiektów, a dobry DBMS będzie jego środowiskiem.

Zalecana: