== Релациско мапирање == === Ознаки === Во продолжение се користат следните конвенции при опишување на релациското мапирање: * Секој примарен клуч е визуелно означен со болдирање и подвлекување и е означен како '''__PK__'''. * Атрибутите кои претставуваат надворешни клучеви се означени со '''FK*''', при што во заграда е наведена табелата и атрибутот кон кој се врши референцирање. * Атрибутите кои мора задолжително да имаат вредност (NOT NULL) се болдирани. * Атрибутите со услов за единственост во рамки на табелата се дополнително означени со '''(UNIQUE)'''. * За составна единственост (composite unique) се користи ознака: '''(UNIQUE: A + B)'''. Овие ознаки овозможуваат појасно разбирање на структурата на базата на податоци и релациите помеѓу табелите. === Табели === 1. Tenants ('''__id PK__''', '''name''', '''owner_email''', '''created_at''') 2. Users ('''__id PK__''', '''email''' (UNIQUE), name, picture, '''created_at''') 3. Memberships ('''__user_id PK__ FK*(Users.id)''', '''__tenant_id PK__ FK*(Tenants.id)''', '''role''', '''created_at''') *Забелешка:* Memberships има составен примарен клуч: (user_id, tenant_id). 4. Environments ('''__id PK__''', '''name''', '''created_at''', '''tenant_id FK*(Tenants.id)''', (UNIQUE: tenant_id + name)) 5. ENV_Tokens ('''__id PK__''', '''env_name FK*(Environments.name)''', '''token''' (UNIQUE), '''created_at''', expires_at, '''tenant_id FK*(Tenants.id)''') 6. Admin_sessions ('''__id PK__''', '''token''' (UNIQUE), '''created_at''') 7. Computers ('''__id PK__''', '''name''', user, ip, os, first_seen, last_seen, sysmon_available, '''env_name FK*(Environments.name)''', '''tenant_id FK*(Tenants.id)''', (UNIQUE: tenant_id + name)) 8. Computer_history ('''__id PK__''', '''computer_id FK*(Computers.id)''', cpu_usage, ram_usage, disk_usage, network_sent_mb, network_recv_mb, timestamp) 9. Computer_processes ('''__id PK__''', '''computer_id FK*(Computers.id)''', pid, name, cpu_percent, memory_mb, username, cmdline, timestamp) 10. Sysmon_events ('''__id PK__''', '''computer_id FK*(Computers.id)''', event_id, event_type, message, timestamp, details) 11. Network_connections ('''__id PK__''', '''computer_id FK*(Computers.id)''', pid, local_address, remote_address, status, process_name, timestamp) 12. Security_alerts ('''__id PK__''', '''computer_id FK*(Computers.id)''', alert_type, severity, description, timestamp, resolved) === DDL скрипта за бришење на табелите и креирање на табелите === [attachment:ddl_sql.sql ddl_sql.sql] === DML скрипта за полнење на табелите со податоци === [attachment:dml.sql dml.sql] === Релациски дијаграм === [[Image(lan_logs_sysmon.png)]]