Questo sito utilizza cookie anche di terze parti. Per avere maggiori informazioni e per negare il tuo consenso al l'utilizzo dei cookie clicca qui. Se prosegui la navigazione acconsenti all'utilizzo dei cookie.OK
  • salta al contenuto

Documentazione openDCN

Strumenti Utente

  • Entra

Strumenti Sito

  • Ultime modifiche
  • Informativa sui cookie
Ti trovi qui: start » il_modello_generale

il_modello_generale

Questa è una vecchia versione del documento!


Modello ER generale


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.

Le entità evidenziate in azzurro sono quelle principali, ovvero quelle che sono più interconnesse con altre entità; quelle evidenziate in verde (con il doppio bordo) rappresentano invece i sottoinsiemi degli strumenti agenda, meeting, consultazione certificata, discussione informata e risorse.



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;


CREATE TABLE  `contents` (
 `id` int(11) NOT NULL auto_increment,
 `title` text,
 `content` text,
 `visible` tinyint(4) NOT NULL default '0',
 `enable_html` tinyint(4) NOT NULL default '0',
 `strip_tags` tinyint(4) NOT NULL default '1',
PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


CREATE TABLE  `wiki_documents` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `title` varchar(255) NOT NULL,
 `status` tinyint(3) unsigned NOT NULL,
 `tool` varchar(45) NOT NULL,
 `tool_id` int(10) unsigned NOT NULL,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

ALTER TABLE `wiki_documents` ADD COLUMN `status` TINYINT UNSIGNED NOT NULL AFTER `title`,
ADD COLUMN `tool` VARCHAR(45) NOT NULL AFTER `status`,
ADD COLUMN `tool_id` INTEGER UNSIGNED NOT NULL AFTER `tool`;


CREATE TABLE  `subscribers` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `owner` text NOT NULL,
 `subject` text NOT NULL,
 `action` text NOT NULL,
 `owner_id` text NOT NULL,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


CREATE TABLE  `logs` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `owner` varchar(45) NOT NULL,
 `subject` varchar(255) NOT NULL,
 `action` varchar(255) NOT NULL,
 `object` varchar(255) NOT NULL,
 `path` varchar(255) NOT NULL,
 `ip` VARCHAR(45) NOT NULL,
 `created` datetime NOT NULL,
 `message` text NOT NULL,
 `type` varchar(45) NOT NULL,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM;
ALTER TABLE `logs` ADD COLUMN `ip` VARCHAR(45) NOT NULL AFTER `path`;


CREATE TABLE `texts` (
 `id` INT NOT NULL ,
 `name` TEXT NOT NULL ,
 `text` TEXT NOT NULL ,
 `date_creation` DATETIME NOT NULL ,
 `date_modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
 `language` VARCHAR( 3 ) NOT NULL
) ENGINE = MYISAM ;


CREATE TABLE `tokens` (
 `id` INT NOT NULL ,
 `token` CHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
 `user_id` INT NOT NULL ,
 `expiration` DATETIME NOT NULL ,
 `created` DATETIME NOT NULL ,
 `modified` DATETIME NOT NULL ,
PRIMARY KEY ( `id` ) ,
INDEX ( `token` , `user_id` )
) ENGINE = MYISAM 


CREATE TABLE  `variables` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `owner` varchar(45) NOT NULL,
 `name` varchar(255) NOT NULL,
 `value` text NOT NULL,
 `type` varchar(45) NOT NULL,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


il_modello_generale.1280757754.txt.gz · Ultima modifica: 05/06/2013 17:08 (modifica esterna)

Strumenti Pagina

  • Mostra sorgente
  • Revisioni precedenti
  • Puntano qui
  • Torna su
Ad eccezione da dove è diversamente indicato, il contenuto di questo wiki è soggetto alla seguente licenza: CC Attribution-Noncommercial-Share Alike 3.0 Unported
CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki