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
position - nazwa stanowiska 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ę
divisionid - identyfikator firmy (oddziału)
status - status (3-podłączony, 2-oczekujący, 1-zainteresowany)
type - osobowość prawna (0-osoba fizyczna, 1-osoba prawna)
email - adres poczty internetowej
pin - numer pin (uwierzytelnianie)
address - adres (ulica, nr domu, nr lokalu)
zip - kod pocztowy
city - nazwa miasta
countryid - identyfikator kraju
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
cutoffstop - data, do której blokowanie klientów zadłużonych jest wyłączone
paytime - termin płatności faktur

7.2.3. Grupy klientów ('customergroups')

id - identyfikator
name - nazwa
description - opis

7.2.4. Grupy klientów - powiązania ('customerassignments')

id - identyfikator
customergroupid - identyfikator grupy
customerid - identyfikator klienta

7.2.5. Grupy klientów - dostęp użytkowników ('excludedgroups')

id - identyfikator
userid - identyfikator użytkownika
customergroupid - identyfikator grupy

7.2.6. 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
disabled - status sieci: włączona/wyłączona (0/1)

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
purchasetime - data zakupu
guaranteeperiod - okres gwarancji w miesiącach (NULL - gwarancja wieczysta)
shortname - nazwa skrócona (radius)
nastype - typ NAS (radius)
clients - liczba klientów (radius)
secret - hasło (radius)
community - community SNMP

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

id - identyfikator
src - jeden koniec
dst - drugi koniec
type - typ połączenia (0-kabel, 1-radio)
srcport- port źródłowy (początku połączenia)
dstport - port docelowy (końca połączenia)

7.2.9. 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)
port - numer portu w urządzeniu sieciowym
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)
nas - flaga NAS (0/1)

7.2.10. Grupy komputerów ('nodegroups')

id - identyfikator
name - nazwa
prio - priorytet
description - opis

7.2.11. Grupy komputerów - powiązania ('nodegroupassignments')

id - identyfikator rekordu
nodegroupid - identyfikator grupy
nodeid - identyfikator komputera

7.2.12. Typy NAS ('nastypes')

id - identyfikator rekordu
name - nazwa typu urządzenia

7.2.13. 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
importid - identyfikator importu
sourceid - identyfikator źródła importu
comment - opis operacji

7.2.14. 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
sourceid - identyfikator źródła importu
closed - status operacji

7.2.15. Żródła importu ('cashsources')

id - identyfikator
name - nazwa
description - opis

7.2.16. 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.17. Taryfy ('tariffs')

id - identyfikator
name - nazwa taryfy
type - typ taryfy (zobacz lib/definitions.php)
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
domain_limit - limit liczby domen
alias_limit - limit liczby aliasów
sh_limit - limit liczby kont shellowych
mail_limit - limit liczby kont pocztowych
www_limit - limit liczby kont www
ftp_limit - limit liczby kont ftp
sql_limit - limit liczby kont sql
quota_sh_limit - limit quoty dla konta shellowego
quota_mail_limit - limit quoty dla konta pocztowego
quota_www_limit - limit quoty dla konta www
quota_ftp_limit - limit quoty dla konta ftp
quota_sql_limit - limit quoty dla konta sql
description - opis

7.2.18. Zobowiązania ('liabilities')

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

7.2.19. 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.20. 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.21. Powiązania komputer-taryfa ('nodeassignments')

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

7.2.22. 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.23. Powiązania planów num. z firmami ('numberplanassignments')

id - identyfikator
planid - identyfikator planu
divisionid - identyfikator firmy

7.2.24. 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.25. Rejestry kasowe - uprawnienia ('cashrights')

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

7.2.26. 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.27. 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
divisionid - identyfikator firmy (oddziału)
name - nazwa (nazwisko i imię) klienta
address - adres klienta
ten - nip klienta
ssn - PESEL klienta
zip - kod pocztowy klienta
city - miasto klienta
countryid - identyfikator kraju
closed - czy dokument jest rozliczony? (0/1)
reference - ID dokumentu (np. korygowanej faktury)
reason - np. powód korekty faktury

