giovedì 6 maggio 2010

Esercizio sulla gestione dei Database

Buonasera, anzi buonanotte visto che sono le 00.04, obbligato a rifare ciò che avevo già fatto ieri sera ma per sfortuiti eventi non ho potuto pubblicare, quindi mi vedo costretto a farlo adesso.
Andremo ad eseguire l'esercizio assegnatoci dal professor Silvano Natalizi, che è il seguente:

1) Creare la tabella materia formata dai campi ID e Nome, e avente come chiave primaria ID.

2) Nella tabella titolo aggiungere la chiave esterna materia_id.

3) Fare la jsp che inserisce un titolo con la materia scelta da un menu dropdown fatto con la select (quindi un menù a tendina).

Procediamo intanto ad eseguire il primo punto molto semplicemente. Nel Database Libri formato dalle tabelle autore, titolo e autore_titolo, andremo ad aggiungere una quarta tabella, cioè quella della materia:

create table materia (id int not null, nome varchar(30), primary key(id));

Invece mediante quest'altra semplice istruzione fornitaci dal prof. stesso andremo ad eseguire il secondo punto dell'esercizio:

alter table titolo add materia_id int;

Come si può notare dall'immagine la tabella è stata creata con successo con il MySQL:


Successivamente andremo dunque a creare il nostro menù a tendina dove verranno visualizzate le materie che l'utente potrà scegliere, qua in basso, si può osservare il codice utilizzato per eseguire questo terzo punto dell'esercizio e di seguito il risultato dell'esercizio:




Finalmente ho finito e me ne vado a letto!!!

giovedì 22 aprile 2010

Ripasso Linguaggio HTML

Salve a tutti, è da un bel pezzo che non pubblico più qualcosa nel mio blog, per questo mi scuso, ma ultimamente le cose si sono fatte più complicate e il tempo a disposizione per aggiornare il blog sembra non bastare mai.
Comunque, in previsione della simulazione della 2° prova d'esame, ho ritenuto necessario un veloce ripasso del linguaggio Html. Nella pagina che andrò a far vedere, saranno riportate le istruzioni "più importanti" che abbiamo visto fin'ora, per la realizzazione di una pagina WEB.
Cliccare il link sotto per il download della pagina:

http://www.megaupload.com/?d=87XPIVSI


In generale andremo a vedere, nel link quà sotto, le istruzioni più importanti:

http://www.megaupload.com/?d=J7XG7705

venerdì 8 gennaio 2010

Linguaggio SQL

Il linguaggio SQL (Structured Query Language) è nato con l’intento di semplificare e di rendere possibile la gestione delle operazioni all’interno di un database. Le operazioni richieste sono quelle di effettuare calcoli, raggruppamenti e ordinamenti.
La terminologia di questo linguaggio è analoga a quella di Access dove un database è costituito da tabelle, che rappresentano le relazioni; gli attributi sono la colonne e i record sono le righe della tabella.

Andiamo ora ad elencare i comandi principali:

· Create table NomeTabella = crea una tabella dove verranno inseriti dei dati.
- Gli attributi all'interno della tabella devono essere inseriti prima con il nome e poi il tipo di attributo.
- Per determinare la chiave primaria si deve scrivere: primary key (NomeAttributo).
Esempio:
create table studente (id int, nome char[30], primary key(id));

· Insert into NomeTabella values = Serve ad inserire i dati nella tabella creata.
Esempio:
insert into studente values (1, “Anselmi”);
insert into studente values (2, “Baldassarri”);
(in riferimento all’esempio precedente della create table)

· Delete NomeTabella Where Condizione = Cancella una condizione all’interno della tabella.
· Drop table NomeTabella = Cancella tutta la tabella con tutti i dati all’interno.
· Update NomeTabella Set nome del campo da aggiornare Where Condizione sulla chiave primaria o altro = aggiorna e modifica un parametro del campo.
· Group by Condizione = raggruppa e visualizza tutti i dati della stessa condizione.
· Order by Condizione = ordinare le righe secondo la condizione stabilita.
· Having = Seleziona i raggruppamenti precedentemente fatti.
· Select Count(*) from NomeTabella = mi conta tutte le righe della tabella.
· Select * From NomeTabella Where Condizione = Seleziona solamente le righe stabilite dalla condizione espressa nell’istruzione.

Comandi per la visualizzazione nel “prompt dei comandi”:

· .Tables = serve a visualizzare le tabelle create.
· .Schema NomeTabella = serve a visualizzare gli attributi della tabella scelta.
· .Headers on = visualizza meglio i dati delle tabelle.
· .Mode column on = visualizza meglio i dati delle tabelle.

martedì 20 ottobre 2009

Entity Relationships Es. da 7 a 21 pag. 179

Ciao a tutti....
Questi esercizi sono stati proposti per riuscire a comprendere in maniera ottimale la cardinalità che ci può essere tra le relazioni delle entità e il modo in cui esse possono partecipare.
Una breve spiegazione....
La cardinalità tra le Entità può essere:
1 a 1(1 - 1), 1 a Molti(1 - M) oppure Molti a Molti(N - M).
Mentre la partecipazione può essere Parziale, se l'entità partecipa in modo relativo alla relazione con l'altra entità, mentre può essere Totale, se partecipa in modo univoco nella relazione tra le entità.
Vediamo gli esercizi per capire meglio:



Prendiamo come esempio l'esercizio numero 7. In questo schema si può dire che un Docente DEVE, relazione con partecipazione Totale (Individuata dalla doppia linea di collegamento), insegnare una sola materia (In riferimento al numero 1 sopra al rombo).
Mentre una materia PUO' essere insegnata da Molti docenti.
La relazione è 1 a Molti, si può individuare dall'1 e la M messi uno sopra e l'altro sotto al rombo.








lunedì 19 ottobre 2009

Entity Relationships (es. 1-6 pag.179)

Salve a tutti, ed ecco che è iniziato un nuovo anno scolastico (speriamo l'ultimo) e quindi altri esercizi verranno pubblicati costantemente in questo Blog.....sotto la sorveglianza del mitico Prof.Natalizi!!!
Questi esercizi sono basati su un nuovo metodo per la progettazione concettuale di dati chiamata, Entity/Relationship, ovvrosulla relazione tra le entità.
Un'entità è un cosa concreta o astratta a cui si possono riferire almeno 2 Attributi.
In questi attributi potrebbe essere necesario trovarne uno che identifichi in maniera univoca l'entità e questa verrà chiamata con il nome di Chiave Primaria o Primary Key(PK)!
Dopo aver fatto questa breve premessa eseguo gli esercizi assegnati:

Es. 1

Es. 2
In questo esercizio ho dovuto trvae più chiavi primarie deboli per formarne una vera e propria che identificasse in maniera univoca il CITTADINO CONTRIBUENTE.





Es. 3

Es. 5


Es. 6




lunedì 18 maggio 2009

CUBES GAME

Ecco a voi il nuovo gioco del gruppo composto da:
Di Bari
Favilli
Caldari e
Baldassarri, si chiama Cubes Game!!!
Ora vi mostrerò le varie schermate create dai componenti di ciascun gruppo, il codice invece verrà messo successivamente perchè ancora in fase di sviluppo!!!


Questo è come dovrebbe presentarsi inizialmente, ovvero il logo del gioco!





Questa invece è la scelta dei giocatori, il client o il server!





Infine ecco come si presenterà il gioco!!! durante la partita tra i due giocatori!(ancora da perfezionare e migliorare)


mercoledì 11 febbraio 2009

La mia Calcolatrice

Salve a tutti, è da un pò che non pubblico qualcosa di interessante, bene oggi proporrò un'esempio di calcolatrice personalizzata che ognuno poi potrà arricchirla ulteriormente con più istruzioni:


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calcolatrice{
private JFrame f=new JFrame("Calcolatrice");
private Pannello p=new Pannello();
private JButton addizione;
private JButton sottrazione;
private JButton moltiplicazione;
private JButton divisione;
private JButton radiceQuad;
private JButton uno;
private JButton due;
private JButton tre;
private JButton quattro;
private JButton cinque;
private JButton sei;
private JButton sette;
private JButton otto;
private JButton nove;
private JButton zero;
private JLabel nome;
private JLabel nomeDue=new JLabel("digita il secondo numero");
private JLabel r=new JLabel();
private JLabel r1=new JLabel("risultato operazione");
private Pannello numeri;
private PannelloComandi operazioni;
private JTextField inCom;
private JTextField in1;
private JTextField in2;


public Calcolatrice(){

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,500);
f.setLayout(new GridLayout(4,2));
numeri=new Pannello();
operazioni=new PannelloComandi();
nome=new JLabel("digita il primo numero");
inCom=new JTextField();
in1=new JTextField();
in2=new JTextField();


f.add(operazioni);
f.add(numeri);
f.add(in1);
f.add(nome);
f.add(in2);
f.add(nomeDue);
f.add(r1);
f.add(r);
addizione.addActionListener(new somma());
sottrazione.addActionListener(new sottrazione());
moltiplicazione.addActionListener(new moltiplicazione());
divisione.addActionListener(new divisione());
radiceQuad.addActionListener(new radiceQuad());
f.setVisible(true);
}
public class Pannello extends JPanel{
public Pannello(){

uno=new JButton("1");
this.add(uno);
due=new JButton("2");
this.add(due);
tre=new JButton("3");
this.add(tre);
quattro=new JButton("4");
this.add(quattro);
cinque=new JButton("5");
this.add(cinque);
sei=new JButton("6");
this.add(sei);
sette=new JButton("7");
this.add(sette);
otto=new JButton("8");
this.add(otto);
nove=new JButton("9");
this.add(nove);
zero=new JButton("0");
this.add(zero);

}
}
public class PannelloComandi extends JPanel{
public PannelloComandi(){

addizione=new JButton("+");
this.add(addizione);
sottrazione=new JButton("-");
this.add(sottrazione);
moltiplicazione=new JButton("X");
this.add(moltiplicazione);
divisione=new JButton(":");
this.add(divisione);
radiceQuad=new JButton("Rad");
this.add(radiceQuad);
}
}
public class somma implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double s=x1+x2;
String risultato=Double.toString(s);
r.setText(risultato);
}
}
public class sottrazione implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double sot=x1-x2;
String risultato=Double.toString(sot);
r.setText(risultato);
}
}
public class moltiplicazione implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double m=x1*x2;
String risultato=Double.toString(m);
r.setText(risultato);
}
}
public class divisione implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double d=x1/x2;
String risultato=Double.toString(d);
r.setText(risultato);
}
}
public class radiceQuad implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
double x1=Double.parseDouble(t1);
double rad=Math.sqrt(x1);
String risultato=Double.toString(rad);
r.setText(risultato);
}
}

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

}

Ecco la mia calcolatrice personale: