Linux QoS DB schema
Z Freenetis Wiki
Pro pochopení schematu je vhodné podívat se nejdřív na prezentaci o Linux QoS a U32 hashtables:
SDL - SQL
CREATE TABLE qos_qdiscs (
id INT AUTO_INCREMENT NOT NULL,
qos_qdisc_parent_id INT NOT NULL,
interface_id INT NOT NULL,
qdisc_id INT,
Parent_id INT NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX fk_qos_qdiscs_qos_qdiscs1 USING BTREE
ON qos_qdiscs
( qos_qdisc_parent_id ASC );
CREATE INDEX fk_qos_qdiscs_devices1 USING BTREE
ON qos_qdiscs
( interface_id ASC );
CREATE TABLE qos_hash_tables (
id INT AUTO_INCREMENT NOT NULL,
htid INT,
buckets INT,
qos_qdiscs_id INT NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX fk_qos_hash_tables_qos_qdiscs1 USING BTREE
ON qos_hash_tables
( qos_qdiscs_id ASC );
CREATE TABLE qos_classes (
id INT AUTO_INCREMENT NOT NULL,
rate INT,
ceil INT,
classid INT,
direction TINYINT,
qos_qdiscs_id INT NOT NULL,
PRIMARY KEY (id)
);
ALTER TABLE qos_classes MODIFY COLUMN classid INTEGER COMMENT 'd it must be de';
CREATE INDEX fk_qos_classes_qos_qdiscs1 USING BTREE
ON qos_classes
( qos_qdiscs_id ASC );
CREATE TABLE subnets_has_qos_classes (
subnets_id INT NOT NULL,
qos_classes_id INT NOT NULL,
PRIMARY KEY (subnets_id, qos_classes_id)
);
CREATE INDEX fk_subnets_has_qos_classes_qos_classes1 USING BTREE
ON subnets_has_qos_classes
( qos_classes_id ASC );
CREATE TABLE qos_filters (
id INT AUTO_INCREMENT NOT NULL,
filterid INT,
priority INT,
qos_hash_tables_id INT NOT NULL,
qos_classes_id INT NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX fk_qos_filters_qos_hash_tables1 USING BTREE
ON qos_filters
( qos_hash_tables_id ASC );
CREATE INDEX fk_qos_filters_qos_classes1 USING BTREE
ON qos_filters
( qos_classes_id ASC );
CREATE TABLE members_has_qos_classes (
members_id INT NOT NULL,
qos_classes_id INT NOT NULL,
PRIMARY KEY (members_id, qos_classes_id)
);
CREATE INDEX fk_members_has_qos_classes_qos_classes1 USING BTREE
ON members_has_qos_classes
( qos_classes_id ASC );
CREATE TABLE ip_addresses_has_qos_classes (
ip_addresses_id INT NOT NULL,
qos_classes_id INT NOT NULL,
PRIMARY KEY (ip_addresses_id, qos_classes_id)
);
CREATE INDEX fk_ip_addresses_has_qos_classes_qos_classes1 USING BTREE
ON ip_addresses_has_qos_classes
( qos_classes_id ASC );
ALTER TABLE subnets_has_qos_classes ADD CONSTRAINT fk_subnets_has_classes_subnets1
FOREIGN KEY (subnets_id)
REFERENCES subnets (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE members_has_qos_classes ADD CONSTRAINT fk_members_has_qos_classes_members1
FOREIGN KEY (members_id)
REFERENCES members (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE ip_addresses_has_qos_classes ADD CONSTRAINT fk_ip_addresses_have_classes_ip_addresses1
FOREIGN KEY (ip_addresses_id)
REFERENCES ip_addresses (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE qos_qdiscs ADD CONSTRAINT fk_qdiscs_ifaces
FOREIGN KEY (interface_id)
REFERENCES interfaces (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE qos_classes ADD CONSTRAINT fk_classes_qdiscs1
FOREIGN KEY (id)
REFERENCES qos_qdiscs (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE qos_hash_tables ADD CONSTRAINT fk_hash_tables_qdiscs1
FOREIGN KEY (id)
REFERENCES qos_qdiscs (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE qos_qdiscs ADD CONSTRAINT fk_qdiscs_qdiscs1
FOREIGN KEY (Parent_id)
REFERENCES qos_qdiscs (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE qos_filters ADD CONSTRAINT fk_filters_hash_tables1
FOREIGN KEY (qos_hash_tables_id)
REFERENCES qos_hash_tables (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE ip_addresses_has_qos_classes ADD CONSTRAINT fk_ip_addresses_has_classes_classes1
FOREIGN KEY (qos_classes_id)
REFERENCES qos_classes (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE members_has_qos_classes ADD CONSTRAINT fk_members_has_classes_classes1
FOREIGN KEY (qos_classes_id)
REFERENCES qos_classes (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE qos_filters ADD CONSTRAINT fk_filters_classes1
FOREIGN KEY (qos_classes_id)
REFERENCES qos_classes (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE subnets_has_qos_classes ADD CONSTRAINT fk_subnets_has_classes_classes1
FOREIGN KEY (qos_classes_id)
REFERENCES qos_classes (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
