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 i lms.sqlite w katalogu /doc.

7.2.1. Użytkownicy ('admins')

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 ('users')

id - identyfikator
lastname - nazwa/nazwisko
name - imię
status - status (3-podłączony, 2-oczekujący, 1-zainteresowany)
email - adres poczty internetowej
phone1 - telefon
phone2 - telefon
phone3 - telefon
gguin - identyfikator gadu-gadu
pin - numer pin (uwierzytelnianie)
address - adres (ulica, nr domu, nr lokalu)
zip - kod pocztowy
city - nazwa miasta
nip - numer identyfikacji podatkowej NIP
pesel - numer PESEL
info - dodatkowe informacje
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łaczonych ostrzeżeniach

7.2.3. Grupy klientów ('usergroups')

id - identyfikator
name - nazwa
description - opis

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

id - identyfikator
usergroupid - identyfikator grupy
userid - 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)
warning - ostrzegaj/nie ostrzegaj (1/0)
lastonline - znacznik czasu ostatniej obecności w sieci
info - informacje dodatkowe

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
adminid - identyfikator użytkownika dokonującego operacji
type - typ operacji (przychód, rozchód, wpłata, obciążenie)
value - wartość w złotych
taxvalue - procent podatku
userid - identyfikator klienta ('0' - jeśli nie dotyczy)
invoiceid - identyfikator faktury obejmującej 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. Taryfy ('tariffs')

id - identyfikator
name - nazwa
value - kwota
taxvalue - wysokość podatku w procentach
pkwiu - numer PKWiU
uprate - gwarantowany upload
upceil - maksymalny upload
downrate - gwarantowany download
downceil - maksymalny download
climit - limit połączeń
plimit - limit pakietów
description - opis

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

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

7.2.13. Powiązania ('assignments')

id - identyfikator
tariffid - identyfikator taryfy
userid - identyfikator klienta
period - typ okresu
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)

7.2.14. Faktury ('invoices')

id - identyfikator
number - numer w roku
cdate - data wystawienia
paytime - termin płatności (ilość dni)
paytype - rodzaj płatności (przelew/gotówka/etc.)
customerid - identyfikator klienta-nabywcy
name - nazwa (nazwisko i imię) nabywcy
address - adres nabywcy
nip - nip nabywcy
pesel - PESEL nabywcy
zip - kod pocztowy nabywcy
phone - telefon nabywcy
city - miasto nabywcy
finished - pole określające zamknięcie faktury (0/1)

7.2.15. Faktury - cd. ('invoicecontents')

invoiceid - identyfikator faktury
itemid - nr pozycji
value - kwota pozycji
taxvalue - wysokość podatku w procentach
pkwiu - numer PKWiU
content - użyta jednostka (najczęściej 'szt.')
count - ilość
description - opis
tariffid - identyfikator taryfy

7.2.16. Konta ('passwd')

id - identyfikator rekordu
ownerid - identyfikator klienta (0 - konto "systemowe")
login - nazwa konta
password - hasło zaszyfrowane funkcją crypt()
lastlogin - data ostatniego logowania
uid - identyfikator systemowy konta
home - katalog domowy (/home/[login])
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

7.2.17. Domeny ('domains')

id - identyfikator rekordu
name - nazwa domeny
description - opis

7.2.18. Aliasy ('aliases')

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

7.2.19. Historia ('timestamps')

time - czas ostatniej modyfikacji
tablename - nazwa tabeli

7.2.20. 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.21. Helpdesk - kolejki ('rtqueues')

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

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

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

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

id - identyfikator
ticketid - identyfikator zgłoszenia
adminid - identyfikator użytkownika-nadawcy
userid - 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.24. Helpdesk - załączniki ('rtattachments')

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

7.2.25. Helpdesk - uprawnienia ('rtrights')

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

7.2.26. 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.27. Terminarz - zdarzenia ('events')

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

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

eventid - identyfikator zdarzenia
adminid - identyfikator użytkownika

7.2.29. Konfiguracja demona - hosty ('daemonhosts')

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

7.2.30. 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.31. 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.32. Sesje ('sessions')

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

7.2.33. Informacje o bazie danych ('dbinfo')

keytype - typ
keyvalue - wartość