4E SIA - ITE A. Bassi di Lodi - Primo esercizio: database Farmacia Lodi ver. 1.0



In questa prima lezione sui database in laboratorio (12/marzo 2018) si presenta la soluzione della studentessa Anna Franceschetti di 5D SIA.



Il progetto è stato realizzato l'anno 2016-2017 quando l'alunna frequentava il quarto anno.


Questa è la prima versione, molto semplice con pochi campi, potremmo definirla versione 1.0, utile per capire l'astrazione dei modelli logici da una realtà e la creazione del prodotto con PhpMyAdmin e la gestione delle tabelle con il Php.


Sul sito di Anna c'è un'altra versione più completa dell'applicativo Farmacia.


Traccia del problema 


Si vuole progettare una base di dati per gestire informazioni sui Farmaci e sulla Farmacia Franceschetti. 

Per ogni farmaco deve essere indicato: - il codice; - il nome; - il prezzo; - la casa produttrice; - il principio attivo. 

La base di dati deve essere progettata per poter:
a)modificare i records presenti nella tabella farmaci, 
b)cancellare i records presenti nella tabella farmaci,
c)aggiungere eventuali farmaci in possesso dalla Farmacia Franceschetti. 

Analisi del problema 

Accedendo nella Farmacia Franceschetti tramite username e password corretti, nella farmacia è possibile: 
1) visualizzare l’elenco dei farmaci contenuti all’interno di PhpMyAdmin (database contenente le tabelle farmaco, ditta e principi), 
2) l’inserimento di un nuovo farmaco, 
3) la cancellazione di un farmaco, 
4) la modificazione di un farmaco





Sql

CREATE TABLE IF NOT EXISTS `ditta`
( `IDDitta` varchar(20) NOT NULL,
 `NomeDitta` varchar(20) DEFAULT NULL,
 PRIMARY KEY (`IDDitta`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `farmaco`
( `Codice` varchar(20) NOT NULL,
 `Denominazione` varchar(40) DEFAULT NULL,
 `Descrizione` varchar(255) DEFAULT NULL,
 `Prezzo` decimal(12,0) DEFAULT NULL,
 `ATC` varchar(20) DEFAULT NULL,
 `IDDitta` varchar(20) DEFAULT NULL,
 `DataAutMin` date DEFAULT NULL,
 PRIMARY KEY (`Codice`),
 KEY `ATC` (`ATC`),
 KEY `farmaco_ibfk_2` (`IDDitta`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `principi`
( `ATC` varchar(20) NOT NULL,
 `Principioattivo` varchar(15) DEFAULT NULL,
 PRIMARY KEY (`ATC`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `farmaco`
 ADD CONSTRAINT `farmaco_ibfk_2` FOREIGN KEY (`IDDitta`) REFERENCES `ditta`
(`IDDitta`),
 ADD CONSTRAINT `farmaco_ibfk_1` FOREIGN KEY (`ATC`) REFERENCES `principi`
(`ATC`);

INSERT INTO `ditta` (`IDDitta`, `NomeDitta`) VALUES
('140', 'FOURINIER PHARMA S.P'),
('168', 'HOSPIRE S.P.A.'),
('180', 'INDUSTRIA FARMACEUTI'),
('228', 'LABORATORIO FARMACEU'),
('310', 'PHARMACIA ITALIA S.P'),
('334', 'RECORDATI INDUSTRIA '),
('355', 'SCHWARZ PHARMA S.P.A'),
('377', 'TEOFARMA S.R.L.'),
('401', 'WYETH MEDICA IRELAND'),
('42 ', 'AVENTIS PHARMA S.P.A'),
('6', 'A.M.S.A. S.R.L.'),
('69 ', 'BRACCO S.P.A.'),
('70', 'BRISTOL MYERS SQUIBB');

INSERT INTO `principi` (`ATC`, `Principioattivo`) VALUES
('B03BB01', 'ACIDO FOLICO'),
('D06AX02', 'CLORAMFENICOLO'),
('G03BA03', 'TESTOSTERONE'),
('G03CA57', 'ESTROGENI CONIU'),
('G03GA01', 'GONADOTROPINA C'),
('J01GA01', 'STREPTOMICINA'),
('N01AF03', 'TIOPENTAL'),
('N03AA02', 'FENOBARBITAL'),
('N03AB02', 'FENITOINA'),
('N04AA01', 'TRIESIFENIDILE'),
('P01CB01', 'MEGLUMINA'),
('R03DA04', 'TEOFILLINA');

INSERT INTO `farmaco` (`Codice`, `Denominazione`, `Descrizione`, `Prezzo`, `ATC`,
`IDDitta`, `DataAutMin`) VALUES
('001537012', 'FARMOTAL', '500MG IN POLVERE PER SOLUZIONE PER INFUSIONE 1 FLACONE', '6',
'N01AF03', '310', '1996-08-03'),
('001801012', 'GLUCANTIM', '1.5 G/5 ML SOLUZIONE INIETTABILE PER USO INTRAMUSCOLARE', '4',
'P01CB01', '42', '1997-05-12'),
('002021069', 'TEFAMIN', 'ELISIR 1 FLAC. 200 ML 1.58%', '3', 'N03AB02', '334', '2002-03-15'),
('002129017', 'DINTONIA', '30 COMPRESSE RIVESTITE 100 MG', '2', 'R03DA04', '334', '2001-11-05'),
('002309033', 'FOLINA', '15 MG/2 SOLUZIONE INIETTABILI PER USO I.M 5 FIALETTE', '2', 'B03BB01',
'355', '1998-04-14'),
('002309045', 'FOLINA', '5 MG CAPSULE RIGDE 20 CAPSULE', '2', 'B03BB01', '355', '2001-11-01'),
('002347019', 'PENTOTHAL SODIUM', '1 FLACONE 0.5G', '6', 'N01AF03', '168', '1999-08-11');

Link relazione:
http://annafranceschetti.altervista.org/4Dsia/informatica/farmaciaultima/farmaciarelazione.pdf


Link applicazione: http://annafranceschetti.altervista.org/4Dsia/informatica/farmaciaultima/index2.php

Link sito didattico di Anna Franceschetti:
http://annafranceschetti5.wixsite.com/annafranceschetti

Link per studiare ed approfondire i database e PhpMySql:
http://www.webalice.it/paolo.latella/Guida_DataBase_SQL.pdf
http://www.webalice.it/paolo.latella/GuidaPhpMyAdmin.pdf



Libro gratuito realizzato dal prof. Paolo Latella per il secondo biennio corso SIA (3-4 anno):http://www.bassi.gov.it/documents/PLATELLA/ebook%20sul%20php%20in%20formato%20pdf.pdf

Gli strumenti didattici del prof. Paolo Latella (tutto rigorosamente gratuito)
https://paololatella.blogspot.it/p/la-valigia-cassettadegli-strumenti.html


Commenti