Wzorzec bazy danych



Internet jest niewyczerpanym źródłem wiedzy, także jeśli chodzi o Wzorzec bazy danych. Wieki i stulecia ludzkiej wiedzy o Wzorzec bazy danych zostały przelane, i nadal są przelewane, do sieci, i właśnie dlatego dostęp do niej jest tak trudny, ponieważ możemy znaleźć miejsca, w których nawigacja może być trudna lub wręcz niewykonalna. Proponujemy, abyś nie rozbił się w morzu danych dotyczących Wzorzec bazy danych i abyś mógł szybko i sprawnie dotrzeć do wszystkich portów mądrości.

Mając na uwadze ten cel, zrobiliśmy coś, co wykracza poza to, co oczywiste - zebraliśmy najbardziej aktualne i najlepiej wyjaśnione informacje na temat Wzorzec bazy danych. Ułożyliśmy je również w sposób ułatwiający czytanie, z minimalistycznym i przyjemnym wyglądem, zapewniając najlepsze wrażenia użytkownika i najkrótszy czas ładowania. Ułatwiamy Ci to, abyś musiał się martwić tylko o to, by dowiedzieć się wszystkiego o Wzorzec bazy danych! Jeśli więc uważasz, że osiągnęliśmy nasz cel i wiesz już wszystko, co chciałeś wiedzieć o Wzorzec bazy danych, z przyjemnością przyjmiemy Cię z powrotem na te spokojne morza sapientiapl.com, gdy tylko Twój głód wiedzy zostanie ponownie rozbudzony.

Wzorce relacyjnych baz danych to wzorce uywane podczas projektowania relacyjnych baz danych .

Podstawowe typy tabel

Tabela referencyjna
Tabela referencyjna to tabela, która pozostaje wzgldnie staa w czasie i ma stosunkowo niewiele kolumn. Czsto mona znale tabele referencyjne klucz-warto zawierajce tylko dwie kolumny. acuchy powinny by uywane jako klucze, aby unikn zcze .
Stolik mistrzowski
Tabela gówna to tabela przechowujca waciwoci obiektu (osoba, adres itp.) W oddzielnych kolumnach. Mae tabele gówne powinny mie unikalny cig znaków ; W przypadku duych tabel gównych i tabel gównych, których zawarto czsto si zmienia, jako klucz naley utworzy liczb cakowit .
Tabela transakcji
Tabela transakcji to tabela przechowujca interakcje lub zdarzenia midzy tabelami gównymi. Na przykad lista pozycji, które klient umieci w koszyku. Jako klucza naley uywa automatycznie generowanych liczb cakowitych.
Tabela porównawcza
Tabela odsyaczy to tabela, w której przechowywane s relacje midzy tabelami gównymi. W tabelach z odsyaczami relacje wiele do wielu s wywietlane w kilku wierszach. Jako klucz naley wybra kombinacj kilku kolumn.

Rozszerzone typy tabel

Ograniczona transakcja
Ograniczona transakcja to ograniczenie w tabeli okrelajce, które transakcje s dozwolone i kiedy. Ten wzorzec moe suy do ograniczenia odpowiednich kontroli po stronie aplikacji i zwikszenia bezpieczestwa bazy danych przed nieprawidowo zaimplementowanymi aplikacjami.
Efemeryczny klucz podstawowy
s uywane, gdy waciwo obiektu oferuje si jako klucz podstawowy (np. numer klienta ), ale moe si to zmieni. W takim przypadku odpowiednia waciwo moe suy jako klucz podstawowy, ale zmiany musz by rejestrowane w tabeli historii , aby zagwarantowa póniejsze przypisanie.

Wzorzec klucza obcego

Ograniczenie klucza obcego
wskazuje, e usunicie wpisu (wiersza) z tabeli nie powoduje usunicia wpisów powizanych z wpisem (w innej tabeli). Dlatego ograniczenie klucza obcego jest przeciwiestwem kaskady kluczy obcych .
W SQL polecenie wyzwala limit kluczy obcych . To zachowanie jest zachowaniem domylnym dla wikszoci implementacji baz danych, gdy podano tylko polecenie .DELETE RESTRICTDELETE
Kaskada kluczy obcych
Klucz obcy kaskada jest przeciwiestwem limitu klucza obcego . Usunicie wpisu powoduje równie usunicie powizanych z nim wpisów.
W jzyku SQL za pomoc polecenia wyzwalane jest ograniczenie klucza obcego .DELETE CASCADE
Walidacja odniesie
Sprawdzanie poprawnoci odsyaczy jest stosowane, gdy kolumny w tabeli gównej musz mie ze sob okrelon relacj . Relacja ta jest przechowywana w oddzielnej tabeli odniesie. Oddzielna tabela odniesie zwiksza zuycie zasobów bazy danych, ale niezbdna jest moliwo sprawdzenia poprawnoci danych.

