Tabele
Definicja tabeli służy do opisywania metadanych wymaganych przez aplikację do obsługi i uzyskiwania dostępu do tabeli bazy danych lub wyświetlania ich.
-
Opis tabeli w aplikacji.
-
Lista pól zdefiniowanych w tabeli i wszystkie ograniczenia klucza obcego ustalone w odniesieniu do innych tabel.
-
Klucz główny tabeli i sposób jego generowania.
-
Informacje o tym, czy w tabeli przechowywane są dane administracyjne, główne, czy też transakcyjne.
-
Informacje o tym, czy tabela jest publikowana z wierszami danych systemowych z produktu podstawowego.
-
Rola tabeli w procesie przekształcania.
-
Sposób uaktualniania zawartości tabeli.
-
i wiele więcej
W poniższych sekcjach omówiono koncepcje i wytyczne związane z definiowaniem tabel.
Tabele systemowe
Tabele publikowane z wierszami z produktu podstawowego są określane terminem tabel systemowych. Tabele te mają pole Właściciel (OWNER_FLG), w którym jest informacja o właścicielu każdego wiersza.
Więcej informacji o konwencjach nazewniczych i standardach własności rekordów wiersza zawiera sekcja Dane systemowe.
Za pomocą ustawienia Aktualizacja z rekordu definicji tabeli można określać zmiany w wierszach tabeli po zaktualizowaniu systemu do nowego wydania. Najbardziej powszechne ustawienie umożliwia scalanie wierszy klienta z wierszami z produktu podstawowego. Inne ustawienia mogą zachowywać zawartość tabeli taką, jaka jest, tj. wiersze nie są aktualizowane w trakcie uaktualnienia, lub całkowicie odświeżać zawartość tabeli, wykorzystując wiersze z produktu podstawowego.
Niektóre pola w pewnych tabelach systemowych są oznaczone jako umożliwiające dostosowywanie. Oznacza to, że w ramach wdrożenia można zmieniać te konkretne pola rekordu należącego do produktu podstawowego. Zmiany wartości jednego z tych typów pól są zachowywane, gdy wykonywane jest uaktualnienie produktu do nowszej wersji.
Wyznaczone role tabeli
-
Tabele kluczy
-
Tabela kluczy służy do przechowywania kopii tylko klucza głównego tabeli. Dotyczy to tylko tabel z kluczami generowanymi przez system.
-
Tabele z kluczami generowanymi przez system odwołują się do tabeli kluczy określonej w swoim rekordzie definicji tabeli.
-
Rekordy z tabeli kluczy pozostają w systemie, nawet gdy powiązany obiekt zostanie zarchiwizowany. Zapobiega to przydzieleniu tego samego klucza do nowego rekordu. Zachowanie klucza umożliwia systemowi zapewnienie integralności wszystkich odwołań, które mogą istnieć w zarchiwizowanym obiekcie.
-
-
Tabele języków
-
Aby umożliwić obsługę wdrożeń wielojęzycznych, wszystkie etykiety i opisy wyświetlane w interfejsie użytkownika są przechowywane w wyznaczonej tabeli języków. W tabeli utworzone są wiersze dla każdego włączonego języka.
-
Produkt jest wydawany z zawartością w języku angielskim dostępną w różnych tabelach języków. W tych tabelach dodawany jest dodatkowy wiersz dla każdego włączonego języka wraz z zawartością przetłumaczoną na ten język. Więcej informacji zawiera sekcja Obsługa różnych języków.
-
Tabele powiązane z polami zależnymi od języka odwołują się do odpowiedniej tabeli języków w swoim rekordzie definicji tabeli.
-
-
Tabele charakterystyk
-
Wiele obiektów systemowych obsługuje co najmniej jedną tabelę charakterystyk. Służą one do pobierania dodatkowych pól obiektów, które nie są jeszcze obsługiwane w podanych atrybutach obiektu.
-
Tabela charakterystyk jest przeznaczona do pobierania charakterystyk dotyczących tylko konkretnego obiektu. Odwołanie do obiektu powiązanego z tabelą charakterystyk jest w rekordzie definicji tabeli.
-
Więcej informacji zawiera sekcja Konfiguracja typów charakterystyki i ich wartości.
-
-
Tabele dziennika obiektu
-
Wiele obiektów systemowych obsługuje pobieranie cyklu życia i innych ważnych zdarzeń biznesowych z wyznaczonej tabeli dziennika.
-
W tabeli dziennika przechowywane są szczegóły zdarzenia w postaci komunikatów aplikacji. Dodatkowo wszystkie parametry komunikatu są zapisywane w podrzędnej tabeli parametrów dziennika. Wszystkie tabele dziennika i parametrów dziennika mają predefiniowaną strukturę, co umożliwia ich spójne i sprawne wdrażanie.
-
Zazwyczaj tabele dziennika nie są uwzględniane w procesie przekształcania.
-
Ograniczenia tabeli
Relacje klucza obcego między tabelami są wymuszane na poziomie aplikacji, a nie poziomie bazy danych. Zapewnia to większą elastyczność manipulacji danych i integralność odniesień.
-
Klucz główny przedstawia pole lub zbiór pól reprezentujących unikatowy identyfikator rekordu zapisanego w tabeli.
-
Klucz logiczny reprezentuje alternatywny unikatowy identyfikator rekordu oparty na innym zbiorze pól niż klucz główny.
-
Klucz obcy reprezentuje pole lub zbiór pól, które określają identyfikujące i nieidentyfikujące relacje z innymi tabelami w aplikacji. Ograniczenie klucza obcego zawiera odwołanie do ograniczenia klucza głównego innej tabeli.
-
Warunkowy klucz obcy reprezentuje rzadkie relacje między tabelami, gdy pojedyncze pole (lub zbiór pól) zawiera odwołanie klucza obcego do wielu ograniczeń klucza głównego innych tabel w aplikacji.
System wykorzystuje informacje o ograniczeniach klucza obcego tabeli do przeprowadzania walidacji integralności powiązań, gdy wiersze z tej tabeli są kasowane. Walidacje można wyłączyć poprzez usunięcie zaznaczenia pola Włącz funkcję integralności powiązań w rekordzie definicji tabeli.
Indeksy tabeli
Indeksy dostarczane przez produkt bazowy dla danej tabeli są widoczne w metadanych indeksu. Ponadto informacje o indeksie tabeli można zdefiniować jako część obsługi usług w chmurze w celu generowania tabel niestandardowych w niektórych przypadkach użycia. Więcej informacji można znaleźć w poniższej sekcji "Generowanie tabel niestandardowych".
Typ klucza głównego
Klucz główny tabeli może mieć jeden z następujących typów:
-
Wartość Zdefiniowane przez użytkownika oznacza, że to użytkownik określa klucz podczas dodawania rekordu. Ten typ klucza jest zwykle używany na potrzeby tabel konfiguracyjnych i administracyjnych.
-
Generowane przez system oznacza, że w programie generowany jest losowo klucz liczbowy dotyczący dodawanego rekordu.
-
Ten typ tabeli jest zwykle powiązany z tabelą kluczy. Więcej informacji zawiera sekcja Wyznaczone role tabeli.
-
Klucze generowane przez system mogą być całkowicie losowe lub częściowo dziedziczone z klucza tabeli nadrzędnej ze względu na wydajność. Więcej informacji zawiera sekcja Klucze generowane przez system.
-
-
Wartość Kolejne oznacza, że do każdego dodanego do tabeli rekordu przypisywana jest liczba porządkowa. Wartość klucza zależy od następnej liczby w sekwencji.
-
Rodzimy klucz sekwencyjny bazy danych oznacza, że unikatowy numer jest przydzielany za pomocą obiektu sekwencyjnego bazy danych.
-
Inne oznacza, że inna reguła biznesowa przydziela klucz główny tabeli lub klucz główny składa się z wielu części.
Klucze generowane przez system
Losowo generowane liczbowe klucze systemowe służą do próby równomiernego rozdysponowania rekordów w całym zakresie dostępnych identyfikatorów. Programy zadań korzystające z wielu wątków zwykle dzielą wątki z wykorzystaniem zakresów identyfikatorów, a równomiernie rozdysponowane klucze pomagają w rozkładzie pracy w tych wątkach.
Jeśli tabela wykorzystująca klucz generowany przez system jest tabelą podrzędną innej tabeli, klucz tabeli podrzędnej może dziedziczyć część losowej liczby klucza tabeli nadrzędnej. Dziedziczenie kluczy przez rekordy podrzędne daje dalszy wzrost wydajności. W przypadku partycjonowania zaleca się, by administrator bazy danych wybrał zakres danych partycjonowania na podstawie klucza głównego, by różne wątki działały w różnych partycjach, co zmniejsza rywalizację o najbardziej obciążone bloki. W idealnej sytuacji liczba wątków zadań będzie dokładną wielokrotnością liczby partycji. Programy zadań, które wstawiają dane podrzędne (na przykład zadanie tworzenia faktur) również odnoszą korzyści z takiego rozwiązania, zwłaszcza jeśli tabele podrzędne są partycjonowane w ten sam sposób. Element nadrzędny często steruje całym procesem zadania. Jeśli jest wielowątkowy, w każdym wątku przetwarzany jest zbiór nadrzędnych rekordów o danym zakresie identyfikatorów, a wszystkie rekordy podrzędne są wstawiane do tego samego zakresu identyfikatorów.
Chociaż większość obiektów z kluczami generowanymi przez system wykorzystuje całkowicie losowe klucze lub częściowo dziedziczone klucze z jednego elementu nadrzędnego, obiekty mogą wdrażać bardziej konkretne reguły generowania kluczy.
-
Liczba najbardziej istotnych cyfr z klucza głównego rekordu nadrzędnego, które zostaną użyte jako prefiks wartości klucza rekordu podrzędnego.
-
Nazwa pola klucza nadrzędnego, z którego klucz ma być dziedziczony. Informacje te są udostępniane wyłącznie do wyświetlania i w celach dokumentacyjnych. Są one dostępne wyłącznie, gdy reguła dziedziczenia wdrażana przez obiekt może być używana do dokumentowania. Zwykle wartość klucza podrzędnego jest dziedziczona z jednego klucza nadrzędnego, ale w niektórych przypadkach reguła dziedziczenia może być bardziej złożona. Na przykład różne typy rekordów w tej samej tabeli podrzędnej mogą dziedziczyć swoje klucze z różnych pól klucza nadrzędnego. W takim przypadku wyświetlanych może być wiele nazw pól nadrzędnych w celu opisania różnych opcji dziedziczenia. Jeśli reguła jest zbyt złożona, te informacje mogą nie być dostępne w rekordzie definicji tabeli.
Opcje przekształcania
Proces konwersji umożliwia zarządzanie procesem, który wykonuje walidację dotychczasowych danych głównych i danych transakcyjnych załadowanych do schematu ładowania i przydziela nowe klucze generowane przez system przed skopiowaniem ich do schematu produkcyjnego. Więcej informacji zawiera sekcja Zasada działania procesu konwersji.
-
Tabele administracyjne. Tego rodzaju tabele istnieją tylko w schemacie produkcyjnym. W schemacie ładowania dostępny jest widok tabeli produkcyjnej zamiast tabeli. Widoki te są niezbędne do wymuszania tworzenia odwołań do klucza obcego podczas walidacji danych w schemacie ładowania
-
Tabele możliwe do przekształcania, które zachowują swoje klucze główne. Tego rodzaju tabele obsługują przekształcanie danych, a ich wartości klucza głównego pozostają bez zmian.
-
Tabele możliwe do przekształcania wymagają przydzielenia nowego klucza generowanego przez system. Tego rodzaju tabele obsługują przekształcanie danych, a ich klucz główny jest ponownie przydzielany przez system w trakcie przekształcania.
-
Tabele bez możliwości przekształcania. Przydzielanie do rekordu nowych kluczy generowanych przez system i zastępowanie jego wszystkich odwołań do klucza obcego nowym kluczem jest skomplikowanym procesem, który może być obsługiwany tylko przez wybrane tabele.
Ustawienie Rola konwersji danych w rekordzie definicji tabeli umożliwia określanie sposobu użycia tabeli przez przetwarzanie konwersji.
Konfiguracja daty/godziny
Pola przeznaczone do pobierania daty/godziny mogą przechowywać datę w formacie lokalnego czasu oficjalnego lub lokalnego czasu standardowego. Lokalny czas oficjalny jest pobierany w postaci, w jakiej został wprowadzony, i wyświetlany w bazie danych w postaci, w jakiej został pobrany. Zakłada się, że wszystkie wartości daty/godziny odwołują się do strefy czasowej zgodnie z definicją w opcjach instalacji. Więcej informacji zawiera sekcja Różnice między czasem standardowym a oficjalnym.
Generowanie tabel niestandardowych
W przypadku klientów korzystających z chmury i w niektórych przypadkach użycia produkt obsługuje definiowanie metadanych tabeli dla tabel niestandardowych oraz generowanie powiązanych instrukcji DDL dla tych metadanych w bazie danych. W przypadku tych tabel niestandardowych w metadanych tabeli widoczny jest status generowania określający miejsce tabeli w cyklu życia danej obsługiwanej cechy. Ponadto karta indeksu w portalu tabel służy do definiowania indeksów niestandardowych, które są zawarte w instrukcji DDL w ramach tej cechy. Klienci korzystający z chmury mogą uzyskać więcej informacji, zapoznając się z podręcznikiem Cloud Services Implementation Guide.