7.2.28. 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.29. 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.30. Potwierdzenia wpłaty - KP ('receiptcontents')

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

7.2.31. Dokumenty - uprawnienia ('docrights')

userid - identyfikator użytkownika
doctype - id typu dokumentu (zobacz lib/definitions.php)
rights - uprawnienia (1-odczyt, 2-tworzenie, 3-zatwierdzanie, 4-edycja, 5-usuwanie)

7.2.32. 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.33. Kontakty ('customercontacts')

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

7.2.34. 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
mail_forward - adres email przekierowania
mail_bcc - adres email kopii BCC
description - dodatkowe informacje

7.2.35. Domeny ('domains')

id - identyfikator rekordu
name - nazwa domeny
description - opis

7.2.36. Aliasy ('aliases')

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

7.2.37. Powiązania aliasów z kontami ('aliasassignments')

id - identyfikator rekordu
aliasid - indentyfikator aliasu
accountid - identyfikator konta

7.2.38. Konta VoIP ('voipaccounts')

id - identyfikator rekordu
ownerid - identyfikator właściciela (klienta)
login - login
passwd - hasło
phone - numer telefonu
creationdate - data utworzenia
moddate - date ostatniej zmiany
creatorid - identyfikator użytkownika
modid - identyfikator użytkownika

7.2.39. 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.40. Helpdesk - kolejki ('rtqueues')

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

7.2.41. 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
creatorid - identyfikator użytkownika dodającego zgłoszenie
createtime - data zgłoszenia

7.2.42. 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.43. Helpdesk - załączniki ('rtattachments')

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

7.2.44. Helpdesk - notatki ('rtnotes')

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

7.2.45. Helpdesk - uprawnienia ('rtrights')

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

7.2.46. 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.47. 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.48. Terminarz - powiązania ('eventassignments')

eventid - identyfikator zdarzenia
userid - identyfikator użytkownika

7.2.49. Hosty ('hosts')

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

7.2.50. 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.51. 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.52. Sesje ('sessions')

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

7.2.53. Województwa ('states')

id - identyfikator
name - nazwa województwa
description - informacje dodatkowe

7.2.54. Kody pocztowe ('zipcodes')

id - identyfikator
zip - kod pocztowy
stateid - identyfikator województwa

7.2.55. Kraje ('countries')

id - identyfikator
name - nazwa kraju

7.2.56. Firmy/Oddziały ('divisions')

id - identyfikator
shortname - nazwa skrócona firmy
name - pełna nazwa firmy
address - adres
zip - kod pocztowy
city - miasto
countryid - identyfikator kraju
ten - numer identyfikacji podatkowej NIP
regon - numer REGON
account - konto bankowe lub prefiks konta płatności masowych
description - informacje dodatkowe
status - status blokady (1/0)
inv_header - nagłówek faktury
inv_footer - stopka faktury
inv_author - wystawca faktury
inv_cplace - miejsce wystawienia faktury

7.2.57. Wiadomości - lista ('messages')

id - identyfikator
subject - temat wiadomości
body - treść wiadomości
cdate - data utworzenia
type - typ (1-email, 2-sms)
userid - identyfikator nadawcy (użytkownika)
sender - nagłówek 'From' wiadomości e-mail

7.2.58. Wiadomości - szczegóły ('messageitems')

id - identyfikator
messageid - identyfikator wiadomości
customerid - identyfikator odbiorcy (klienta)
destination - numer tel./adres e-mail odbiorcy
lastdate - data ostatniego przetwarzania (wysłania lub błędu)
status - status wysyłki (zobacz lib/definitions.php)
error - komunikat błędu

7.2.59. Informacje o bazie danych ('dbinfo')

keytype - typ
keyvalue - wartość