7.2. Struktura bazy danych

Poniżej przedstawiono ogólną strukturę bazy danych LMS. Bardziej szczegółowe informacje o typach danych, ograniczeniach nakładanych na pola oraz wartości domyślne zawarte są w plikach lms.mysql, lms.pgsql w katalogu /doc.

7.2.1. Użytkownicy ('users')

id - identyfikator
login - login
name - nazwa (nazwisko i imię)
email - adres admina
rights - prawa dostępu
hosts - lista hostów z prawem do logowania
passwd - hasło logowania
lastlogindate - data ostatniego logowania
lastloginip - adres IP, z którego nastąpiło ostatnie logowanie
failedlogindate - data ostatniej nieudanej próby logowania
failedloginip - adres IP, z którego próbowano się zalogować
deleted - czy usunięty (0/1)

7.2.2. Klienci ('customers')

id - identyfikator
lastname - nazwa/nazwisko
name - imię
status - status (3-podłączony, 2-oczekujący, 1-zainteresowany)
email - adres poczty internetowej
pin - numer pin (uwierzytelnianie)
address - adres (ulica, nr domu, nr lokalu)
zip - kod pocztowy
city - nazwa miasta
ten - numer identyfikacji podatkowej NIP
ssn - numer PESEL
regon - numer REGON
rbe - numer KRS/EDG
icn - numer dowodu osobistego
info - dodatkowe informacje
notes - notatki
serviceaddr - adres do doręczeń (np. na faktury)
creationdate - czas utworzenia wpisu
moddate - czas modyfikacji
creatorid - identyfikator użytkownika tworzącego wpis
modid - identyfikator użytkownika dokonującego zmian danych
deleted - usunięty z bazy (0/1)
message - komunikat do wyświetlenia przy włączonych ostrzeżeniach

7.2.3. Grupy klientów ('customergroups')

id - identyfikator
name - nazwa
description - opis

7.2.4. Grupy klientów - c.d. ('customerassignments')

id - identyfikator
customergroupid - identyfikator grupy
customerid - identyfikator klienta

7.2.5. Sieci ('networks')

id - identyfikator
name - nazwa sieci
address - adres IP
mask - maska
interface - interfejs (np. eth1)
gateway - adres IP bramy
dns - adres IP serwera nazw
dns2 - adres IP zapasowego serwera nazw
domain - domena
wins - adres serwera WINS
dhcpstart - początek zakresu DHCP
dhcpend - koniec zakresu DHCP

7.2.6. Komputery i adresy IP urządzeń sieciowych ('nodes')

id - identyfikator
name - nazwa
mac - adres MAC
ipaddr - adres IP
passwd - hasło np. pppoe
ownerid - identyfikator właściciela ('0' - dla adresu urządzenia)
creationdate - znacznik czasu utworzenia wpisu
moddate - znacznik czasu ostatniej modyfikacji
creatorid - identyfikator użytkownika tworzącego wpis
modid - identyfikator użytkownika ostatnio modyfikującego wpis
netdev - identyfikator urządzenia sieciowego do którego jest podłączony komputer
linktype - typ połączenia sieciowego (0-kabel, 1-radio)
access - podłączony/odłączony (1/0)
chkmac - włączone/wyłączone sprawdzanie MAC adresu (1/0)
halfduplex - half/full duplex (0/1)
warning - ostrzegaj/nie ostrzegaj (1/0)
lastonline - znacznik czasu ostatniej obecności w sieci
info - informacje dodatkowe
location - lokalizacja (adres)

7.2.7. Sprzęt sieciowy ('netdevices')

id - identyfikator
name - nazwa
location - lokalizacja
description - opis
producer - producent
model - model
serialnumber - numer seryjny
ports - ilość portów

7.2.8. Połączenia sieciowe ('netlinks')

id - identyfikator
src - jeden koniec
dst- drugi koniec
type - typ połączenia (0-kabel, 1-radio)

7.2.9. Operacje finansowe ('cash')

id - identyfikator
time - znacznik czasu zaksięgowania operacji
type - typ operacji (1-płatność, 0-zobowiązanie)
userid - identyfikator użytkownika dokonującego operacji
value - wartość w złotych
taxid - identyfikator stawki podatkowej
customerid - identyfikator klienta ('0' - jeśli nie dotyczy)
docid - identyfikator dokumentu (np. faktury) obejmującego daną operację
itemid - nr pozycji na fakturze
comment - opis operacji

7.2.10. Import operacji finansowych ('cashimport')

id - identyfikator
date - znacznik czasu operacji
value - kwota operacji
customer - dane wpłacającego
description - opis operacji
customerid - identyfikator klienta
hash - unikalny skrót danych operacji
closed - status operacji

7.2.11. Stawki podatkowe ('taxes')

id - identyfikator
value - wartość procentowa stawki
label - etykieta stawki
validfrom - początek okresu obowiązywania
validto - koniec okresu obowiązywania
taxed - status opodatkowania (1-tak, 0-nie)

7.2.12. Taryfy ('tariffs')

