Tralasciando la discutibile scelta di utilizzare codeigniter, ma immagino che per la semplicità d'utilizzo faccia comodo a chi non saprebbe neppure come caricare un package.

Categorie di cosa? Stiamo parlando di una specie di forum?

Apparte che va nella sezione database.

codice:
CREATE TABLE `cats` (
    `id` TINYINT UNSIGNED AUTO_INCREMENT,
    `name` TEXT,
    `order` TINYINT UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Posizione della categoria',

    PRIMARY KEY(`id`)
)ENGINE=innoDB;

CREATE TABLE `posts` (
    `id` INT UNSIGNED AUTO_INCREMENT,
    `title` VARCHAR(255) NOT NULL DEFAULT '',
    `content` TEXT,
    `cat` INT UNSIGNED NOT NULL DEFAULT '0',
    `date` DATETIME COMMENT 'Data di pubblicazione, utilizzata anche per il sorting',
    
    PRIMARY KEY(`id`),
    INDEX(`cat`),
    FOREIGN KEY(`cat`) REFERENCES `cats`(`id`)
    ON DELETE CASCADE
)ENGINE=innoDB;