mercoledì 25 novembre 2009

Esercizi per casa

ES n° 10 pagina 233

Tabella

Anagrafica (Nome, Cognome, Matricola, Nascita, Indirizzo, CodiceDipartimento, NomeDipartimento, IndirizzoDipartimento, Stipendio)

Dipendenze

CodiceDipartimento → (NomeDipartimento, IndirizzoDipartimento) ← Seconda forma normale.

Tabelle

Dipartimento (CodiceDipartimento, NomeDipartimento, IndirizzoDipartimento)

Anagrafica (Matricola, Nome, Cognome, Nascita, Indirizzo, CodiceDipartimento)


ES n° 11 pagina 233

Tabelle

Esami-1 (Corso, Matricola, Data, Voto, NomeCorso)

Esami-2 (Corso, Matricola, Data, VotoInCifre, VotoInLettere)

Dipendenze Esami-1

(Matricola, Corso) → Voto ← Seconda forma normale.

Corso → NomeCorso ← Seconda forma normale.

Tabelle Esami-1

Corso (Corso, NomeCorso)

Matricola (Matricola, Voto, Corso)

Esami-1 (Matricola, Data, Corso)

Dipendenze Esami-2

(Matricola, Corso) → (VotoInCifre, VotoInLettere) ← Seconda forma normale.

VotoInCifre → VotoInLettere ← Terza forma normale.

VotoInLettere → VotoInCifre ← Terza forma normale.

(Matricola, Corso) → VotoInCifre

(Matricola, Corso) → VotoInLettere

Per togliere la terza forma normale, scelgo come determinante VotoInCifre. (Entrambi si determinano a vicenda, pertanto ne scelgo uno.)

Tabelle Esami-2

Matricola (Matricola, Corso)

VotoInCifre (VotoInCifre, VotoInLettere)

Esami-2 (Corso, Matricola, Data)


ES n° 12 pagina 233


Tabella

Libro (CodiceDelLibro, NomeAutore, TitoloLibro, NomeEditore, IndirizzoEditore, Prezzo, AnnoEdizione)

Normalizzazione :
Prima forma normale : Non vi sono dati ripetuti.
Seconda forma normale : Cerco le dipendenze.

Dipendenze

IndirizzoEditore → NomeEditore ← Seconda forma normale. Perché l'indirizzo può avere solo un editore con quel nome.

Terza forma normale : Non ci sono dipendenze transitive.


Tabelle

Editore (NomeEditore, IndirizzoEditore)

Libro (CodiceDelLibro, NomeAutore, TitoloLibro, IndirizzoEditore, Prezzo, AnnoEdizione)


ES n° 13 pagina 233

Materiali (Codice, Descrizione, Fornitore, Prezzo, IndirizzoFornitore, Quantità, PosizioneInMagazzino, Acciaio, NomeAcciaio, ResistenzaAcciaio, NomeFornitore)

Dipendenze

Acciaio → (NomeAcciaio, ResistenzaAcciaio) ← Seconda regola normale.

NomeAcciaio → ResistenzaAcciaio ← Terza regola normale.

Acciaio → ResistenzaAcciaio ← Terza regola normale.

Fornitore → (IndirizzoFornitore, NomeFornitore) ← Seconda regola normale.

Tabelle

Acciaio (Acciaio, NomeAcciaio)

QualitàAcciaio (NomeAcciaio, ResistenzaAcciaio)

Fornitore (Fornitore, IndirizzoFornitore, NomeFornitore)

Materiali (Codice, Descrizione, Fornitore, Prezzo, Quantità, PosizioneInMagazzino, Acciaio)

giovedì 19 novembre 2009

Progettazione Database

Progettare un Database con i gruppi musicali internazionali




Si vuole memorizzare tramite l’utilizzo del database il nome di gruppi musicali, conoscerne una storia, il numero dei componenti, i ruoli all’interno della band, la provenienza del gruppo, il luogo del tour musicale, il genere di musica che suonano, la loro discografia; Scorrendo un menù a tendina visualizzo i nomi delle varie band, e poi posso risalire ad ogni singola informazione che li riguarda.




Componenti del gruppo :

Matteo Gastaldi (Leader)

Stefano Biscarini




Gruppi musicali : Linkin Park - Sum 41 - Blink 182 – Zebrahead – Queen - Dream Teather – Dragonforce - Deep Purple - Guns N’ Roses - Led Zeppelin - Metallica - Iron Maiden - Slipknot - System of a Down - Pink Floyd – Nirvana - Pantera .




Caratteristiche band :

· Nome

· N.Componenti

· Ruoli all’interno della band

· Provenienza

· Luogo tour

· Genere

· Discografia

lunedì 16 marzo 2009

Esercitazione Java

/*Matteo Gastaldi 4ALE*/

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Calcolatrice{

JFrame f=new JFrame("Calcolatrice Autore : Matteo Gastaldi");
JLabel l1=new JLabel("1° operando :");
JLabel l2=new JLabel("2° operando :");
JLabel l3=new JLabel("risultato : ");
JTextField f1=new JTextField();
JTextField f2=new JTextField();
JButton b5=new JButton("clear");
JButton b1=new JButton("+");
JButton b2=new JButton("-");
JButton b4=new JButton("/");
JButton b3=new JButton("X");
JButton b6=new JButton("=");
JLabel risultato=new JLabel();
JPanel p1=new JPanel();
JPanel p2=new JPanel();
char valori;
public Calcolatrice(){

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,400);
p1.setLayout(new GridLayout(3,2));
p2.setLayout(new GridLayout(2,3));
p1.add(l1);
p1.add(f1);
p1.add(l2);
p1.add(f2);
p1.add(l3);
p1.add(risultato);
p2.add(b5);
p2.add(b1);
p2.add(b2);
p2.add(b4);
p2.add(b3);
p2.add(b6);
f.add (BorderLayout.NORTH,p1);
f.add (BorderLayout.CENTER,p2);

b5.addActionListener(new Clear());

b1.addActionListener(new Addizione());

b2.addActionListener(new Sottrazione());

b4.addActionListener(new Divisione());

b3.addActionListener(new Moltiplicazione());

b6.addActionListener(new Uguale());
f.setVisible(true);
}

public class Addizione implements ActionListener{
public void actionPerformed(ActionEvent event){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double addizione=t+t1;
String r=Double.toString(addizione);
risultato.setText(r);*/
valori='+';

}
}
public class Uguale implements ActionListener{
public void actionPerformed(ActionEvent event){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double r=0;
if(valori=='+') r=t+t1;
if(valori=='-') r=t-t1;
if(valori=='X') r=t*t1;
if(valori=='/') r=t/t1;
String rr=Double.toString(r);
risultato.setText(rr);

}
}

public class Sottrazione implements ActionListener{
public void actionPerformed(ActionEvent e){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double sottrazione=t-t1;
String r=Double.toString(sottrazione);
risultato.setText(r);*/
valori='-';

}
}

public class Moltiplicazione implements ActionListener{
public void actionPerformed(ActionEvent e){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
int moltiplicazione=t*t1;
String r=Integer.toString(moltiplicazione);
risultato.setText(r);*/
valori='X';
}
}
public class Clear implements ActionListener{
public void actionPerformed(ActionEvent e){
f1.setText("");
f2.setText("");
risultato.setText("");
}
}

public class Divisione implements ActionListener{
public void actionPerformed(ActionEvent e){
/*String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double divisione=t/t1;
String r=Double.toString(divisione);
risultato.setText(r);*/
valori='/';

}
}
public static void main (String []args){
Calcolatrice f=new Calcolatrice();
}

}

/*Autore del sorgente : Matteo Gastaldi*/

venerdì 20 febbraio 2009

Esercitazione sugli Array Char

public class Stringhe1{
String s="#Sud Africa#";

public String eliminaCarattere(String s){
int l=s.length();
int j=0;
char[] c=new char[l];
char[] c1=new char[l];
c=s.toCharArray();
for (int i=0; i if (c[i]!='#') {
c1[j]=c[i];
j++;
}
}
String nuova=new String(c1);
return nuova;
}
public static void main(String[] args){
Stringhe1 s1=new Stringhe1();
String ss="#Su#d Af#rica#";
String ss1=s1.eliminaCarattere(ss);
System.out.println(ss1);
}
}


domenica 8 febbraio 2009

Calcolatrice in Java

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Calcolatrice{

JFrame f=new JFrame("Calcolatrice");
JLabel l1=new JLabel("Digita il primo numero");
JLabel l2=new JLabel("Digita il secondo numero");
JTextField f1=new JTextField();
JTextField f2=new JTextField();
JButton b1=new JButton("Addizione");
JButton b2=new JButton("Sottrazione");
JButton b3=new JButton("Moltiplicazione");
JButton b4=new JButton("Divisione");
JTextField risultato=new JTextField();

public Calcolatrice(){

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,400);
f.setLayout(new GridLayout(5,8));
f.add(l1);
f.add(f1);
f.add(l2);
f.add(f2);
f.add(b1);
f.add(b2);
f.add(b3);
f.add(b4);
f.add(risultato);
b1.addActionListener(new Addizione());
f.setVisible(true);
b2.addActionListener(new Sottrazione());
f.setVisible(true);
b3.addActionListener(new Moltiplicazione());
f.setVisible(true);
b4.addActionListener(new Divisione());
f.setVisible(true);

}

public class Addizione implements ActionListener{
public void actionPerformed(ActionEvent event){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double addizione=t+t1;
String r=Double.toString(addizione);
risultato.setText(r);
}
}

public class Sottrazione implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double sottrazione=t-t1;
String r=Double.toString(sottrazione);
risultato.setText(r);
}
}

public class Moltiplicazione implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
int moltiplicazione=t*t1;
String r=Integer.toString(moltiplicazione);
risultato.setText(r);
}
}

public class Divisione implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=f1.getText();
String testo2=f2.getText();
int t=Integer.parseInt(testo1);
int t1=Integer.parseInt(testo2);
double divisione=t/t1;
String r=Double.toString(divisione);
risultato.setText(r);

}
}
public static void main (String []args){
Calcolatrice f=new Calcolatrice();
}

}