Baza danych: Użytkownicy: Różnice pomiędzy wersjami

Z DrRobert DOCS
Przejdź do nawigacji Przejdź do wyszukiwania
mNie podano opisu zmian
 
(Nie pokazano 16 wersji utworzonych przez 3 użytkowników)
Linia 1: Linia 1:
== sg_users ==
== Tabela użytkowników: `sg_users` ==
Tabela z podstawowymi danymi użytkowników.
{| class="wikitable"
{| class="wikitable"
|+Kolumny tabeli:
|+
!nazwa
!nazwa
!typ
!typ
Linia 30: Linia 31:
|NULL
|NULL
|
|
|nazwa służąca wyświetlaniu w widokach administracyjnych
|nazwa
|-
|email
|varchar(200)
|NULL
|
|adres email
|-
|phone
|varchar(20)
|NULL
|
|nr telefonu
|-
|-
|data
|data
Linia 94: Linia 107:
|usunięty
|usunięty
|STATUS_DELETED
|STATUS_DELETED
|}
== Tabela autoryzacji: `sg_user_auth` ==
Tabela z metodami autoryzacji użytkownika, możliwość przechowywania loginów, haseł i tokenów.
{| class="wikitable"
!nazwa
!typ
!domyślnie
!klucz lub właściwości
!opis
|-
|id
|int
|$auto_increment
|primary_key
|
|-
|user_id
|int
|0
|
|id użytkownika
|-
|type_id
|int
|0
|
|id typu
|-
|auth_login
|text
|NULL
|
|login w plaintext
|-
|auth_hash
|text
|NULL
|
|hash (np hasła)
|-
|auth_token
|text
|NULL
|
|token logowania
|-
|dt_expire
|datetime
|NULL
|
|data i czas utraty ważności w przypadku czasowego sposobu logowania, lub historycznej pary login/hasło
|-
|dt_created
|datetime
|CURRENT_TIMESTAMP
|
|data i czas utworzenia
|-
|dt_updated
|datetime
|NULL
|on update CURRENT_TIMESTAMP
|data i czas modyfikacji
|-
|deleted
|bool
|0
|
|flaga usunięcia
|-
|dt_deleted
|datetime
|NULL
|
|data i czas usunięcia
|}
|}


== sg_user_auth ==
{| class="wikitable"
|+Typy autoryzacji:
!id
!nazwa
!klucz
!opis
|-
|0
|login i hasło
|TYPE_LOGIN_PASSWORD
|domyślny sposób logowania przy pomocy loginu i hasła
|-
|1
|token url
|TYPE_URL_TOKEN
|token w adresie url, wysyłany przy pomocy emaila
|-
|2
|token api
|TYPE_API_TOKEN
|token do autoryzacji przy pomocy api, przechowywany w aplikacji
|-
|3
|centrum monitoringu
|TYPE_CM_LOGIN
|login i hasło dostępu do centrum monitoringu
|}
Możliwe dodanie kolejnych typów autoryzacji wraz z rozwojem.


== sg_user_events ==
== Tabela wydarzeń: `sg_user_events` ==
Tabela z wydarzeniami kalendarza użytkowników.
{| class="wikitable"
!nazwa
!typ
!domyślnie
!klucz lub właściwości
!opis
|-
|id
|int
|$auto_increment
|primary_key
|
|-
|uuid
|char(36)
|UUID()
|
|wygenerowany identyfikator UUID
|-
|user_id
|int
|0
|
|id użytkownika
|-
|type_id
|int
|0
|
|id typu
|-
|name
|text
|NULL
|
|nazwa do wyświetlania na listach
|-
|date_start
|date
|NULL
|
|data wydarzenia
|-
|date_stop
|date
|NULL
|
|data zakończenia gdy trwa więcej niż jeden dzień, w innym przypadku NULL
|-
|time_start
|time
|NULL
|
|czas wydarzenia gdy planowane na konkretną godzinę, w innym przypadku NULL
|-
|time_stop
|time
|NULL
|
|czas zakończenia gdy planowane, w innym przypadku NULL
|-
|data
|json
|NULL
|
|json z danymi dodatkowymi
|-
|dt_created
|datetime
|CURRENT_TIMESTAMP
|
|data i czas utworzenia
|-
|dt_updated
|datetime
|NULL
|on update CURRENT_TIMESTAMP
|data i czas modyfikacji
|-
|deleted
|bool
|0
|
|flaga usunięcia
|-
|dt_deleted
|datetime
|NULL
|
|data i czas usunięcia
|}


== sg_user_groups ==
== Tabela relacji między użytkownikami: `sg_user_relationships` ==
Tabela z relacjami między użytkownikami, czyli które konto ma przypisanych wiele profili do zarządzania.
{| class="wikitable"
!nazwa
!typ
!domyślnie
!klucz lub właściwości
!opis
|-
|id
|int
|$auto_increment
|primary_key
|
|-
|uuid
|char(36)
|UUID()
|
|wygenerowany identyfikator UUID
|-
|parent_user_id
|int
|0
|
|id użytkownika rodzica
|-
|children_user_id
|int
|0
|
|id użytkownika dziecka
|-
|type_id
|int
|0
|
|id typu relacji
|-
|date_start
|date
|NULL
|
|data rozpoczęcia relacji
|-
|date_stop
|date
|NULL
|
|data zakończenia lub NULL w przypadku dostępu ciągłego
|-
|dt_created
|datetime
|CURRENT_TIMESTAMP
|
|data i czas utworzenia
|-
|dt_updated
|datetime
|NULL
|on update CURRENT_TIMESTAMP
|data i czas modyfikacji
|-
|deleted
|bool
|0
|
|flaga usunięcia
|-
|dt_deleted
|datetime
|NULL
|
|data i czas usunięcia
|}


== sg_user_group_membership ==
== Tabela ankiet użytkowników: `sg_user_surveys` ==
Tabela z przypisanymi do wypełnienia i wypełnionymi ankietami.
{| class="wikitable"
!nazwa
!typ
!domyślnie
!klucz lub właściwości
!opis
|-
|id
|int
|$auto_increment
|primary_key
|
|-
|uuid
|char(36)
|UUID()
|
|wygenerowany identyfikator UUID
|-
|user_id
|int
|0
|
|id użytkownika
|-
|survey_id
|int
|0
|
|id ankiety
|-
|date_start
|date
|NULL
|
|data planowanego rozpoczęcia
|-
|date_stop
|date
|NULL
|
|data zakończenia gdy trwa więcej niż jeden dzień, w innym przypadku NULL
|-
|time_start
|time
|NULL
|
|czas planowanego rozpoczęcia gdy na konkretną godzinę, w innym przypadku NULL
|-
|time_stop
|time
|NULL
|
|czas zakończenia gdy planowane, w innym przypadku NULL
|-
|responded
|bool
|0
|
|flaga stanu 0-planowana 1-wypełniona
|-
|responses
|json
|NULL
|
|json z odpowiedziami
|-
|dt_responded
|datetime
|CURRENT_TIMESTAMP
|
|data i czas wypełnienia
|-
|dt_created
|datetime
|CURRENT_TIMESTAMP
|
|data i czas utworzenia
|-
|dt_updated
|datetime
|NULL
|on update CURRENT_TIMESTAMP
|data i czas modyfikacji
|-
|deleted
|bool
|0
|
|flaga usunięcia
|-
|dt_deleted
|datetime
|NULL
|
|data i czas usunięcia
|}
 
== Tabela odpowiedzi ankiet użytkowników: `sg_user_surveys_answers` ==
Tabela z odpowiedziami udzielonymi na ankiety.
{| class="wikitable"
!nazwa
!typ
!domyślnie
!klucz lub właściwości
!opis
|-
|id
|int
|$auto_increment
|primary_key
|
|-
|uuid
|char(36)
|UUID()
|
|wygenerowany identyfikator UUID
|-
|user_survey_id
|int
|0
|
|id wpisu przypisania ankiety, tabela ''sg_user_surveys''
|-
|survey_id
|int
|0
|
|id ankiety
|-
|answer_id
|int
|0
|
|id odpowiedzi
|-
|answer_int
|int
|NULL
|
|wartość int odpowiedzi
|-
|answer_float
|float
|NULL
|
|wartość float odpowiedzi
|-
|answer_text
|text
|NULL
|
|wartość string odpowiedzi
|-
|dt_created
|datetime
|CURRENT_TIMESTAMP
|
|data i czas utworzenia
|-
|dt_updated
|datetime
|NULL
|on update CURRENT_TIMESTAMP
|data i czas modyfikacji
|-
|deleted
|bool
|0
|
|flaga usunięcia
|-
|dt_deleted
|datetime
|NULL
|
|data i czas usunięcia
|}
 