id - identyfikator
name - nazwa
value - kwota
taxid - identyfikator stawki podatkowej
prodid - numer PKWiU
uprate - gwarantowany upload
upceil - maksymalny upload
downrate - gwarantowany download
downceil - maksymalny download
climit - limit połączeń
plimit - limit pakietów w jednostce czasu
plimit - limit danych w jednostce czasu
description - opis

7.2.13. Zobowiązania ('liabilities')

id - identyfikator
name - nazwa (opis) zobowiązania
value - kwota
taxid - identyfikator stawki podatkowej
prodid - numer PKWiU

7.2.14. Opłaty stałe ('payments')

id - identyfikator
name - nazwa
value - kwota
creditor - nazwa wierzyciela
period - typ okresu naliczania: codziennie/co tydzień/co miesiąc/co kwartał/co rok (1/2/3/4/5)
at - dzień naliczenia
description - opis

7.2.15. Powiązania ('assignments')

id - identyfikator
tariffid - identyfikator taryfy
liabilityid - identyfikator zobowiązania
customerid - identyfikator klienta
period - typ okresu naliczania: codziennie/co tydzień/co miesiąc/co kwartał/co rok (1/2/3/4/5)
at - dzień naliczania
datefrom - data obowiązywania zobowiązania
dateto - data obowiązywania zobowiązania
invoice - określa czy ma być wystawiana faktura (1 - tak, 0 - nie)
discount - wartość procentowa rabatu
suspended - zawieszenie płatności (1 - tak, 0 - nie)
settlement - rozliczenie okresu niepełnego (1 - tak, 0 - nie)

7.2.16. Powiązania komputer-taryfa ('nodeassignments')

id - identyfikator
assignmentid - identyfikator zobowiązania
nodeid - identyfikator komputera

7.2.17. Plany (szablony) numeracyjne dokumentów ('numberplans')

id - identyfikator
template - szablon (wzorzec) numeru
period - typ okresu numeracyjnego: dzień/tydzień/miesiąc/kwartał/rok
doctype - typ dokumentu
isdefault - '1' - jeśli dany plan jest domyślny dla wybranego typu dokumentów, '0' - jeśli nie

7.2.18. Rejestry kasowe ('cashregs')

id - identyfikator
name - nazwa rejestru
description - dodatkowy opis
in_numberplanid - identyfikator planu numeracyjnego dla dowodów wpłaty
out_numberplanid - identyfikator planu numeracyjnego dla dowodów wypłaty
disabled - wyłączenie sumowania (0/1)

7.2.19. Rejestry kasowe - uprawnienia ('cashrights')

id - identyfikator
regid - identyfikator rejestru
userid - identyfikator użytkownika
rights - (1-odczyt, 2-zapis, 3-zaawansowane)

7.2.20. Cash registries - cash history ('cashreglog')

id - identyfikator
regid - identyfikator rejestru
userid - identyfikator użytkownika
time - data i godzina wpisu
value - rzeczywista wartość stanu kasy (gotówki)
snapshot - wartość stanu kasy
description - dodatkowe informacje

7.2.21. Dokumenty: faktury, KP, umowy, etc. ('documents')

id - identyfikator
number - numer dokumentu (%N)
extnumber - dodatkowy numer dokumentu (%I)
numberplanid - identyfikator planu numeracyjnego
type - typ dokumentu (1-faktura, 2-KP)
cdate - data wystawienia
paytime - termin płatności (ilość dni)
paytype - rodzaj płatności (przelew/gotówka/etc.)
customerid - identyfikator klienta-nabywcy
userid - identyfikator użytkownika wystawiającego dokument
name - nazwa (nazwisko i imię) klienta
address - adres klienta
ten - nip klienta
ssn - PESEL klienta
zip - kod pocztowy klienta
city - miasto klienta
closed - czy dokument jest rozliczony? (0/1)
reference - ID dokumentu (np. korygowanej faktury)
reason - np. powód korekty faktury

7.2.22. Dokumenty niefinansowe ('documentcontents')

docid - identyfikator dokumentu
title - tytuł dokumentu
fromdate - początek okresu obowiązywania
todate - koniec okresu obowiązywania
filename - nazwa pliku
contenttype - typ pliku
md5sum - suma md5 pliku
description - dodatkowy opis

7.2.23. Faktury ('invoicecontents')

docid - identyfikator faktury
itemid - nr pozycji
value - kwota pozycji
discount - wartość procentowa rabatu
taxid - identyfikator stawki podatkowej
prodid - numer PKWiU
content - użyta jednostka (najczęściej 'szt.')
count - ilość
description - opis
tariffid - identyfikator taryfy

7.2.24. Potwierdzenia wpłaty - KP ('receiptcontents')

docid - identyfikator faktury
itemid - nr pozycji
regid - identyfikator rejestru
value - kwota pozycji
description - opis pozycji

7.2.25. Identyfikatory internetowe ('imessengers')

id - identyfikator rekordu
customerid - identyfikator klienta
uid - identyfikator/nazwa użytkownika komunikatora
type - typ komunikatora (0-gadu-gadu, 1-yahoo, 2-skype)

