Fondamenti delle basi di dati

Corso MySQL a cura del prof. Pietro De Paolis

Soluzione traccia seconda prova scritta

Esame di stato 2005/06 (traccia anno 2005-06.pdf)

Indirizzo: Informatica

Tema di: Informatica generale e applicazioni tecnico-scientifiche

Di questa pagina esiste una versione completa di software funzionante in rete.

1 - Lo schema concettuale e lo schema logico del database;

2 - La definizione delle relazioni in linguaggio SQL.

 

1 - Tabella utenti

codiceutente cognome nome scuola comune email nomeutente password gruppo
01 Bianchi Gerardo ITIS Milano sss@www.it mionickname SSS1111 studente
02 Rossi Antonio classico Roma sss@www.it mionickname  ww33eee docente
                 
980 Merlino Giuseppe scientifico Venezia sss@www.it mionickname www111ww studente

Il nostro comando completo in MySQL sarà:

CREATE TABLE utenti (codiceutente INT(7) not null AUTO_INCREMENT, cognome CHAR(50), nome CHAR(50), scuola CHAR(50), comune CHAR(50), email CHAR(50), nomeutente CHAR (50), password CHAR(50), gruppo CHAR(50),  PRIMARY KEY(codiceutente) ) 

2 - Tabella upload:

codiceinvio titolo tipo descrizione data codiceutente
01 La riforma testo descrizione riforma 20/12/2005 051
02 protfolio testo descrizione portfolio 15/10/2005 125
03 valutazione audio descrizione valutazione 08/09/2005 525

Il nostro comando completo in MySQL sarà:

CREATE TABLE upload (codiceinvio INT(7) not null AUTO_INCREMENT, titolo CHAR(50), tipo CHAR(50), descrizione TEXT, data CHAR(10), codiceutente CHAR(7),  PRIMARY KEY(codiceinvio) ) 

3 - Tabella moduliesistenti:

codicemodulo titolo descrizione tipo
01 La riforma descrizione riforma docente
02 protfolio descrizione portfolio docente
03 valutazione descrizione valutazione studente

Il nostro comando completo in MySQL sarà:

CREATE TABLE moduliesistenti (codicemodulo INT(7) not null AUTO_INCREMENT, titolo CHAR(50), descrizione TEXT, tipo CHAR(20),   PRIMARY KEY(codicemodulo) ) 

3 - Tabella moduliscelti:

numeroscelti codicemodulo codiceutente
01 05 500
02 02 325
03 03 750
04 02 323
05 03 755

Il nostro comando completo in MySQL sarà:

CREATE TABLE moduliscelti (numeroscelti INT(7) not null AUTO_INCREMENT, codicemodulo INT(7), codiceutente INT(7),   PRIMARY KEY(numeroscelti) ) 

 

- implementi almeno una delle seguenti query:

n. 1: I docenti che hanno un account presso la community con la rispettiva collocazione geografica ed i moduli formativi scelti

Il nostro comando completo in MySQL sarà:

SELECT utenti.cognome, utenti.nome, utenti.scuola, utenti.comune, moduliesistenti.titolo, moduliesistenti.descrizione FROM utenti INNER JOIN moduliscelti INNER JOIN moduliesistenti ON utenti.codiceutente=moduliscelti.codiceutente AND moduliscelti.codicemodulo=moduliesistenti.codicemodulo AND utenti.gruppo='docente' 

 

n. 2: I dati relativi agli studenti e ai documenti che essi hanno inviato in remoto sul portale della community mediante upload

Il nostro comando completo in MySQL sarà:

SELECT utenti.cognome, utenti.nome utenti.scuola, utenti.comune, upload.titolo, upload.tipo, upload.descrizione, upload.data  FROM upload INNER JOIN utenti ON  upload.codiceutente=utenti.codiceutente WHERE utenti.nomeutente='$nomeutente'

 

dove $nomeutente sarà la variabile php che sarà passata dall'interfaccia di ricerca.

- scriva, in un linguaggio lato server, il codice di almeno una delle seguenti pagine del portale:

Il nostro programma completo in php per la ricerca dei dati dei docenti che hanno scelto un modulo sarà:

