Database
CREATE TABLE Switch
(
pk_switch_id INTEGER PRIMARY KEY AUTOINCREMENT,
hostname varchar(20) UNIQUE
);
CREATE TABLE VLAN
(
pk_vlan_id INTEGER PRIMARY KEY,
name varchar(20)
);
CREATE TABLE Interface
(
pk_interface_id INTEGER PRIMARY KEY AUTOINCREMENT,
fk_switch_id INTEGER,
fk_access_vlan_id INTEGER,
fk_voice_vlan_id INTEGER,
end_device_name varchar(20),
int_name varchar(10),
int_description varchar(20),
has_security boolean,
allowed_mac varchar(17),
status INT, /* -1=admin_down, 0=down, 1=up */
protocol boolean,
connected_switch int,
connected_sw_interface varchar(10),
CONSTRAINT switch_interface FOREIGN KEY (fk_switch_id) REFERENCES Switch (pk_switch_id) ON DELETE CASCADE,
CONSTRAINT vlan_interface FOREIGN KEY (fk_access_vlan_id) REFERENCES VLAN (pk_vlan_id) ON DELETE SET NULL,
CONSTRAINT voice_vlan FOREIGN KEY (fk_voice_vlan_id) REFERENCES VLAN (pk_vlan_id) ON DELETE SET NULL,
CONSTRAINT conntected_switch FOREIGN KEY (connected_switch) REFERENCES Switch (pk_switch_id) ON DELETE SET NULL
);
CREATE TABLE Switch_VLAN
(
fk_switch_id INTEGER,
fk_vlan_id INTEGER,
CONSTRAINT vlan_switch FOREIGN KEY (fk_switch_id) REFERENCES Switch (pk_switch_id) ON DELETE CASCADE,
CONSTRAINT switch_vlan FOREIGN KEY (fk_vlan_id) REFERENCES VLAN (pk_vlan_id) ON DELETE CASCADE
);
CREATE TABLE Trunking
(
fk_interface_id INTEGER,
fk_allowed_vlan_id INTEGER,
CONSTRAINT trunk_interface FOREIGN KEY (fk_interface_id) REFERENCES Interface (pk_interface_id) ON DELETE CASCADE,
CONSTRAINT trunk_vlan FOREIGN KEY (fk_allowed_vlan_id) REFERENCES VLAN (pk_vlan_id) ON DELETE CASCADE
);
Tabellen
VLAN
VLAN ist die Tabelle für die VLANs im gesamten Netzwerk. In dieser Tabelle werden VLAN-ID und der dazugehörige Name gespeichert.
name- Name des VLANspk_vlan_id- ID des VLANs
Trunking
Die Trunking-Tabelle dient dazu, um die getrunkten VLANs zu den jeweiligen Interfaces zu mappen.
fk_interface_id- Interface auf welchem ein VLAN getrunked wird; Pointed auf Interface(pk_interface_id)fk_allowed_vlan_id- VLAN welches auf einem Interface getrunked wird; Pointed auf VLAN(pk_vlan_id)
Interface
Die Interface-Tabelle speichert sämtliche Informationen zu allen Interfaces von Interface Description bis VLANs.
fk_switch_id- ID von dem Switch dem das Inteface gehört; Pointed auf Switch(pk_switch_id)fk_access_vlan- ID von dem VLAN welches als Access VLAN auf dem Interface konfiguriert ist; Pointed auf VLAN(pk_vlan_id)fk_voice_vlan- ID von dem VLAN welches als Voice VLAN auf dem Interface konfiguriert ist; Pointed auf VLAN(pk_vlan_id)end_device_name- Name des ageschlossenen Endgerätesint_name- Interface Bezeichnung auf dem Switchint_description- Description auf dem Interfacehas_security- Boolean Feld für das Vorhandensein von Switchport Port-Securityallowed_mac- MAC welche von Switchport Security erlaubt wirdstatus- Status vom Interface (-1 =admin_down, 0 =down, 1 =up)protocol- Boolean für Protocol Status (Up / Down)connected_switch- Der verbundene Switch auf dem Interfaceconnected_sw_interface- Das gegenüberliegende Interface des verbundenen Switches
Switch_VLAN
Die Switch_VLAN-Tabelle gibt an welche VLANs auf welchen Switches vorhanden ist.
fk_switch_id- ID von dem Switch auf dem das VLAN vorhanden ist; Pointed auf Switch(pk_switch_id)fk_vlan_id- VLAN welches auf dem Switch vorhanden ist; Pointed auf VLAN(pk_vlan_id)
Switch
Die Switch-Tabelle beinhaltet jeden Switch im gesamten Netzwerk.
pk_switch_id- ID von dem Switchhostname- Hostname auf dem Switch
Constraints
VLAN(pk_vlan_id)
AUTOINCREMENTON DELETE CASCADE→ Trunking(fk_allowed_vlan_id)ON DELETE CASCADE→ Switch_VLAN(fk_vlan_id)ON DELETE SET NULL→ Interface(fk_access_vlan)ON DELETE SET NULL→ Interface(fk_voice_vlan_id)
Switch(pk_switch_id)
AUTOINCREMENTON DELETE CASCADE→ Switch_Vlan(fk_switch_id)ON DELETE CASCADE→ Interface(fk_switch_id)
Interface(pk_interface_id)
AUTOINCREMENTON DELETE CASCADE→ Trunking(fk_interface_id)