7.2.26. Kontakty ('customercontacts')

id - identyfikator rekordu
customerid - identyfikator klienta
phone - numer telefoniczny
name - nazwa/opis kontaktu

7.2.27. Konta ('passwd')

id - identyfikator rekordu
ownerid - identyfikator klienta (0 - konto "systemowe")
login - nazwa konta
password - hasło zaszyfrowane funkcją crypt()
realname - dodatkowa nazwa konta/użytkownika
lastlogin - data ostatniego logowania
uid - identyfikator systemowy konta
home - katalog domowy
type - typ konta (suma: 1-shell, 2-poczta, 4-www, 8-ftp)
expdate - data ważności konta
domainid - identyfikator domeny z tabeli 'domains'
createtime - data utworzenia konta
quota_sh - limit
quota_mail - limit
quota_www - limit
quota_ftp - limit
quota_sql - limit

7.2.28. Domeny ('domains')

id - identyfikator rekordu
name - nazwa domeny
description - opis

7.2.29. Aliasy ('aliases')

id - identyfikator rekordu
login - nazwa konta (bez domeny)
accountid - identyfikator konta

7.2.30. Statystyki wykorzystania łącza ('stats')

nodeid - numer komputera
dt - znacznik czasu
upload - ilość danych wysłanych, w bajtach
download - ilość danych odebranych, w bajtach

7.2.31. Helpdesk - kolejki ('rtqueues')

id - identyfikator
name - nazwa
email - adres konta pocztowego
description - opis dodatkowy

7.2.32. Helpdesk - zgłoszenia ('rttickets')

id - identyfikator
queueid - identyfikator kolejki
requestor - dane zgłaszającego-klienta (w tym e-mail)
customerid - identyfikator klienta
subject - temat zgłoszenia
state - status (0-nowy, 1-otwarty, 2-rozwiązany, 3-martwy)
cause - przyczyna zgłoszenia (0-nieznana, 1-klient, 2-firma)
owner - identyfikator właściciela-użytkownika
createtime - data zgłoszenia

7.2.33. Helpdesk - wiadomości ('rtmessages')

id - identyfikator
ticketid - identyfikator zgłoszenia
userid - identyfikator użytkownika-nadawcy
customerid - identyfikator klienta-nadawcy
mailfrom - e-mail nadawcy
subject - temat wiadomości
messageid - pocztowy identyfikator wiadomości
inreplyto - identyfikator poprzedniej wiadomości
replyto - nagłówek wiadomości
headers - wszystkie nagłówki pocztowe wiadomości
body - treść wiadomości
createtime - data utworzenia/wysłania/odebrania

7.2.34. Helpdesk - załączniki ('rtattachments')

messageid - identyfikator wiadomości
filename - nazwa pliku
contenttype - typ pliku

7.2.35. Helpdesk - notatki ('rtnotes')

id - identyfikator
ticketid - identyfikator zgłoszenia
userid - identyfikator użytkownika
body - treść notatki
createtime - data utworzenia

7.2.36. Helpdesk - uprawnienia ('rtrights')

id - identyfikator
queueid - identyfikator kolejki
userid - identyfikator użytkownika
rights - (1-odczyt, 2-zapis, 3-powiadomienia)

7.2.37. Konfiguracja LMS-UI ('uiconfig')

id - identyfikator
section - nazwa sekcji
var - nazwa opcji konfiguracyjnej
value - wartość
description - opis/komentarz
disabled - wyłączenie opcji (0-wł., 1-wył.)

7.2.38. Terminarz - zdarzenia ('events')

id - identyfikator
title - tytuł
description - opis
note - notatka
date - data zdarzenia
begintime - początek zdarzenia
endtime - koniec zdarzenia
userid - identyfikator użytkownika tworzącego wpis w terminarzu
customerid - identyfikator klienta
private - prywatny/publiczny
closed - status zamknięcia

7.2.39. Terminarz - powiązania ('eventassignments')

eventid - identyfikator zdarzenia
userid - identyfikator użytkownika

7.2.40. Hosty ('hosts')

id - identyfikator
name - nazwa hosta
description - opis
lastreload - data ostatniego przeładowania
reload - żądanie przeładowania

7.2.41. Konfiguracja demona - instancje ('daemoninstances')

id - identyfikator
name - nazwa instancji
hostid - identyfikator hosta
module - nazwa i ścieżka do modułu
crontab - czas wykonania
priority - priorytet przeładowania
description - opis
disabled - status (włączona/wyłączona)

7.2.42. Konfiguracja demona - opcje ('daemonconfig')

id - identyfikator
instanceid - identyfikator instancji
var - nazwa opcji
value - wartość opcji
description - opis
disabled - status (włączona/wyłączona)

7.2.43. Sesje ('sessions')

id - identyfikator sesji
ctime - czas utworzenia
mtime - czas modyfikacji
atime - czas ost. dostępu
vdata - dane weryfikujące
content - dane

7.2.44. Informacje o bazie danych ('dbinfo')

keytype - typ
keyvalue - wartość