Wzorzec bezpieczestwa

Tabela przegldowa tylko do odczytu
Tylko do odczytu przegldania tablicy to tablica, która definiuje przyporzdkowanie midzy dwiema tabelami zawarto, która moe by przeszukiwana w ogóle, ale mog by zmieniane przez niektórych ról lub grup. Jednym z przykadów jest powizanie niektórych produktów z rabatem .

Wzorzec denormalizacji

Wzorce denormalizacji umoliwiaj zdenormalizowanie bazy danych w celu poprawy zachowania rodowiska wykonawczego.

Ujmujcy
Podczas pobierania dane s kopiowane z jednej tabeli do innej (tymczasowej) tabeli (np. Tabeli transakcji ). Upewnij si, e zmiana w tabeli ródowej nie jest automatycznie przenoszona do tabeli docelowej.
Przewidywana agregacja
Przy przewidywanej agregacji wartoci z rónych róde s obliczane z wyprzedzeniem w trakcie (dugotrwaego) przetwarzania wsadowego i tymczasowo zapisywane w innej tabeli. Wartoci nie s przeliczane dla kadego zapytania, ale tylko w trakcie kolejnego przetwarzania wsadowego. Zalet jest to, e dostp jest znacznie szybszy, a zasoby bazy danych s oszczdzone. Wad jest to, e ostatnio wprowadzone zmiany nie s uwzgldniane w obliczeniach.
rozbudowa
Tabela jest rozszerzana, gdy kolumna w tabeli jest tworzona z innych kolumn w wyniku obliczenia. Oznacza to, e obliczenia nie musz by wykonywane ponownie dla kadego zapytania, ale tylko w przypadku zmiany wpisu.

Wzorce zachowa obiektowo-relacyjnych

Tabela wedug hierarchii dziedziczenia
(English: Single Table Inheritance ) uywa jednej tabeli dla kadej klasy do odwzorowania drzewa klas w bazie danych.
Tabela na podklas
(English: Class Table Inheritance ) uywa oddzielnej tabeli dla kadej konkretnej lub abstrakcyjnej klasy do mapowania drzewa klas w bazie danych.
Tabela wedug klasy betonu
(English: Concrete Table Inheritance ) uywa oddzielnej tabeli dla kadej konkretnej klasy do mapowania drzewa klas w bazie danych.

zobacz take: relacyjnej bazy danych Wzorzec , projekt Wzór

Wzór dystrybucji

Wzorce dystrybucji zasadniczo rozróni bez dystrybucji , replikacji i fragmentacji ( fragmentowanie )

  • Replikacja pobiera te same czci danych i kopiuje je na wiele serwerów, aby zapewni wiksz niezawodno.
  • Fragmentacja powoduje dystrybucj rónych czci danych i dystrybucj ich na kilka serwerów, aby zagwarantowa lepsz dystrybucj obcienia.

Replikacj mona poczy z fragmentacj. Ponadto w przypadku replikacji rozrónia si replikacj typu master / slave i replikacj typu peer-to-peer .

Pojedynczy serwer

Najprostszym wzorcem dystrybucji jest brak dystrybucji. Baza danych dziaa w caoci na jednym serwerze, który obsuguje cay dostp do odczytu i zapisu. Zalet tego wzorca jest to, e serwer jest atwy w utrzymaniu. Aktualizacje, kopie zapasowe danych, naprawy, uaktualnienia itp. Mog by obsugiwane centralnie za pomoc tego wzorca.

Ponadto programici nie musz implementowa zoonej logiki, aby radzi sobie z problemami ze spójnoci , dostpnoci lub partycjonowaniem ( patrz take: twierdzenie CAP ).

Ten wariant jest równie szczególnie odpowiedni dla grafowych baz danych , poniewa unika si opónie zwizanych z dostpem do danych przez sie.

Podzia

Rozdrobnienie ( fragmentowanie ), róne bazy danych lub czci danych, które s niezalene od siebie, s rozmieszczone na rónych serwerów z odamków .