<script language="php">

if (($nomeutente!="amministratore")||($password!="amministratore")) return;

print("Cerco con : $nomeutente $password <br>");

$nomehost = "miohost";

$utente = "mionome";

$parola = "miapasswors";

$nome = "nomedeldatabase";

$connessione=mysql_connect($nomehost,$utente,$parola);

$selezione = mysql_select_db($nome, $connessione);

$richiesta="SELECT utenti.cognome, utenti.nome, utenti.scuola, utenti.comune, moduliesistenti.titolo, moduliesistenti.descrizione FROM utenti INNER JOIN moduliscelti INNER JOIN moduliesistenti ON utenti.codiceutente=moduliscelti.codiceutente AND moduliscelti.codicemodulo=moduliesistenti.codicemodulo AND utenti.gruppo='docente'  ";

$risultato =mysql_query($richiesta);

$lunghezza = mysql_num_rows($risultato);

print("Le righe trovate sono: $lunghezza .<br>");

for ($t=0; $t<$lunghezza; $t++) {

$riga=mysql_fetch_array($risultato);

print("$riga[0] $riga[1] $riga[2] $riga[3] $riga[4] $riga[5] $riga[6] <br>");

};

mysql_close($connessione);

</script>

 

 

Il nostro programma completo in php per la ricerca dei dati dello studente e dei relativi documenti inviati sarà:

<script language="php">

if (($nomeutente!="studente")||($password!="studente")) return;

print("Cerco con : $nomeutente $password <br>");

$nomehost = "miohost";

$utente = "mionome";

$parola = "miapasswors";

$nome = "nomedeldatabase";

$connessione=mysql_connect($nomehost,$utente,$parola);

$selezione = mysql_select_db($nome, $connessione);

$richiesta="SELECT utenti.cognome, utenti.nome, utenti.scuola, utenti.comune, upload.titolo, upload.tipo, upload.descrizione, upload.data FROM upload INNER JOIN utenti ON upload.codiceutente=utenti.codiceutente WHERE utenti.nomeutente='$nomeutente' ";

$risultato =mysql_query($richiesta);

$lunghezza = mysql_num_rows($risultato);

print("Le righe trovate sono: $lunghezza .<br>");

for ($t=0; $t<$lunghezza; $t++) {

$riga=mysql_fetch_array($risultato);

print("$riga[0] $riga[1] $riga[2] $riga[3] $riga[4] $riga[5] $riga[6] $riga[7] $riga[8] <br>");

};

mysql_close($connessione);

</script>

 

 

 

Un modulo per la registrazione di un nuovo utente non amministratore, per evidenti ragioni, può essere il seguente:

Cognome

Nome

Scuola
Comune della scuola
e-mail
Nickname
Password
Gruppo 

 

il cui listato è:

<script language="JavaScript">

<!--

// controllo che ci siano le due scelte

function controllo1(){

// controllo che ci sia il cognome e il nome

sceltacognome=document.modulo1.cognome.value;

sceltanome=document.modulo1.nome.value;

if((sceltacognome=="")||(sceltanome=="")) {

alert("Inserire Cognome e Nome!");

return false;

};

return true;

}

// -->

</script>

<form action="salvoutente.php" name="modulo1" method="POST" onSubmit="return controllo1();">

 

<div align="left">

<table border="1" cellpadding="0" width="100%">

<tr>

<td width="35%"><font size="4" face="Verdana" color="#FF0000">Cognome</font></td>

<td width="65%" align="center">

<p align="center">

<font face="Verdana" size="4">

<font color="#0000FF">

<span style="mso-bidi-font-size: 12.0pt">

<input type="text" name="cognome" size="22" style="color: #FF0000; font-family: Verdana; font-size: 14 pt; background-image: url('../../immagini/sfondo3.gif')">

</span>

</font>

</font>

</p>

</td>

</tr>

<tr>

<td width="35%"><font size="4" face="Verdana" color="#FF0000">Nome</font></td>

<td width="65%" align="center">

<p align="center"><font color="#0000FF"><span style="mso-bidi-font-size: 12.0pt"><input type="text" name="nome" size="22" style="color: #FF0000; font-family: Verdana; font-size: 14 pt; background-image: url('../../immagini/sfondo3.gif')">