== Tabela organizacji użytkowników: `sg_user_organisations` ==
Tabela organizacji grupujących użytkowników.
{| class="wikitable"
!nazwa
!typ
!domyślnie
!klucz lub właściwości
!opis
|-
|id
|int
|$auto_increment
|primary_key
|
|-
|uuid
|char(36)
|UUID()
|
|wygenerowany identyfikator UUID
|-
|name
|text
|NULL
|
|nazwa organizacji
|-
|data
|json
|NULL
|
|json z danymi dodatkowymi
|-
|dt_created
|datetime
|CURRENT_TIMESTAMP
|
|data i czas utworzenia
|-
|dt_updated
|datetime
|NULL
|on update CURRENT_TIMESTAMP
|data i czas modyfikacji
|-
|deleted
|bool
|0
|
|flaga usunięcia
|-
|dt_deleted
|datetime
|NULL
|
|data i czas usunięcia
|}
 
== Tabela przypisań użytkowników do organizacji: `sg_user_organisations_membership` ==
Tabela z przypisaniem do organizacji, w danym okresie i danego typu roli.
{| class="wikitable"
!nazwa
!typ
!domyślnie
!klucz lub właściwości
!opis
|-
|id
|int
|$auto_increment
|primary_key
|
|-
|uuid
|char(36)
|UUID()
|
|wygenerowany identyfikator UUID
|-
|user_id
|int
|0
|
|id użytkownika
|-
|organization_id
|int
|0
|
|id organizacji
|-
|type_id
|int
|0
|
|id typu członkostwa
|-
|date_start
|date
|NULL
|
|data rozpoczęcia członkostwa
|-
|date_stop
|date
|NULL
|
|data zakończenia lub NULL w przypadku dostępu ciągłego
|-
|dt_created
|datetime
|CURRENT_TIMESTAMP
|
|data i czas utworzenia
|-
|dt_updated
|datetime
|NULL
|on update CURRENT_TIMESTAMP
|data i czas modyfikacji
|-
|deleted
|bool
|0
|
|flaga usunięcia
|-
|dt_deleted
|datetime
|NULL
|
|data i czas usunięcia
|}
{| class="wikitable"
|+
Typy członkostwa:
!id
!nazwa
!klucz
|-
|0
|brak
|TYPE_NONE
|-
|1
|zwykły
|TYPE_ORDINARY
|-
|2
|koordynator
|TYPE_COORDINATOR
|-
|99
|admin
|TYPE_ADMIN
|}
 
== Tabela rekomendacji użytkowników: `sg_user_recommendations` ==
Tabela z rekomendacjami przypisanymi do użytkownika.
{| class="wikitable"
|+
!nazwa
!typ
!domyślnie
!klucz lub właściwości
!opis
|-
|id
|int
|$auto_increment
|primary_key
|
|-
|uuid
|char(36)
|UUID()
|
|wygenerowany identyfikator UUID
|-
|user_id
|int
|0
|
|id użytkownika
|-
|recommendation_id
|int
|0
|
|id rekomendacji
|-
|frequency
|varchar(10)
|NULL
|
|częstotliwość wykonywania rekomendacji
|-
|due_date
|varchar(200)
|NULL
|
|data zaplanowana
|-
|date_done
|varchar(200)
|NULL
|
|data wykonania
|-
|data
|json
|NULL
|
|json z danymi niezaszyfrowanymi
|-
|dt_created
|datetime
|CURRENT_TIMESTAMP
|
|data i czas utworzenia
|-
|dt_updated
|datetime
|NULL
|on update CURRENT_TIMESTAMP
|data i czas modyfikacji
|-
|deleted
|bool
|0
|
|flaga usunięcia
|-
|dt_deleted
|datetime
|NULL
|
|data i czas usunięcia
|}

Aktualna wersja na dzień 09:18, 19 cze 2024

Tabela użytkowników: `sg_users`

Tabela z podstawowymi danymi użytkowników.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
status_id int 0 id statusu użytkownika
uuid char(36) UUID() wygenerowany identyfikator UUID
name varchar(200) NULL nazwa
email varchar(200) NULL adres email
phone varchar(20) NULL nr telefonu
data json NULL json z danymi niezaszyfrowanymi
data_encrypted longtext NULL zaszyfrowana tablica z danymi niejawnymi
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia
Statusy użytkowników:
id nazwa klucz
0 nowy STATUS_NEW
1 aktywny STATUS_ACTIVE
91 nieaktywny STATUS_INACTIVE
92 zawieszony STATUS_SUSPENDED
99 usunięty STATUS_DELETED

Tabela autoryzacji: `sg_user_auth`

