domenica 21 dicembre 2008

giovedì 11 dicembre 2008

ESERCIZIO SVOLTO IN CLASSE

Si vogliono memorizzare i voti degli studenti di un istituto scolastico.Per ogni voto si vuole conoscere la data, il voto, il tipo di voto, la materia, il modulo,argomento verifica, l'insegnante, lo studente.L'anno scolastico, la classe dello studente.Per la materia occorre conoscere oltre il nome e i moduli programmati dall'insegnante. Un modulo ha un nome, una descrizione sintetica, un obiettivo, una data d'inizio e di fine. Per l'insegnante si vuole conoscere l'email, l'indirizzo del blog, la classe di concorso.





DOCENTE(idDocente,nome,blog,classeConcorso,email,foto);
STUDENTE(idStudente,nome,foto,email,classe);
MATERIA(idMateria,nome,descrizione);
MODULO(idDocente,idModulo,nome,descrizione,mese,anno,obiettivo);
VOTO(idVoto,voto,data,tipo,argomento,*idStudente,*idMateria,*idModulo,*idDocente);
PROGRAMMAZIONE(idProgramma, *idDocente, *idMateria, *idModulo, mmaaInizio, mmaaFine)


Create table docente(idDocente integer primary key, nome text, blog text, classeConcorso text, email text,foto blop);
Create table studente (idStudente integer primary key, nome text, classe text, email text, foto blop);
Create table material (idMateria integer primary key, nome text, descrizione text);
Create table modulo (idDocente integer foreign key references Docente(idDocente), idModulo integer, idMateria foreign key references Materia(idMateria), nome text, descrizione text, mese integer, obiettivo text, primary key(idMateria, idModulo));
Create table voto(idVoto integer primary key, voto integer, data text, tipo text, argomento text, idStudente integer foreign key references Studente(idStudente), idMateria integer foreign key references Materia(idMateria), idModulo integer foreign key references Modulo(idModulo), idDocente integer foreign key references Docente(idDocente));
Create table programmazione(idProgramma integer primary key, idDocente integer references DOCENTE, idMateria integer references MATERIA, idModulo integer references MODULO, mmaaInizio text, mmaaFine text);



lunedì 8 dicembre 2008

ESERCITAZIONE SU SQLITE


Manca la join e senza di essa il programma non funzionerebbe.
Quindi bisogna ugualiare. Per esempio: verifica.id Cliente= Cliente.id Cliente
Inoltre se voglio fare sia la join che la condizione posso farlo con la where.

lunedì 1 dicembre 2008

Esercitazione



LETTORE(codice, nome, indirizzo, età)
ACQUISTA(numProg, *codLettore, *codicelibro, data);
LIBRO(codiceLibro, autore, titolo, prezzo);

/Codice MYSQL/
create table lettore(codice integer primary key, nome text, età integer, indirizzo text);
create table libro(codice integer primary key, autore text, titolo text, prezzo integer);
create table acquista(numProg primary key, codiceLibro integer foreing key, codiceLettore foreing key, data text);

insert into lettore values(1, 'Alberto', 33, 'via case sparse');
insert into lettore values(2, 'Giovanni', 33, 'via del giglio');
insert into lettore values(3, 'Gianluca', 33, 'via nuova');

insert into libro values(1,'Dante Alighieri','Divina Commedia',22 );
insert into libro values(2,'Boccaccio','Il Decamerone', 18);
insert into libro values(3,'Manzoni','Promessi Sposi', 24);

insert into acquista values(1, 2, 3, '01/12/2008');
insert into acquista values(3, 1, 2, '20/11/2008');
insert into acquista values(2, 3, 1, '24/11/2008');

.mode coluan
.headers
select * from lettore;
select * from libro;
select * from acquista;
select lettore.nome, libro.titolo, libro.prezzo;
from lettore, libro, acquista
where lettore.codice=acquista.codiceLettore and libro.codice=acquista.codiceLibro and acquista.codiceLettore=2;

domenica 30 novembre 2008

SQLITE (alcuni comandi di SQLITE)

SQLITE
create table professore(cod.p.integer primary key, nome text, materia text);
insert into professore values(1,"Natalizi","informatica");
select *from professore;
* = se voglio visualizzare tutte le colonne della tabella.
Quindi in questo caso visualizza tutte le colonne. Inoltre dal momento che non si specifica nessun filtro la tabella farà vedere tutte le righe.
operazione di proiezione = proietto la mia tabella solo in alcune righe e colonne.
COMANDO PER SELEZIONARE E PRENDERE UNA SOLA RIGA
select *from professore where(se voglio selezionare le righe) coop=1.
Insert= comando per creare e quindi inserire una nuova riga.
Update= comando che serve per aggiornare i valori di una riga già esistente.
Delete= comando per eliminare alcune righe.
COMANDI DDL
Sono comandi per il linguaggio della definizione dei dati.

giovedì 27 novembre 2008

RELAZIONE RIFLESSIVA 27/11/2008


INSEGNANTE(CODICE, NOME, *CODICE COORDINA)
Ogni volta che troviamo una relazione riflessiva(1-M) otterremmo una chiave esterna o straniera(attributo).

TABELLA ASSOCIATIVA 27/11/2008


STUDENTE(CODICE, TARGA)
AUTO(TARGA, MODELLO)
GUIDA(*CODICE STUDENTE, *TARGA, DATA PRELIEVO, DATA PRESTITO)
Ogni volta che troviamo una relazione molti a molti(M-M) otterremmo una tabella associativa.

mercoledì 26 novembre 2008

ESERCITAZIONE CON "SQLITE"

Oggi 25 Novembre 2008 abbiamo svolto questi due esercizi.
Abbiamo creato delle tabelle in cui ci sono delle entità con i relativi attributi.


DATABASE AutoStudenti













DATABASE Scuola



venerdì 21 novembre 2008

lunedì 17 novembre 2008

es. n°5

Abbiamo una classe delle elementari per la quale voglio memorizzare i dati degli alunni dei maestri e l’informazione attinente al coordinamento del maestro.

lunedì 3 novembre 2008

es.n°4

Si vogliono memorizzare i carceri d'Italia (Nome, località, capienza, numero detenuti, direttori). Per ogni carcerato voglio: nome, età, pena.

domenica 26 ottobre 2008

esercizio n°3




In un comune (nome e provincia) si vuole creare un database che permetta di conoscere quali sono le abitazioni non affittate ossia vuote. In particolare si vogliono memorizzare i dati relativi al tipo di abitazione . Se si tratta di un appartamento i dati sono l'interno dell'appartamento, la grandezza dell'appartamento in metri quadrati, il numero delle stanze, il nome del condominio, il numero civico, la via. Se è una casa, la sua cubatura, il numero civico, la via. In tutti i casi si deve anche memorizzare il nome del proprietario, e i suoi dati anagrafici,in particolare l'indirizzo e la località della sua residenza.Quando andiamo ad interrogare questo database vogliamo sapere:quanti sono gli appartamenti sfitti in un condominioquali sono gli appartamenti sfitti per ogni via del comune.quanti sono in totale nel comunel'elenco dei proprietari degli appartamenti sfittiquante sono le stanze in totalequanti sono i metri quadrati in totale per via e il totale complessivo del comunequali sono le case sfitte nel comunequante sono le case sfittie nel comunel'elenco dei proprietari delle case sfitteDevi disegnare lo schema concettuale. Ci sono entità deboli ?Devi ricavare la definizione delle tabelle relazionali dallo schema concettualeDevi popolare queste tabelle con alcuni dati campione


venerdì 24 ottobre 2008


2)Vogliamo memorizzare i cantanti (nome, età) e le canzoni (titolo, anno di publicazione) preferite dagli studenti (nome, età). Inoltre si vuole memorizzare in quali siti web (indirizzi sito, nomeUtente, password) le vanno ad ascoltare.


1)Si vuole memorizzare gli insegnanti e gli studenti della classe 5ALE. In particolare i nomi e le mail degli studenti e il nome e la materia di ciascun insegnante.

martedì 21 ottobre 2008

Vogliamo memorizzare i cantanti(nome,età) e le canzoni(titolo, anno pubblicazione) preferite dagli studenti(nome,età). Inoltre si vuole memorizzare in quali siti web(indirizzo sito, nomeUtente, password) le vanno ad ascoltare.

giovedì 25 settembre 2008

Auguri alla classe 5\Ale

Auguri a tutti i fraidi della 5\Ale