Linux QoS DB schema

Z Freenetis Wiki
Přejít na: navigace, hledání

Schema je na obrázku níže: Linux qos db schema.png

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;