Odwzorowanie w bazie danych
Słowniki przechowywane są w bazie danych w czterech tabelach:
DIC_ATTRIB– zawiera atrybuty słowników.DIC_ITEM– tabela zawierająca definicje obiektów słownikowych.DIC_LOCALIZATION– zawiera zlokalizowane informacje o obiektach.DIC_REFERENCE– tabela zawierająca definicje widoków.
DIC_ATTRIB
| Kolumna | Właściwości | Opis |
|---|---|---|
DIA_ID | PK, uniqueidentifier, not null | ID nadawany podczas tworzenia atrybutu |
DIA_DICSTR_ID | PK, FK, uniqueidentifier, not null | ID struktury |
DIA_PARENT_ID | FK, uniqueidentifier, not null | ID elementu rodzica |
DIA_TYPE_ID | FK, uniqueidentifier, not null | ID elementu określającego typ |
DIA_DICSTR_TYPE_ID | FK, uniqueidentifier, not null | ID struktury zawierającej elementy, które są typami |
DIA_VAL_AS_STR | nvarchar(max), null | Wartość atrybutu jako ciąg znaków |
DIA_VAL_NUM | numeric(19,4), null | Wartość atrybutu typu decimal |
DIA_VAL_STR | nvarchar(max), null | Wartość atrybutu typu string |
DIA_VAL_DAT | datetime, null | Wartość atrybutu typu DateTime |
DIA_VAL_GUID | uniqueidentifier, null | Wartość atrybutu typu GUID |
DIA_VAL_DICSTR_ID | FK, uniqueidentifier, null | ID struktury, która zawiera elementy |
DIA_VAL_DICOBJ_ID | FK, uniqueidentifier, null | ID wybranego elementu |
DIA_VAL_BLOB | varbinary(max), null | Wartość atrybutu typu Binary |
DIA_VALID_FROM | datetime, not null | Ważność atrybutu OD (domyślnie w archITekt Studio - 1900-01-01) |
DIA_VALID_TO | datetime, not null | Ważność atrybutu DO (domyślnie w archITekt Studio -2099-12-31) |
DIA_ACTIVE | bit, not null | Czy atrybut aktywny |
DIA_INDEX | bit, not null | Indeks atrybutu |
DIC_ITEM
| Kolumna | Właściwości | Opis |
|---|---|---|
DIA_ID | PK, uniqueidentifier, not null | ID nadawany podczas tworzenia atrybutu |
DIA_DICSTR_ID | PK, FK, uniqueidentifier, not null | ID struktury |
DIA_PARENT_ID | FK, uniqueidentifier, not null | ID elementu rodzica |
DIA_TYPE_ID | FK, uniqueidentifier, not null | ID elementu określającego typ |
DIA_DICSTR_TYPE_ID | FK, uniqueidentifier, not null | ID struktury zawierającej elementy, które są typami |
DIA_VAL_AS_STR | nvarchar(max), null | Wartość atrybutu jako ciąg znaków |
DIA_VAL_NUM | numeric(19,4), null | Wartość atrybutu typu decimal |
DIA_VAL_STR | nvarchar(max), null | Wartość atrybutu typu string |
DIA_VAL_DAT | datetime, null | Wartość atrybutu typu DateTime |
DIA_VAL_GUID | uniqueidentifier, null | Wartość atrybutu typu GUID |
DIA_VAL_DICSTR_ID | FK, uniqueidentifier, null | ID struktury, która zawiera elementy |
DIA_VAL_DICOBJ_ID | FK, uniqueidentifier, null | ID wybranego elementu |
DIA_VAL_BLOB | varbinary(max), null | Wartość atrybutu typu Binary |
DIA_VALID_FROM | datetime, not null | Ważność atrybutu OD (domyślnie w archITekt Studio - 1900-01-01) |
DIA_VALID_TO | datetime, not null | Ważność atrybutu DO (domyślnie w archITekt Studio -2099-12-31) |
DIA_ACTIVE | bit, not null | Czy atrybut aktywny |
DIA_INDEX | bit, not null | Indeks atrybutu |
DIC_LOCALIZATION
| Kolumna | Właściwości | Opis |
|---|---|---|
DIL_DICSTR_ID | FK, uniqueidentifier, not null | ID struktury |
DIL_DICT_OBJECT_ID | PK, FK, uniqueidentifier, not null | |
| ID elementu słownikowego | ||
DIL_LANGUAGE | PK, varchar(10), not null | Język |
DIL_NAME | varchar(256), not null | Nazwa w danym języku |
DIL_DESCRIPTION | varchar(256), not null | Opis w danym języku |
DIC_REFERENCE
| Kolumna | Właściwości | Opis |
|---|---|---|
DIR_ID | PK, uniqueidentifier, not null | ID |
DIR_VIEW_ID | FK, uniqueidentifier, not null | ID widoku |
DIR_DICSTR_VIEW_ID | FK, uniqueidentifier, not null | ID struktury, która zawiera widok |
DIR_OBJECT_ID | FK, uniqueidentifier, not null | ID elementu, który należy do widoku |
DIR_DICSTR_OBJECT_ID | FK, uniqueidentifier, not null | ID struktury, która zawiera element należący do widoku |
DIR_INDEX | int, not null | Indeks |
Widoki SQL
Widoki SQL zostały stworzone w celu uproszczenia korzystania ze słowników. Widok wyciąga ustrukturyzowane dane z bazy nie wymagając przy tym znajomości połączeń pomiędzy tabelami bazodanowymi w ramach słowników. Nie trzeba pisać skryptu wyciągającego elementy kategorii wraz z atrybutami.
Przykład słownika z kategorią mającą widok SQL:

Aby pobrać elementy kategorii Status wniosku wraz z atrybutami korzystając z widoku SQL należy wywołać poniższe zapytanie:
SELECT \* FROM [dict].[Statuswniosku]
W wyniku zapytania zwrócone zostaną następujące dane. Możesz skorzystać z podpowiadania składni i nacisnąć CTRL+Spacja aby wyszukać daną kategorię słownikową.
