Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati



Documenti analoghi
Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

database: modello entityrelationship

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

Lezione V. Aula Multimediale - sabato 29/03/2008

Basi di Dati: Corso di laboratorio

Lezione 13. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri

Lezione 12. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Concetti fondamentali dei database database Cos'è un database Principali database

SQL Manuale introduttivo

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Definizione di domini

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

User Tools: DataBase Manager

Informatica per le discipline umanistiche 2 lezione 10

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Corso sul linguaggio SQL

MySQL Database Management System

Corso di Informatica

Organizzazione degli archivi

DBMS (Data Base Management System)

SQL Sintassi Dei Comandi

Corso di Informatica (Basi di Dati)

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

Access. P a r t e p r i m a

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

Laboratorio di Basi di Dati e Web

2104 volume III Programmazione

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

5.2.1 RELAZIONI TRA TABELLE Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

Corso di Informatica (Basi di Dati)

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Volumi di riferimento

Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

<?php include './include/page.php';

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

Lezioni di Laboratorio sui Data Base

Capitolo 13. Interrogare una base di dati

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

Il database management system Access

L interfaccia a riga di comando di MySql

Gestione delle tabelle

Vincoli di Integrità

SQL. Alcune note sulla definizione dei dati

Dispensa di database Access

Funzioni non documentate Openoffice.org. 3 Base mini-howto

Progettazione di un Database

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

OSSIF WEB. Manuale query builder

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

DATABASE. A cura di Massimiliano Buschi

Corso sul linguaggio SQL

COSTER. Import/Export su SWC701. SwcImportExport

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Introduzione a MySQL

SQL (STRUCTURED QUERY LANGUAGE)

Introduzione ai database relazionali

CONCETTO DI ANNIDAMENTO

Istruzioni DML di SQL

Raggruppamenti Conti Movimenti

TEORIA sulle BASI DI DATI

Entrare nel sistema. Clicca su Entra per entrare nel sistema. PAGINA 1

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

Le query. Lezione 6 a cura di Maria Novella Mosciatti

MySQL Command Line Client: operazioni fondamentali

Esercizio sui data base "Gestione conti correnti"

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

Esercizio data base "Biblioteca"

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

SQL - Tipi di dato Il linguaggio SQL

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Lezione 8. Metadati, Viste e Trigger

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

I database relazionali (Access)

Corso di Informatica Generale 1 IN1. Linguaggio SQL

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Amministrare MySQL con PhpMyAdmin

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Organizzazione delle informazioni: Database

2. LOGIN E RECUPERO DATI DI ACCESSO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

Corso su LINQ Lezione 16. Introduzione

I database. Cosa sono e a cosa servono i Database

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

GERARCHIE RICORSIVE - SQL SERVER 2008

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Linguaggio SQL. Structured Query Language

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro)

Transcript:

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 1

SQL: azioni sui dati Nella scorsa lezione abbiamo visto gli operatori aritmetici, di confronto e logici. Ora completiamo l argomento con i comandi che sono necessari per comporre istruzioni in SQL per maneggiare i dati. Vediamo, cioè, i VERBI di SQL, poiché le espressioni principali sono proprio costituite da cinque comandi che corrispondono ad azioni che si possono compiere sui dati. Si suole dire, per ricordarli meglio, che i verbi di SQL sono 5. Essi corrispondono alle operazioni possibili sui dati. Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 2