</span>

</font>

</td>

</tr>

<tr>

<td width="35%"><font size="4" face="Verdana" color="#FF0000">Scuola</font></td>

<td width="%" align="center">

<font color="#0000FF"><span style="mso-bidi-font-size: 12.0pt"><input type="text" name="scuola" size="22" style="color: #FF0000; font-family: Verdana; font-size: 14 pt; background-image: url('../../immagini/sfondo3.gif')">

</span>

</font>

</td>

</tr>

<tr>

<td width="35%"><font size="4" face="Verdana" color="#FF0000">Comune della

scuola</font></td>

<td width="%" align="center">

<font color="#0000FF"><span style="mso-bidi-font-size: 12.0pt"><input type="text" name="comune" size="22" style="color: #FF0000; font-family: Verdana; font-size: 14 pt; background-image: url('../../immagini/sfondo3.gif')">

</span>

</font>

</td>

</tr>

<tr>

<td width="35%"><font size="4" face="Verdana" color="#FF0000">e-mail</font></td>

<td width="%" align="center">

<font color="#0000FF"><span style="mso-bidi-font-size: 12.0pt"><input type="text" name="email" size="22" style="color: #FF0000; font-family: Verdana; font-size: 14 pt; background-image: url('../../immagini/sfondo3.gif')">

</span>

</font>

</td>

</tr>

<tr>

<td width="35%"><font size="4" face="Verdana" color="#FF0000">Nickname</font></td>

<td width="%" align="center">

<font color="#0000FF"><span style="mso-bidi-font-size: 12.0pt"><input type="text" name="nomeutente" size="22" style="color: #FF0000; font-family: Verdana; font-size: 14 pt; background-image: url('../../immagini/sfondo3.gif')">

</span>

</font>

</td>

</tr>

<tr>

<td width="35%"><font size="4" face="Verdana" color="#FF0000">Password</font></td>

<td width="%" align="center">

<font color="#0000FF"><span style="mso-bidi-font-size: 12.0pt"><input type="password" name="password" size="22" style="color: #FF0000; font-family: Verdana; font-size: 14 pt; background-image: url('../../immagini/sfondo3.gif')">

</span>

</font>

</td>

</tr>

<tr>

<td width="35%"><font size="4" face="Verdana" color="#FF0000">Gruppo&nbsp;</font></td>

<td width="%" align="center">

<select size="1" name="gruppo" alt="provo">

<option value="">GRUPPO</option>

<option value="studente">studente</option>

<option value="docente">docente</option>

 

</select>

</td>

</tr>

<tr>

<td width="134%" colspan="2">

<p align="center"><input type="submit" value="SALVA I DATI" name="salvo" style="font-family: Verdana; font-size: 14 pt"></td>

</tr>

</table>

</div>

</form>

listato di inseriscodatiutenti.php

i dati del modulo verranno passati al programma php: salvoutenti.php che salva i dati del modulo sulla base di dati esistente sul server; il cui listato del programma può essere:

<?php

if($cognome=="") return;

print("Cerco di inserire i seguenti dati: $cognome ; $nome; $scuola; $comune; $email; $nomeutente $password; $gruppo<br>");

print ("Programma per inserire una riga nella nella tabella corsi di recupero");

$nomehost = "miohost";

$utente = "mionome";

$parola = "miapasswors";

$nome = "nomedeldatabase";

$connessione=mysql_connect($nomehost,$utente,$parola);

$selezione = mysql_select_db($nome, $connessione);

 

$richiesta="INSERT INTO utenti (cognome, nome, scuola, comune, email, nomeutente, password, gruppo) VALUES ('$cognome', '$nome', '$scuola', '$comune', 'email', '$nomeutente', '$password', '$gruppo')";

$risultato =mysql_query($richiesta);

if($risultato)

print("Dati inseriti correttamente");

else

print ("Dati non inseriti");

 

mysql_close($connessione);

?>

 

listato di salvoutenti.php

Di questa pagina esiste una versione completa di software funzionante in rete.

2006

Corso di programmazione in MYSQL