Tabela z metodami autoryzacji użytkownika, możliwość przechowywania loginów, haseł i tokenów.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
user_id int 0 id użytkownika
type_id int 0 id typu
auth_login text NULL login w plaintext
auth_hash text NULL hash (np hasła)
auth_token text NULL token logowania
dt_expire datetime NULL data i czas utraty ważności w przypadku czasowego sposobu logowania, lub historycznej pary login/hasło
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia
Typy autoryzacji:
id nazwa klucz opis
0 login i hasło TYPE_LOGIN_PASSWORD domyślny sposób logowania przy pomocy loginu i hasła
1 token url TYPE_URL_TOKEN token w adresie url, wysyłany przy pomocy emaila
2 token api TYPE_API_TOKEN token do autoryzacji przy pomocy api, przechowywany w aplikacji
3 centrum monitoringu TYPE_CM_LOGIN login i hasło dostępu do centrum monitoringu

Możliwe dodanie kolejnych typów autoryzacji wraz z rozwojem.

Tabela wydarzeń: `sg_user_events`

Tabela z wydarzeniami kalendarza użytkowników.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
uuid char(36) UUID() wygenerowany identyfikator UUID
user_id int 0 id użytkownika
type_id int 0 id typu
name text NULL nazwa do wyświetlania na listach
date_start date NULL data wydarzenia
date_stop date NULL data zakończenia gdy trwa więcej niż jeden dzień, w innym przypadku NULL
time_start time NULL czas wydarzenia gdy planowane na konkretną godzinę, w innym przypadku NULL
time_stop time NULL czas zakończenia gdy planowane, w innym przypadku NULL
data json NULL json z danymi dodatkowymi
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia

Tabela relacji między użytkownikami: `sg_user_relationships`

Tabela z relacjami między użytkownikami, czyli które konto ma przypisanych wiele profili do zarządzania.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
uuid char(36) UUID() wygenerowany identyfikator UUID
parent_user_id int 0 id użytkownika rodzica
children_user_id int 0 id użytkownika dziecka
type_id int 0 id typu relacji
date_start date NULL data rozpoczęcia relacji
date_stop date NULL data zakończenia lub NULL w przypadku dostępu ciągłego
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia

Tabela ankiet użytkowników: `sg_user_surveys`

Tabela z przypisanymi do wypełnienia i wypełnionymi ankietami.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
uuid char(36) UUID() wygenerowany identyfikator UUID
user_id int 0 id użytkownika
survey_id int 0 id ankiety
date_start date NULL data planowanego rozpoczęcia
date_stop date NULL data zakończenia gdy trwa więcej niż jeden dzień, w innym przypadku NULL
time_start time NULL czas planowanego rozpoczęcia gdy na konkretną godzinę, w innym przypadku NULL
time_stop time NULL czas zakończenia gdy planowane, w innym przypadku NULL
responded bool 0 flaga stanu 0-planowana 1-wypełniona
responses json NULL json z odpowiedziami
dt_responded datetime CURRENT_TIMESTAMP data i czas wypełnienia
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia

Tabela odpowiedzi ankiet użytkowników: `sg_user_surveys_answers`

Tabela z odpowiedziami udzielonymi na ankiety.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
uuid char(36) UUID() wygenerowany identyfikator UUID
user_survey_id int 0 id wpisu przypisania ankiety, tabela sg_user_surveys
survey_id int 0 id ankiety
answer_id int 0 id odpowiedzi
answer_int int NULL wartość int odpowiedzi
answer_float float NULL wartość float odpowiedzi
answer_text text NULL wartość string odpowiedzi
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia

Tabela organizacji użytkowników: `sg_user_organisations`

Tabela organizacji grupujących użytkowników.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
uuid char(36) UUID() wygenerowany identyfikator UUID
name text NULL nazwa organizacji
data json NULL json z danymi dodatkowymi
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia

Tabela przypisań użytkowników do organizacji: `sg_user_organisations_membership`

Tabela z przypisaniem do organizacji, w danym okresie i danego typu roli.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
uuid char(36) UUID() wygenerowany identyfikator UUID
user_id int 0 id użytkownika
organization_id int 0 id organizacji
type_id int 0 id typu członkostwa
date_start date NULL data rozpoczęcia członkostwa
date_stop date NULL data zakończenia lub NULL w przypadku dostępu ciągłego
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia
Typy członkostwa:
id nazwa klucz
0 brak TYPE_NONE
1 zwykły TYPE_ORDINARY
2 koordynator TYPE_COORDINATOR
99 admin TYPE_ADMIN

Tabela rekomendacji użytkowników: `sg_user_recommendations`

Tabela z rekomendacjami przypisanymi do użytkownika.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
uuid char(36) UUID() wygenerowany identyfikator UUID
user_id int 0 id użytkownika
recommendation_id int 0 id rekomendacji
frequency varchar(10) NULL częstotliwość wykonywania rekomendacji
due_date varchar(200) NULL data zaplanowana
date_done varchar(200) NULL data wykonania
data json NULL json z danymi niezaszyfrowanymi
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia