-- phpMyAdmin SQL Dump -- version 5.1.1 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1 -- Creato il: Feb 09, 2022 alle 17:48 -- Versione del server: 10.4.21-MariaDB -- Versione PHP: 8.0.10 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `azienda` -- -- -------------------------------------------------------- -- -- Struttura della tabella `componenti` -- CREATE TABLE `componenti` ( `id_comp` varchar(5) NOT NULL, `nome_componente` varchar(30) NOT NULL, `costo_unitario` double NOT NULL, `fornitore` varchar(30) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dump dei dati per la tabella `componenti` -- INSERT INTO `componenti` (`id_comp`, `nome_componente`, `costo_unitario`, `fornitore`) VALUES ('C001', 'Componente01', 0.3, 'Fornitore1'), ('C002', 'Componente02', 0.5, 'Fornitore1'), ('C003', 'Componente03', 0.3, 'Fornitore1'), ('C004', 'Componente04', 0.25, 'Fornitore2'), ('C005', 'Componente05', 0.1, 'Fornitore2'), ('C006', 'Componente06', 0.05, 'Fornitore2'), ('C007', 'Componente07', 0.05, 'Fornitore3'), ('C008', 'Componente08', 0.1, 'Fornitore3'), ('C009', 'Componente09', 0.5, 'Fornitore3'), ('C010', 'Componente10', 0.4, 'Fornitore3'), ('C011', 'Componente11', 0.2, 'Fornitore4'), ('C012', 'Componente12', 0.05, 'Fornitore4'), ('C013', 'Componente13', 0.05, 'Fornitore4'), ('C014', 'Componente14', 0.2, 'Fornitore4'), ('C015', 'Componente15', 0.15, 'Fornitore5'), ('C020', 'Componente20', 0.15, 'Fornitore5'); -- -- Trigger `componenti` -- DELIMITER $$ CREATE TRIGGER `Aggiorna_costi_componenti` AFTER UPDATE ON `componenti` FOR EACH ROW BEGIN IF NEW.costo_unitario <> OLD.costo_unitario THEN INSERT INTO cronologia_costi_componenti VALUES (OLD.id_comp, OLD.nome_componente, OLD.costo_unitario, CURRENT_DATE()); END IF; END $$ DELIMITER ; -- -------------------------------------------------------- -- -- Struttura della tabella `composizione` -- CREATE TABLE `composizione` ( `id_prod` varchar(5) NOT NULL, `id_comp` varchar(5) NOT NULL, `unita_comp` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dump dei dati per la tabella `composizione` -- INSERT INTO `composizione` (`id_prod`, `id_comp`, `unita_comp`) VALUES ('P001', 'C001', 2), ('P001', 'C002', 2), ('P002', 'C001', 1), ('P002', 'C003', 3), ('P002', 'C004', 3), ('P003', 'C002', 2), ('P004', 'C008', 2), ('P004', 'C009', 2), ('P004', 'C010', 1), ('P004', 'C015', 1), ('P005', 'C012', 7), ('P005', 'C013', 3); -- -------------------------------------------------------- -- -- Struttura della tabella `dipartimenti` -- CREATE TABLE `dipartimenti` ( `id_dip` varchar(3) NOT NULL, `nome` varchar(30) NOT NULL, `localita` varchar(30) NOT NULL, `provincia` varchar(2) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dump dei dati per la tabella `dipartimenti` -- INSERT INTO `dipartimenti` (`id_dip`, `nome`, `localita`, `provincia`) VALUES ('D1', 'primo dipartimento', 'Via X Milano', 'MI'), ('D2', 'secondo dipartimento', 'Via Y Brescia', 'BS'), ('D3', 'terzo dipartimento', 'Via Z Milano', 'MI'), ('D4', 'quarto dipartimento', 'Via w Brescia', 'BS'), ('D5', 'quinto dipartimento', 'Via F Brescia', 'BS'); -- -------------------------------------------------------- -- -- Struttura della tabella `personale` -- CREATE TABLE `personale` ( `matricola` varchar(5) NOT NULL, `nominativo` varchar(30) NOT NULL, `data_nascita` date NOT NULL, `qualifica` varchar(3) DEFAULT NULL, `stipendio` float NOT NULL, `id_dip` varchar(3) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dump dei dati per la tabella `personale` -- INSERT INTO `personale` (`matricola`, `nominativo`, `data_nascita`, `qualifica`, `stipendio`, `id_dip`) VALUES ('00013', 'ROSSI PIERO', '1983-02-17', 'Q1', 1630, 'D1'), ('00034', 'NERI GIOVANNI', '1974-08-05', 'Q5', 2930, 'D2'), ('00075', 'ARNETTI ENNIO', '1967-01-15', 'Q4', 4750, 'D4'), ('04346', 'BELLI DANIELA', '1977-02-25', 'Q1', 3740, 'D3'), ('04434', 'VERDI MARCO', '1977-05-09', 'Q4', 2280, 'D2'), ('04450', 'SANDRI DONATA LUIGINA', '1979-05-01', NULL, 3070, 'D3'), ('04532', 'GIANNINI PIETRO', '1978-06-04', 'Q1', 3200, 'D3'), ('04541', 'TESINI MARIO', '1978-12-28', 'Q3', 3740, 'D3'), ('04551', 'BIANCHI MAURO', '1968-07-09', 'Q1', 1180, 'D1'), ('04717', 'PIERINI MARIO', '1969-06-20', 'Q5', 2520, 'D2'), ('04794', 'CARLETTI PAOLO', '1981-02-04', 'Q3', 2270, 'D2'), ('05019', 'SOLDANI GIULIO', '1983-03-27', 'Q4', 4900, 'D4'), ('05462', 'LAPINI PAOLO', '1977-01-11', 'Q2', 3960, 'D3'), ('05477', 'BRESCHI CARLA', '1976-05-02', 'Q3', 4200, 'D4'); -- -------------------------------------------------------- -- -- Struttura della tabella `prodotti` -- CREATE TABLE `prodotti` ( `id_prod` varchar(5) NOT NULL, `id_dip` varchar(5) NOT NULL, `nome_prodotto` varchar(30) NOT NULL, `prezzo` double NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dump dei dati per la tabella `prodotti` -- INSERT INTO `prodotti` (`id_prod`, `id_dip`, `nome_prodotto`, `prezzo`) VALUES ('P001', 'D1', 'Prodotto1', 5), ('P002', 'D1', 'Prodotto2', 7), ('P003', 'D2', 'Prodotto3', 3), ('P004', 'D4', 'Prodotto4', 5), ('P005', 'D5', 'Prodotto5', 5), ('P010', 'D3', 'Prezzo negativo', 0), ('P011', 'D1', 'Prezzo maggiore 250', 250); -- -- Indici per le tabelle scaricate -- -- -- Indici per le tabelle `componenti` -- ALTER TABLE `componenti` ADD PRIMARY KEY (`id_comp`); -- -- Indici per le tabelle `composizione` -- ALTER TABLE `composizione` ADD PRIMARY KEY (`id_prod`,`id_comp`), ADD KEY `id_comp` (`id_comp`), ADD KEY `id_prod` (`id_prod`); -- -- Indici per le tabelle `dipartimenti` -- ALTER TABLE `dipartimenti` ADD PRIMARY KEY (`id_dip`); -- -- Indici per le tabelle `personale` -- ALTER TABLE `personale` ADD PRIMARY KEY (`matricola`), ADD KEY `id_dip` (`id_dip`); -- -- Indici per le tabelle `prodotti` -- ALTER TABLE `prodotti` ADD PRIMARY KEY (`id_prod`), ADD KEY `id_dip` (`id_dip`); -- -- Limiti per le tabelle scaricate -- -- -- Limiti per la tabella `composizione` -- ALTER TABLE `composizione` ADD CONSTRAINT `composizione_ibfk_1` FOREIGN KEY (`id_comp`) REFERENCES `componenti` (`id_comp`), ADD CONSTRAINT `composizione_ibfk_2` FOREIGN KEY (`id_prod`) REFERENCES `prodotti` (`id_prod`); -- -- Limiti per la tabella `personale` -- ALTER TABLE `personale` ADD CONSTRAINT `personale_ibfk_1` FOREIGN KEY (`id_dip`) REFERENCES `dipartimenti` (`id_dip`); -- -- Limiti per la tabella `prodotti` -- ALTER TABLE `prodotti` ADD CONSTRAINT `prodotti_ibfk_1` FOREIGN KEY (`id_dip`) REFERENCES `dipartimenti` (`id_dip`); COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;