Dizionario mysql e relativo php

Corso di programmazione in PHP

Dizionario php

prof. Pietro De Paolis

Pagina inferiore

Esegue l'analisi grammaticale di una frase qualsiasi; esegue l'analisi logica di una qualunque proposizione; esegue l'analisi logica di un qualunque periodo; disegna l'albero sintattico di ogni proposizione. Pagina a pagamento anticipato.

Risolve semplici problemi di matematica, aritmetica, geometria, elettronica. Svolge espressioni, equazioni di 1* e 2° grado, sistemi di equazioni, radici col metodo tradizionale, come fatte a mano. Pagina a pagamento anticipato.

Svolgimento dei temi da parte dei professori, risoluzione problemi di matematica da parte dei professori, svolgimento di tesi e tesine da parte dei professori. Pagina a pagamento anticipato.

Scuola Elettrica

Lezioni virtuali nelle aule di scuola elementare Tutte le materie della scuola elementare per le varie classi Tastiera che legge una lettera e pronuncia il fonema in italiano Prove di laboratorio di tecnologia scuola elementare
Esercizi di tutte le materie per la scuola elementare Analisi grammaticale di un qualunque testo Analisi grammaticale ed analisi logica di un qualunque periodo Descrizioni svolte e da svolgere per scuola elementare
Risolve problemi di aritmetica e geometria Matematica per la prima elementare Matematica per la prima media Calcolatrice parlante i tasti premuti
Corso di aritmetica e geometria per scuola media inferiore Lezioni di inglese con esercizi di informatica e inglese Esercitazioni in laboratorio di educazione tecnica per scuola media Lezioni di javascript per scuola media
Corsi di lingua Italiana e letteratura italiana Corso di storia antica, medioevale, moderna, contemporanea Temi svolti e da svolgere di italiano e di storia Poesie inedite - Alessandra Madaro
Clip video su vari argomenti Disegno e stampa di circuiti elettrici ed elettronici sito: Liceo Informatico ex www.liceoinformatico.it Prove di laboratorio di tecnologia scuola media
La fabbrica degli ignoranti - ovvero il lavaggio del cervello Attività politica del prof. De Paolis Programmatore artificiale di Matematica Domande a pagamento ai professori delle varie materie
Corso di elettronica ed elettrotecnica per principianti Corso di elettronica Corso di telecomunicazioni per ITIS Corso sul telefonino GSM
ÉCOLE ÉLECTRIQUE - Scuola Elettrica in francese Analisi grammaticale e logica in francese - Analyse grammaticale et analyse fonctionnelle résolution de problèmes automatique Tastiera che legge una lettera in francese
Conigatore dei verbi italiani, regolari ed irregolari Coniugatore dei verbi inglesi, regolari ed irregolari Coniugatore dei verbi francesi Correzione di ortografia, grammatica, sintassi e semantico di un qualunque periodo
Electrical School - Scuola Elettrica in inglese Analisi grammaticale e logica in inglese - Grammatical analysis and logical analysis Risolutore di problemi in inglese - Automatic problem solver Dizionario inglese - italiano e italiano - inglese
Guida scolastica per insegnanti, per studenti, per genitori, con leggi e decreti della scuola Calcolo del netto dello stipendio mensile, per il personale della scuola Calcolo della pensione netta spettante per il personale che andrà in pensione Discussioni e forum sulla scuola
Corso di programmazione per principianti, in linguaggio PHP Corso di programmazione di basi di dati in linguaggio MySQL Lezioni di sistemi aziendali per licei, con domande di verifica degli apprendimenti Lezioni di contabilità ordinaria con programma eseguibile gratuito e stampa libri contabili
Corso di lingua latina per principianti declinatore di nomi latini e coniugatore di verbi in latino; convertitore di numeri romani in decimali analizzatore latino e traduttore di versioni dal latino in italiano  
Manuale per maschi adulti, con problemi di seduzione. Sconsigliata la lettura per donne e bambini. Collegamenti utili esterni al sito Lavora con noi! Commenti o segnalazione errori

Richiesta informazioni

Mappa per tipo di scuola

Indice di tutte le pagine del sito

Scuola Elettrica