I 5 verbi di SQL I seguenti comandi consentono di effettuare, se combinati adeguatamente con gli operatori già visti, tutte le operazioni principali per trattare i dati: CREATE per creare le strutture (tabelle che conterranno i dati in un database INSERT per inserire i valori nei campi delle tabelle create DELETE per cancellare i valori nei campi delle tabelle create SELECT per selezionare (ricercare i dati rispondenti a determinati criteri (cioè per effettuare una query, ovvero un interrogazione UPDATE per aggiornare i valori dei dati secondo un determinato criterio Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 3

Traduzione del modello E/R in struttura fisica del database Riprendiamo alcuni concetti circa la corrispondenza tra il modello E/R e la struttura fisica (implementazione di una base di dati. Ricordate che: Le entità diventano le tabelle Gli attributi diventano i campi (colonne delle tabelle Le relazioni sono indicate tramite le chiavi (primarie ed esterne Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 4

Tabelle e relazioni In un database, dunque, una tabella corrisponde ad un entità. Gli attributi saranno i campi (le colonne della tabella e le relazioni si specificano utilizzando le chiavi. Si dice grado della tabella il numero di colonne che la costituisce. La singola riga di dati (cioè le informazioni relative ad una istanza si dice record. Codice targa Codice Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 5

Creare una tabella - 1 Per collezionare i dati in un database, occorre innanzitutto creare la struttura atta a contenerli. Occorre cioè creare una tabella (entità contenente i corrispondenti campi (attributi. Per fare ciò, si usa il comando CREATE TABLE. La sintassi è: CREATE TABLE <nome-tabella>(<specifiche> Tra parentesi vengono posti i nomi dei campi. Per ogni campo è specificato il tipo di dato e le sue dimensioni. Alcuni elementi di specifica sono opzionali: per esempio si può decidere se porre o meno dei vincoli sui campi (es. non deve essere nullo lo vedremo nei prossimi esempi Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 6

Creare una tabella - 2 Ricordiamo la sintassi del comando CREATE TABLE: CREATE TABLE <nome-tabella>(<specifiche> Tra parentesi vengono posti i nomi dei campi. Esempio: CREATE TABLE Anagrafica ( identificativo integer, cognome char(40, nome char(40, indirizzo varchar(60, telefono varchar(40 Per ogni campo è specificato il nome (a sinistra, il tipo di dato (a destra e le sue dimensioni (tra parentesi, ad esempio char(40 che significa tipo di dato alfanumerico che può essere lungo al massimo 40 caratteri. Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 7

Creare una tabella - 3 Si possono aggiungere anche alcuni vincoli, ad esempio dire: - se un valore deve essere inserito per forza (NOT NULL - se è previsto un valore preimpostato, che l utente può sempre cambiare (DEFAULT - inoltre si può specificare quale sia la chiave primaria Esempio (i vincoli sono posti a destra della dimensione: CREATE TABLE Anagrafica ( identificativo char(16, cognome char(40 NOT NULL, nome char(40 NOT NULL, indirizzo varchar(60 DEFAULT sconosciuto, telefono varchar(40 NOT NULL, PRIMARY KEY(identificativo NOTATE che ogni riga, sia in questo che nell esempio precedente, tranne l ultima prima della parentesi, deve terminare con una virgola. Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 8

Analizziamo quanto abbiamo scritto: Abbiamo creato la struttura (non vi abbiamo ancora immesso i dati di una tabella Anagrafica che contiene: Creare una tabella - 4 CREATE TABLE Anagrafica ( identificativo char (16, cognome char(40 NOT NULL, nome char(40 NOT NULL, indirizzo varchar(60 DEFAULT sconosciuto, telefono varchar(40 NOT NULL, PRIMARY KEY(identificativo Il campo identificativo (la chiave primaria, potrebbe essere anche il codice fiscale che distingue un nominativo da un altro Il campo cognome e il campo nome, entrambi non nulli e di lunghezza massima 40 Il campo indirizzo, di lunghezza massima 60, che propone per default, in immissione, la dicitura sconosciuto Il campo telefono, di lunghezza massima 40, che non può essere nullo. Alla fine dell elenco dei campi, prima della parentesi di chiusura, abbiamo specificato che il campo identificativo è la variabile primaria, ovvero nella tabella non sono ammessi due record (due nominativi diversi con lo stesso identificativo (così posso distinguere eventuali omonimie. Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 9

Modificare la struttura di una tabella -1 Una volta creata una tabella, potremmo aver bisogno di modificarne la struttura. Non è necessario cancellare la tabella e crearne un altra, poiché si possono utilizzare alcuni comandi che agiscono sulla struttura aggiungendo, cancellando, o modificando una colonna (ovvero un campo. Nella prossima slide vedremo come. Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 10

Modificare la struttura di una tabella -2 Sintassi del comando che consente di aggiungere una colonna: ALTER TABLE <nome-tabella>( ADD COLUMN<nome-colonna><tipo> <<altre caratteristiche> Comando per cancellare una colonna: ALTER TABLE <nome-tabella> ( DROP COLUMN <nome-colonna> Comando per modificare una colonna (es. aggiungere dei vincoli o cancellarli: ALTER TABLE <nome-tabella> ( ALTER COLUMN <nome-colonna> DROP DEFAULT ALTER TABLE <nome-tabella> ( ALTER COLUMN <nome-colonna> SET DEFAULT <valore-predefinito> Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 11

Modificare la struttura di una tabella -esempi - Per aggiungere una colonna: ALTER TABLE Anagrafica ( email char(50 NOT NULL abbiamo aggiunto alla tabella Anagrafica il campo email lungo al massimo 50 caratteri e con il vincolo NOT NULL, cioè deve essere sempre compilato in fase di immissione non può essere nullo Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 12

Modificare la struttura di una tabella -esempi - Per cancellare una colonna: ALTER TABLE Anagrafica ( DROP COLUMN telefono Abbiamo cancellato la colonna telefono dalla tabella Anagrafica (e, se avevamo già immesso i dati, anche tutti i dati contenuti nel campo! Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 13

Modificare la struttura di una tabella -esempi - Per modificare una colonna possiamo, ad esempio, togliere i valori di default. Ad esempio, avevamo impostato il campo indirizzo in modo che per default, all immissione, proponesse il valore sconosciuto. Con il seguente comando, facciamo in modo che, all immissione, non vengano proposti valori di default: ALTER TABLE Anagrafica ( ALTER COLUMN indirizzo DROP DEFAULT Se invece volessimo impostare un valore di default, per esempio imporre che il campo telefono proponesse il prefisso +39 (Italia all immissione, dovremmo scrivere: ALTER TABLE Anagrafica ( ALTER COLUMN telefono SET DEFAULT +39 Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 14

Come eliminare una tabella - 1 Infine vediamo come eliminare una tabella dal database. Il comando DROP permette di eliminare interamente una tabella (compresi i dati in essa contenuti!. La sintassi è: DROP TABLE <nome-tabella> Esempio: DROP TABLE Anagrafica Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 15

Come eliminare una tabella - 2 ATTENZIONE: l eliminazione di una tabella è consentita solo all utente che l ha creata Se creo un database sul mio pc e lo metto poi a disposizione di altri utenti che vi accedono (in rete da altre macchine, le tabelle potranno essere cancellate sempre (e solo da me, mentre agli altri utenti potrò dare permessi di lettura, inserimento, modifica o cancellazione dei dati. Vedremo nella prossima lezione come assegnare a differenti utenti i diversi permessi Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 16

INSERT - 1 Ora che abbiamo creato una tabella, vediamo come inserire i valori. Ovviamente qui parliamo di SQL standard, quindi dovremo usare i comandi. Non abbiamo cioè a disposizione interfacce, come avviene in molti RDBMS quali, ad esempio, Microsoft Access, cui faremo cenno nelle prossime lezioni. Per inserire i dati si usa il comando INSERT. Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 17

INSERT - 2 Permette di inserire una riga di valori (un record in una tabella. Sintassi: INSERT INTO <nome-tabella> VALUES (<espressione- 1>[,...<espressione-N>] Facciamo un esempio: INSERT INTO Anagrafica VALUES ( DPPPPO20D74S919X, 'Pippo', 'De Pippis', 'Via Topolinia 13', '0111,111111 pippo.depippis@email.com I dati, per essere inseriti, vanno posti tra apice singolo. Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 18

INSERT - 3 Qualche nota su quel che abbiamo scritto: INSERT INTO Anagrafica VALUES ( DPPPPO20D74S919X, 'Pippo', 'De Pippis', 'Via Topolinia 13', '0111,111111 pippo.depippis@email.com Come avrete sicuramente notato, i dati vanno posti nello stesso ordine dei campi. Per non sbagliare e dimenticarne qualcuno, è buona norma far precedere l elenco di valori dall elenco dei campi, come nell esempio della prossima slide. Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 19

INSERT - 4 Far precedere l elenco di valori dall elenco dei campi: Elenco dei campi Sintassi: INSERT INTO <nome-tabella> (<colonna-1>[,...<colonna-n>]] VALUES (<espressione-1>[,...<espressione-n>]; Elenco dei valori assegnati ai campi Adottando questa sintassi è difficile dimenticare di inserirne qualcuno. Nella slide successiva vedremo l esempio corrispondente Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 20

INSERT - esempio Esempio: INSERT INTO Anagrafica ( Identificativo, Cognome, Nome, Indirizzo, Telefono VALUES ( 01, 'Pippo', 'De Pippis', 'Via Topolinia 13', '0111,111111' Elenco dei campi Elenco dei valori assegnati ai campi Lez9 15.11.06 Trattamento dati. Database: il linguaggio SQL-prima parte 21