WzCzW/Disseny tècnic/db-alt1-SQL

De GERMINADOR wiki

Dreceres ràpides: navegació, cerca

< PLANTER <Disseny interacció < Disseny tècnic < Variant alt-1 base dades
de sistemes i projectes de creació col·lectiva en xarxa.

m.Lloc on hi ha les plantes nades, on es crien les plantes petites, destinades a ésser trasplantades; les mateixes plantes. (Diccionari IEC).

Disseny tècnic: Base de dades, codi SQL (variant alternativa-1)


Codi SQL de la proposta alt-1 de base de dades per Wikipool 0.1.0 :


-- MySQL
--
-- Host: localhost    Database: wikipool
-- ------------------------------------------------------
-- Server version	

-- Wikipool database version alt1-2007_11_20

-- Table structure for table `contents`
--

DROP TABLE IF EXISTS `contents`;
CREATE TABLE `contents` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `coordenates` varchar(255) NOT NULL,
  `size` varchar(255) NOT NULL,  
  `data` mediumtext character set utf8 collate utf8_unicode_ci NOT NULL,
  `css` varchar(255) NOT NULL,
  `content_type` int(11) unsigned NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

--
-- Table structure for table `snips`
-- Registre dels retalls

DROP TABLE IF EXISTS `snips`;
CREATE TABLE `snips` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `coordenates` varchar(255) NOT NULL,
  `css` varchar(255) NOT NULL,
  `status` bool NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

--
-- Table structure for table `contents2snips`
-- Relaciona continguts amb retalls

DROP TABLE IF EXISTS `contents2snips`;
CREATE TABLE `contents2snips` (
  `content_id` int(11) unsigned NOT NULL,
  `snip_id` int(11) unsigned NOT NULL,
  `age` timestamp (14) NOT NULL,
  KEY `snip_id` (`snip_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Table structure for table `contents2snips_old`
-- Historial

DROP TABLE IF EXISTS `contents2snips_old`;
CREATE TABLE `contents2snips_old` (
  `content_id` int(11) unsigned NOT NULL,
  `snip_id` int(11) unsigned NOT NULL,
  `from` timestamp (14) NOT NULL,
  `until` timestamp (14) NOT NULL,
  KEY `snip_id` (`snip_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Table structure for table `pos2snips_old`
-- Historial

DROP TABLE IF EXISTS `pos2snips_old`;
CREATE TABLE `pos2snips_old` (
  `snip_id` int(11) unsigned NOT NULL,
  `coordenates` varchar(255) NOT NULL,
  `from` timestamp (14) NOT NULL,
  `until` timestamp (14) NOT NULL,
  KEY `snip_id` (`snip_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Table structure for table `snips2pool`
--

DROP TABLE IF EXISTS `snips2pool`;
CREATE TABLE `snips2pool` (
  `snip_id` int(11) unsigned NOT NULL,
  `pool_id` int(11) unsigned NOT NULL,
  KEY `pool_id` (`pool_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;



--
-- Table structure for table `contents_type`
--

DROP TABLE IF EXISTS `contents_type`;
CREATE TABLE `contents_type` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `name` varchar(20) collate utf8_unicode_ci NOT NULL,
  `comments` varchar(100) collate utf8_unicode_ci NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;



--
-- Table structure for table `pool`
--

DROP TABLE IF EXISTS `pool`;
CREATE TABLE `pool` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `created_by` int(11) unsigned NOT NULL,
  `date_creation` timestamp (14) NOT NULL,
  `last_change` timestamp (14) NULL,
  `date_start` timestamp (14) NOT NULL COMMENT 'data-hora inici sessió, per defecte seria la mateixa que la data de creació però pot ser diferent si el que es vol és fer una convocatòria de sessió',
  `date_stop` timestamp (14) NOT NULL COMMENT 'data-hora de tancament de la pool per si es vol fer una sessió que duri un temps determinat i es tanqui automaticament',
  `group_permissions` varchar(255) NOT NULL COMMENT 'permissos per veure o editar segons tipus de usuari',
  `publicview` bool NOT NULL COMMENT 'si la sessió de wikipool serà o no visible en portada',
  `size` varchar(100) NOT NULL COMMENT 'mida de la pool en píxels',
  `css` text NOT NULL,
  `maxsnips` int(4) NOT NULL COMMENT 'nombre maxim de retalls, negatiu es que no hi ha límit',
  `status` bool NOT NULL COMMENT 'si la sessio esta oberta/editable (1) o tancada (0). En realitat ho podem saber per date_stop i també es pot regular per group_permisions pero aquest es un camp boolea facil i rapid de consultar, encara que sigui redundant',
  KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;



--
-- Table structure for table `stats_events`
--

DROP TABLE IF EXISTS `stats_events`;
CREATE TABLE `stats_events` (
  `id` int(11) NOT NULL auto_increment,
  `date` date NOT NULL,
  `pool_id` int(11) NOT NULL,
  `content_id` int(11) NOT NULL,
  `content_type` int(11) NOT NULL,
  `event_kind` int(11) NOT NULL COMMENT 'com ara: moviment, resize, etc...',
  `event_data` varchar(255) collate latin1_general_cs NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


--
-- Table structure for table `users`
--

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `username` varchar(255) collate utf8_unicode_ci NOT NULL,
  `comment` mediumtext collate utf8_unicode_ci NOT NULL,
  `passw` varchar(255) collate utf8_unicode_ci NOT NULL,
  `usergroup` int(11) unsigned NULL COMMENT 'grup al que pertany usuari, correspon a id taula Usergroups',
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Table structure for table `usergroups`
--

DROP TABLE IF EXISTS `usergroups`;
CREATE TABLE `usergroups` (
  `group_id` int(11) unsigned NOT NULL auto_increment,
  `groupname` varchar(255) collate utf8_unicode_ci NOT NULL,
  `comment` mediumtext collate utf8_unicode_ci NULL,
  KEY `group_id` (`group_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;