I.I.S.S. Alessandro Volta - Palermo
0 voti
Quale può essere un possibile schema logico?
quesito posto 15 Gennaio 2015 in Classe quinta da Gianni Messina Esperto (702 punti)
  

2 Risposte

0 voti
Tabella Account

CREATE TABLE IF NOT EXISTS `account`
( `USER_ID` bigint(20) NOT NULL AUTO_INCREMENT,
  `USER_MAIL` varchar(200) NOT NULL,
  `USER_PASSWORD` varchar(32) NOT NULL,
  `USER_NAME` varchar(200) NOT NULL,
  `USER_LAST_NAME` varchar(200) NOT NULL,
  `USER_ACTIVE` tinyint(1) NOT NULL,
  `USER_REG_DATE` datetime NOT NULL,
  `USER_LAST_DATE` datetime NOT NULL,
  `USER_LANG` tinyint(4) NOT NULL,
  `USER_REG_BY` bigint(20) NOT NULL,
  `USER_IS_ADMIN` tinyint(1) NOT NULL,
  `USER_IS_SUPERADMIN` tinyint(1) NOT NULL,
  `USER_JSON` text NOT NULL,
  `USER_CONTACT` int(11) DEFAULT NULL,
   PRIMARY KEY (`USER_ID`), UNIQUE KEY `USER_MAIL` (`USER_MAIL`), KEY `USER_ACTIVE` (`USER_ACTIVE`), KEY `USER_IS_ADMIN` (`USER_IS_ADMIN`), KEY `USER_IS_SUPERADMIN` (`USER_IS_SUPERADMIN`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

 

CREATE TABLE IF NOT EXISTS `profiles` (
`PROFILE_ID` bigint(20) NOT NULL AUTO_INCREMENT,
`PROFILE_NAME_IT` varchar(100) NOT NULL,
`PROFILE_CREATED_BY` bigint(20) NOT NULL,
`PROFILE_CREATION_DATE` datetime NOT NULL,
 PRIMARY KEY (`PROFILE_ID`), KEY `PROFILE_NAME_IT` (`PROFILE_NAME_IT`), KEY `PROFILE_CREATED_BY` (`PROFILE_CREATED_BY`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
risposta inviata 15 Gennaio 2015 da Gianni Messina Esperto (702 punti)
0 voti
Ipotetico schema Logico del Modello E/R fatto in laboratorio
 
creazione tabella account
 
CREATE TABLE IF NOT EXISTS `account`
( `id_account` int(20) NOT NULL AUTO_INCREMENT,
  `username` varchar(30) NOT NULL,
  `password` varchar(50) NOT NULL,
  `e-mail` varchar(50) NOT NULL,
  PRIMARY KEY (`id_account`))
 
creazione tabella profilo
 
CREATE TABLE IF NOT EXISTS `profilo`
( `id_profilo` int(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id_profilo`)
)
 
creazione tabella proflo_account
 
CREATE TABLE IF NOT EXISTS `profilo_account`
( `id_profilo_account` int(20) NOT NULL AUTO_INCREMENT,
  `id_profilo` int(20) NOT NULL,
  `id_account` int(20) NOT NULL,
  PRIMARY KEY (`id_profilo_account`),
FOREIGN KEY (id_profilo) REFERENCES profilo(id_profilo),
FOREIGN KEY (id_account) REFERENCES account(id_account))
 
creazione tabella  profilo_permessi
 
CREATE TABLE IF NOT EXISTS `profilo_permessi`
( `id_profilo_permessi` int(20) NOT NULL AUTO_INCREMENT,
  `id_profilo` int(20) NOT NULL,
  `id_permessi` int(20) NOT NULL,
  PRIMARY KEY (`id_profilo_permessi`),
FOREIGN KEY (id_profilo) REFERENCES profilo(id_profilo),
FOREIGN KEY (id_permessi) REFERENCES permessi(id_permessi))
 
creazione tabella  funzionalità
 
CREATE TABLE IF NOT EXISTS `funzionalità`
( `id_funzionalità` int(20) NOT NULL AUTO_INCREMENT,
  `elenco` varchar(50) NOT NULL,
  `descrizione` varchar(50) NOT NULL,
  PRIMARY KEY (`id_funzionalità`))
 
creazione tabella  profilo_funzionalità
 
CREATE TABLE IF NOT EXISTS `profilo_funzionalità`
( `id_profilo_funzionalità` int(20) NOT NULL AUTO_INCREMENT,
  `id_profilo` int(20) NOT NULL,
  `id_funzionalità` int(20) NOT NULL,
  PRIMARY KEY (`id_profilo_funzionalità`),
FOREIGN KEY (id_profilo) REFERENCES profilo(id_profilo);
FOREIGN KEY (id_funzionalità) REFERENCES funzionalità(id_funzionalità))
 
creazione tabella anagrafe
 
CREATE TABLE IF NOT EXISTS `anagrafe`
( `id_anagrafe` int(20) NOT NULL AUTO_INCREMENT,
  `nome` varchar(30) NOT NULL,
  `cognome` varchar(50) NOT NULL,
  `denominazione` varchar(50) NOT NULL,
 `note_descrittive` varchar(50) NOT NULL,
 `data_di_nascita` date(2) NOT NULL,
 `CF` varchar(25) NOT NULL,
 `id_recapiti` int(20) NOT NULL,
  PRIMARY KEY (`id_anagrafe`),
FOREIGN KEY (id_recapiti) REFERENCES recapiti(id_recapiti))
 
creazione tabella recapiti
 
CREATE TABLE IF NOT EXISTS `recapiti`
( `id_recapiti` int(20) NOT NULL AUTO_INCREMENT,
  `telefono` int(11) NOT NULL,
  `e-mail` varchar(50) NOT NULL,
  PRIMARY KEY (`id_recapiti`))
 
creazione tabella  indirizzo
 
CREATE TABLE IF NOT EXISTS `indirizzo`
( `id_indirizzo` int(20) NOT NULL AUTO_INCREMENT,
  `numero_civico` int(6) NOT NULL,
  `nome_comune` varchar(20) NOT NULL,
  `id_comune` int(20) NOT NULL,
  PRIMARY KEY (`id_indirizzo`)
FOREIGN KEY (id_comune) REFERENCES comune(id_comune))
 
creazione tabella  anagrafe_indirizzo
 
CREATE TABLE IF NOT EXISTS `anagrafe_indirizzo`
( `id_anagrafe_indirizzo` int(20) NOT NULL AUTO_INCREMENT,
  `id_anagrafe` int(20) NOT NULL,
  `id_indirizzo` int(20) NOT NULL,
  PRIMARY KEY (`id_anagrafe_indirizzo`),
FOREIGN KEY (id_anagrafe) REFERENCES anagrafe(id_anagrafe),
FOREIGN KEY (id_indirizzo) REFERENCES indirizzo(id_indirizzo))
 
creazione tabella comune
 
CREATE TABLE IF NOT EXISTS `comune`
( `id_comune` int(20) NOT NULL AUTO_INCREMENT,
  `provincia` varchar(30) NOT NULL,
  `regione` varchar(20) NOT NULL,
  `cap` varchar(5) NOT NULL,
`com_fisc` varchar(50) NOT NULL,  
`codice_istat` varchar(50) NOT NULL,
PRIMARY KEY (`id_comune`))
 
risposta inviata 20 Gennaio 2015 da Marco Scarpaci Corsista (94 punti)

Domande correlate

0 voti
1 risposta
+1 voto
1 risposta
+1 voto
1 risposta
710 domande
1,419 risposte
633 commenti
2,374 utenti