Powoduje to lepszy rozkad obcienia. Ponadto w przypadku awarii serwera nie wszystkie aplikacje ulegn awarii, tylko te, które musz uzyska dostp lub zapisa odpowiednie dane.

Poniewa dostp do odczytu i zapisu dla okrelonych danych jest przetwarzany tylko przez odpowiedni fragment, nie ma niespójnoci danych.

Federacja

Federacja to szczególny przypadek fragmentacji, w którym centralny serwer, zwany katalogiem gównym federacji , automatycznie okrela dystrybucj poszczególnych fragmentów.

Replikacja master / slave

W przypadku replikacji typu master / slave centralny serwer, master , przejmuje cay dostp do zapisu w bazie danych. Zmiany s nastpnie przesyane do innych serwerów, slaveów . Jeli serwer gówny ulegnie awarii, rol mastera moe przej slave.

Poniewa wprowadzenie zmian przez serwery podrzdne zajmuje troch czasu, przez krótki czas mog wystpi niespójnoci danych.

Wszystkie serwery umoliwiaj dostp do odczytu, co skutkuje rozkadem obcienia dla dostpu do odczytu. Jednak poniewa dostp do zapisu jest przetwarzany centralnie, wzorzec stanowi wskie gardo.

Replikacja peer-to-peer

W przypadku replikacji typu kady z kadym wszystkie serwery s poczone za porednictwem sieci kady z kadym . Kady serwer obsuguje zarówno dostp do zapisu, jak i do odczytu. Dostp do zapisu jest zsynchronizowany ze wszystkimi serwerami.

Poniewa jednak synchronizacja dostpu do zapisu zajmuje troch czasu, model ten moe prowadzi do niespójnoci danych. Efekt ten jest szczególnie widoczny, gdy zawodzi poczenie sieciowe midzy dwoma lokalizacjami.

Zalet tej konfiguracji jest to, e jest szczególnie odporna na awarie. Utrata poszczególnych rówieników nie powoduje utraty danych. Ponadto model ten mona atwo skalowa w poziomie, poniewa w przypadku wskich garde mona po prostu doda dodatkowe (niedrogie) komputery.

Replikacja typu peer-to-peer jest szczególnie zoona pod wzgldem tworzenia i konserwacji oprogramowania (aktualizacje, kopie zapasowe itp.) I dlatego wymaga dobrego planowania ze strony operatora.

Fragmentacja z replikacj typu master-slave

Mona równie czy fragmentacj i replikacj typu master-slave. Master jest okrelany dla kadego typu danych i replikowany na kilku innych serwerach, które su jako slave dla mastera. Serwer moe jednoczenie peni rol mastera dla jednego typu danych i slave'a dla innych typów danych.

Fragmentacja z replikacj peer-to-peer

Ostatni opcj jest fragmentacja sieci peer-to-peer. Kilka serwerów jest zgrupowanych razem w sieci peer-to-peer, aby obsugiwa okrelony typ danych. Kady serwer moe by czci kilku sieci peer-to-peer, a tym samym obsugiwa róne typy danych.

Wicej wzorów

Wzór rozdzielczoci
Wzorzec rozdzielczoci jest uywany, gdy warto pochodzi z rónych róde lub moe by obliczona i naley zdecydowa, które ródo ma zosta wybrane lub który model obliczeniowy ma zosta uyty.
Tabela historii
Tabela historii to tabela, która rejestruje zmiany. Dziki tej tabeli mona przeledzi zmiany i przywróci pierwotny stan monitorowanej tabeli. Przykadem tabeli historii jest historia wersji Wikipedii , w której zmiany s zapisywane w postaci elementów Diff .
zobacz take: zarzdzanie wersjami
Sekwencjonowanie zalenoci
W przypadku sekwencjonowania zalenoci seria polece musi zosta przetworzona w sekwencji. Poniewa niektóre instrukcje mog by zalene od wyniku innych instrukcji, naley je uporzdkowa we waciwej kolejnoci za pomoc analizy grafów skierowanych : ( wykres analityczny skierowany w jzyku angielskim jest obliczany i wywietlany w osobnej tabeli).
Bezpieczne resetowanie hasa
Baza danych musi umoliwi haso aby by bezpiecznie zresetowane , gdy uytkownik zapomnia hasa. Haso nie moe by przechowywane w bazie danych w postaci zwykego tekstu ani moliwe do odzyskania, ani te haso uytkownika nie moe by przesyane niezabezpieczonym kanaem (np. W wiadomoci e-mail lub stronie internetowej, która nie jest szyfrowana za pomoc SSL ).

