Questa è una vecchia versione del documento!
Il modello ER permette di capire la struttura delle tabelle che compongono gli strumenti di openDCN.
Nota:
in ogni schema vengono riportate solo le chiavi primarie e gli attributi più utili nell'identificare le relazioni tra le entità.
Di seguito al modello verranno riportati i codici SQL utilizzati per creare le tabelle all'interno del database del sistema.
SQL delle tabelle:
CREATE TABLE `users` ( `id` int(11) NOT NULL auto_increment, `username` varchar(255) NOT NULL default '', `password` varchar(36) NOT NULL default '', `first_name` varchar(255) default '', `last_name` varchar(255) default '', `email` varchar(255) NOT NULL default '', `showemail` tinyint(1) NOT NULL default '0', `admin` tinyint(1) NOT NULL default '0', `active` tinyint(1) NOT NULL default '0', `created` datetime default NULL, `modified` datetime default NULL, PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`), UNIQUE KEY `email` (`email`) ) ENGINE=MyISAM
CREATE TABLE `groups_users` ( `group_id` int(10) unsigned NOT NULL, `user_id` int(10) unsigned NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
CREATE TABLE `groups` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(45) collate latin1_general_ci NOT NULL, `description` tinytext collate latin1_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
CREATE TABLE `rating` ( `id` int(11) NOT NULL auto_increment, `agreement` int(11) default NULL, `relevance` int(11) default NULL, `user_id` int(11) NOT NULL, `anonymous_id` int(11) NOT NULL, `created` datetime NOT NULL, `modified` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM
CREATE TABLE `blocksets` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(64) NOT NULL default '', `description` tinytext NOT NULL, `template` varchar(32) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `paths` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(255) NOT NULL default '', `blockset_id` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `blocksets_blocks` ( `blockset_id` int(10) unsigned NOT NULL auto_increment, `area` varchar(32) NOT NULL default '', `weight` smallint(5) unsigned NOT NULL default '0', `block_id` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`blockset_id`,`block_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ALTER TABLE `blocksets_blocks` DROP PRIMARY KEY, ADD PRIMARY KEY USING BTREE(`blockset_id`, `block_id`, `area`);
CREATE TABLE `blocks` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(64) NOT NULL default '', `visible` text NOT NULL, `owner` varchar(64) NOT NULL default '', `handler` varchar(255) NOT NULL default '', `check` varchar(32) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM;
CREATE TABLE `roles` ( `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `owner` VARCHAR(255) NOT NULL, `object` VARCHAR(255) NOT NULL, `role` VARCHAR(255) NOT NULL, `user_id` INTEGER UNSIGNED NOT NULL, PRIMARY KEY (`id`) ) ENGINE = MyISAM;
CREATE TABLE `menu` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `parent` INT NOT NULL , `left` INT NOT NULL , `right` INT NOT NULL , `title` varchar(50) NOT NULL, `link` varchar(50) NOT NULL ) ENGINE = MYISAM ;
CREATE TABLE `permissions` ( `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `owner` VARCHAR(45) NOT NULL, `subject` VARCHAR(45) NOT NULL, `action` VARCHAR(45) NOT NULL, `object` VARCHAR(45) NOT NULL, `grant` BOOLEAN NOT NULL, PRIMARY KEY(`id`) ) ENGINE = MYISAM;