Anty-wzór

Odwró klucz obcy

Odwrotny klucz obcy ( angielski odwrotny klucz obcy ) jest tworzony, gdy okrelony wpis w tabeli ma uniemoliwi okrelony wpis w innej tabeli. Na pierwszy rzut oka, odwrotnej klucz obcy czsto wyglda jak klucz podstawowy .

literatura

  • Scott J. Ambler, Pramodkumar J. Sadalage: Refactoring Databases: Evolutionary Database Design . Prentice Hall , Addison-Wesley , 2011, ISBN 978-0-321-77451-4 , s. 384 (angielski).
  • Scott J. Ambler: Agile Database Techniques . John Wiley & Sons , 2003, ISBN 978-0-471-20283-7 , s. 480 (angielski).
  • Len Silverston: Ksika zasobów modelu danych: Tom 1: Biblioteka uniwersalnych modeli danych dla wszystkich przedsibiorstw . John Wiley & Sons, 2001, ISBN 978-0-471-38023-8 , s. 560 (angielski).
  • Len Silverston: The Data Model Resource Book: Volume 2: A Library of Universal Data Models by Industry Types . John Wiley & Sons, 2001, ISBN 978-0-471-35348-5 , s. 576 (angielski).
  • Len Silverston, Paul Agnew: The Data Model Resource Book: Volume 3: Universal Patterns for Data Modeling . John Wiley & Sons, 2009, ISBN 978-0-470-17845-4 , s. 648 (angielski).

linki internetowe

Indywidualne dowody

  1. a b c d Umiejtnoci zwizane z bazami danych: rozsdne podejcie do wybierania kluczy podstawowych. W: Programator baz danych. 14 stycznia 2008, obejrzano 6 marca 2013 .
  2. Wzorzec projektowania tabeli: ograniczona transakcja. W: Programator baz danych. 27 lutego 2008, obejrzano 6 marca 2013 .
  3. ^ Podstawowy klucz, którego nie byo. W: Programator baz danych. 24 lutego 2008, obejrzano 6 marca 2013 .
  4. a b Róne klucze obce dla rónych tabel. W: Programator baz danych. 27 lipca 2008, obejrzano 6 marca 2013 .
  5. Wzorce projektowania tabel: Walidacja odsyaczy. W: Programator baz danych. 20 stycznia 2008, obejrzano 6 marca 2013 .
  6. ^ Wprowadzenie bezpieczestwa baz danych. W: Programator baz danych. 11 maja 2008, obejrzano 7 marca 2013 .
  7. ^ A b c Martin Fowler: Wzorce architektury aplikacji korporacyjnych . Addison-Wesley-Longman, Amsterdam 2002, ISBN 0-321-12742-0 .
  8. a b c d e f Pramodkumar J. Sadalage, Martin Fowler : NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence . Addison-Wesley, Amsterdam 2012, ISBN 978-0-321-82662-6 (angielski).
  9. Zaawansowany projekt tabeli: rozdzielczoci. W: Programator baz danych. 20 kwietnia 2008, obejrzano 7 marca 2013 .
  10. ^ Tabele historii. W: Programator baz danych. 20 lipca 2008, obejrzano 7 marca 2013 .
  11. Advanced Algorithm: Sequencing Dependencies. W: Programator baz danych. 25 sierpnia 2008, obejrzano 7 marca 2013 .
  12. Zaawansowany projekt tabeli: bezpieczne resetowanie hase. W: Programator baz danych. 7 listopada 2008, obejrzano 7 marca 2013 .
  13. Faszywe wzorce, takie jak odwrotny klucz obcy. W: Programator baz danych. 3 lutego 2008, obejrzano 7 marca 2013 .

Opiniones de nuestros usuarios

Filip Kalinowski

To dobry artykuł dotyczący Wzorzec bazy danych. Podaje niezbędne informacje, bez ekscesów.

Greg Szewczyk

Podoba mi się ta strona, a artykuł o Wzorzec bazy danych jest tym, którego szukałem.

Gregory Zawada

Artykuł o Wzorzec bazy danych jest kompletny i dobrze wyjaśniony. Nie dodawałbym ani nie usuwał przecinka.

Ewa Owczarek

Zgadza się. Zawiera niezbędne informacje o Wzorzec bazy danych.