Introduzione al linguaggio SQL



Похожие документы
Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

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

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

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

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

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

Laboratorio di Basi di Dati e Web

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

DBMS (Data Base Management System)

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

DATABASE.

Corso sul linguaggio SQL

Corso di Laboratorio di Basi di Dati

SQL (STRUCTURED QUERY LANGUAGE)

Introduzione a MySQL

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

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

Volumi di riferimento

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

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

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

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

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Le Basi di Dati. Le Basi di Dati

Laboratorio di Basi di Dati

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

Sistemi per la gestione di database: MySQL ( )

Istruzioni DML di SQL

Linguaggio SQL. Structured Query Language

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

Corso di Informatica (Basi di Dati)

Archivi e Basi di Dati

Definizione di domini

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database

Dispensa di database Access

Informatica per le discipline umanistiche 2 lezione 10

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

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

Basi di Dati: Corso di laboratorio

MySQL Database Management System

DATABASE RELAZIONALI

Corso di Informatica Generale 1 IN1. Linguaggio SQL

CONCETTO DI ANNIDAMENTO

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

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

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

SQL. Alcune note sulla definizione dei dati

2104 volume III Programmazione

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

I database relazionali (Access)

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

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

PROGRAMMA DI CLASSE 5AI

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

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

Lezioni di Laboratorio sui Data Base

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

OSSIF WEB. Manuale query builder

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

MODULO 5 ACCESS Basi di dati. Lezione 4

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

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

Capitolo 13. Interrogare una base di dati

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

Gestione delle tabelle

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Organizzazione delle informazioni: Database

IL DAT A B A S E DI ALGE B R A N D O

User Tools: DataBase Manager

Presentazione Data Base

Il database management system Access

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Database. Francesco Tapparo Informatica e Bioinformatica /16

Tipi MULTISET: accesso

Corso sul linguaggio SQL

Lezione 8. Metadati, Viste e Trigger

Al giorno d oggi, i sistemi per la gestione di database

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Informatica I per la. Fisica

Database. Si ringrazia Marco Bertini per le slides

I DATABASE Database relazionale

I Sistemi Informativi

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

DATA BASE MANAGEMENT SYSTEM

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

Database Manager Guida utente DMAN-IT-01/09/10

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

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

Interrogazioni complesse. SQL avanzato 1

Lorenzo Braidi. Database design. Libro_datadesign.indb :06:17

Транскрипт:

Introduzione al linguaggio SQL Structured Query Language (Linguaggio Strutturato di Interrogazione di Database) prof. Cleto Azzani IPSIA MORETTO BRESCIA (2004)

Che cos è un Data Base (Base di dati) Insieme di Dati Strutturato in Tabelle, Record Campi, Relazioni Gestito da un Motore (Data Base Engine) 2

Alle Origini dei DataBase CSV (comma separated values) si tratta di file di testo nel quale i campi sono fra di loro separati da un carattere separatore : virgola, punto-virgola, TAB; i record vengono inseriti senza un ordine prestabilito. ISAM (Indexed Sequential Access Method), I record vengono inseriti in modo ordinato in fase di scrittura così da accelerare il processo di lettura; si introducono archivi sussidiari denominati indici B-Trieve, DBIII, DBIV, Clipper, Paradox appartengono alla categoria dei Database non relazionali. 3

Data Base Engine Elenco di alcuni fra i più affermati motori: Microsoft Access Borland BDE (Tabelle DBIII-Paradox) Interbase (SQL) (multipiattaforma Windows e Unix) Microsoft SQL Server MySQL (multipiattaforma Windows e Unix) Oracle SQL Transact - SQL PostgreSQL SQLInformix DBII SQL 4

Problematiche più ricorrenti Ridondanza dei dati (..spesso inserisco Cognome, Nome ed Indirizzo del medesimo soggetto in applicativi diversi che fanno riferimento a Basi Dati non relazionate fra loro; corro il rischio di inserire dati non uniformi..) Uniformità dei dati (..una volta inserisco IPSIA Moretto, un altra volta inserisco I.P.S.I.A. Moretto, oppure IPIA Moretto ho fatto uso di dati non uniformi) Indipendenza dalla piattaforma (..spesso su sistemi diversi la stessa operazione si fa in modo notevolmente diverso e ciò crea problemi..) Sicurezza delle transazioni (..sto inserendo nel database tutte le fatture dell'ultimo semestre; va via la corrente: non so se l' ultima me l'ha presa o no! cosa faccio?, devo ricostruire l' intera tabella delle fatture per essere certo che non ci siano valori doppi o inseriti a metà??"..) Gestione corretta ambiente multiutente (..Mi spieghi perché io sono certo di avere inserito l'ordine per le ultime dieci autovetture a nome del mio miglior cliente e quelle sono finite invece al peggior cliente di un' altro commerciale? eppure SO di averle fermate al magazzino io per primo..) 5

Il linguaggio SQL (Structured Query Language) L SQL è un "linguaggio" che permette di effettuare interrogazioni su un RDBMS (Relational DataBase Management System). Lo standard di riferimento prende il nome di ANSI SQL (SQL standardizzato della American National Standard Institute). Sebbene i produttori software affermino che il loro linguaggio è ANSI Compliant (compatibile con l ANSI SQL) nella realtà i vari linguaggi presentano differenze fra di loro. 6

Esempio: Archivio Libri di una Biblioteca Codice (Codice Progressivo Numerico) Autore (Stringa di caratteri max. 30 caratteri) Titolo (Stringa di caratteri max. 50 caratteri) Editore (Stringa di caratteri max. 30 caratteri) ISBN (Codice numerico a 10 cifre) Volume (Indicazione Numerica Volume) 7

Creazione di una tabella CREATE TABLE Libri (Codice INTEGER NOT NULL, Autore CHAR(30) NOT NULL, Titolo CHAR(50) NOT NULL, Editore CHAR(30) NULL, Isbn CHAR(10) NULL, Volume INTEGER NULL, PRIMARY KEY (Codice)); Char(x) - caratteri alfanumerici, x specifica il numero massimo di caratteri permessi nella campo (stringa di caratteri di lunghezza x). Integer dati interi, positivi o negativi, il cui valore massimo dipende dallo specifico DBMS. Numeric(x, y) - numeri decimali, x esprime il numero massimo di cifre permesse, y il numero di cifre dopo la virgola.(es.: Decimal(4,2) ammette come max il valore 99,99). Date formato data (tipo di dato specifico di ogni DBMS). Logical campo che può contenere solo uno valori: TRUE (vero) o FALSE (falso). Primary Key crea un indice primario per la nuova tabella; NB.: La clausola NOT NULL impone che il relativo campo non possa mai venire lasciato vuoto (deve sempre essere presente un valore); nel caso in cui si voglia invece permettere l' inserimento di record con quel determinato campo vuoto si usa la clausola NULL 8

Modifica della struttura di una tabella (Aggiunge o Rimuove Campi della Tabella) ALTER TABLE Libri ADD (Prezzo NUMERIC (5,2) NOT NULL); Aggiunge alla Tabella Libri il campo Prezzo di tipo Numeric(5,2); ALTER TABLE Libri DROP Volume; Rimuove dalla Tabella Libri il campo Volume; 9

Inserimento dati in una tabella (Tabella ristrutturata dopo le due istruzioni ALTER TABLE) INSERT INTO Libri VALUES (21, Giustozzi-Monti-Zimuel, Segreti spie codici cifrati, Apogeo, 8873034837,16.53); INSERT INTO Libri (Codice, Autore,Titolo,Editore,Prezzo) VALUES (32, Rubino-Zaccaria, Manuale Z80, Il Rostro, 4.53); 10

Query di Selezione Dati 1 SELECT * FROM Libri ; Seleziona tutti i campi presenti nella tabella Libri; SELECT Autore,Titolo,Editore FROM Libri ; Seleziona solamente i campi elencati; SELECT * FROM Libri WHERE (Editore = Apogeo ); Seleziona tutti i campi presenti nella tabella Libri dove l editore è Apogeo; SELECT Autore,Titolo,Editore FROM Libri WHERE (Prezzo > 10.0) ; Seleziona solamente i campi elencati dalla tabella Libri dove il prezzo supera i 10 ; 11

Query di Selezione Dati 2 La Clausola LIKE ed il carattere jolly % SELECT * FROM Libri WHERE Editore LIKE A% ; Seleziona tutti i redord presenti nella tabella Libri dove il nome dell editore inizia con la lettera A; % svolge le funzioni di carattere jolly SELECT * FROM Libri WHERE Editore LIKE %A% ; Seleziona tutti i record presenti nella tabella Libri dove il nome dell editore contiene al suo interno la lettera A; 12

Query di Selezione Dati 3 La Clausola ORDER BY (ASC/DESC) SELECT * FROM Libri ODER BY Titolo ASC; Seleziona i record presenti nella tabella Libri in ordine crescente (ASCending) per Titolo SELECT * FROM Libri ODER BY Autore; Seleziona tutti i record presenti nella tabella Libri in ordine crescente per Autore SELECT * FROM Libri ODER BY Prezzo DESC; Seleziona tutti i record presenti nella tabella Libri in ordine decrescente di Prezzo 13

Query di Selezione Dati 4 Le Clausole IN e BETWEEN SELECT * FROM Libri WHERE Editore IN ( Apogeo, Hoepli ); Seleziona tutti i record presenti nella tabella Libri dove l editore è Apogeo oppure Hoepli; SELECT * FROM Libri WHERE Prezzo BETWEEN 10 AND 15; Seleziona tutti i record presenti nella tabella Libri dove il prezzo è compreso fra 10 e 15 ; 14

SQL: Funzioni di Aggregazione 1 MAX, MIN, COUNT SELECT COUNT (*) FROM Libri WHERE (Editore = Apogeo ); Conta il numero di record presenti nella tabella Libri pubblicati dalla casa editrice Apogeo; SELECT MIN (Prezzo) FROM Libri WHERE (Editore = Hoepli ); Individua il prezzo minimo, nella tabella Libri, dei volumi pubblicati dalla casa editrice Hoepli; SELECT MAX (Prezzo) FROM Libri WHERE (Editore = Hoepli ); Individua il prezzo massimo, nella tabella Libri, dei volumi pubblicati dalla casa editrice Hoepli; 15

SQL: Funzioni di Aggregazione 2 SUM, AVG SELECT SUM (Prezzo) FROM Libri WHERE (Editore = Hoepli ); Calcola la somma dei prezzi, nella tabella Libri, dei volumi pubblicati dalla casa editrice Hoepli; SELECT AVG (Prezzo) FROM Libri WHERE (Editore = Apogeo ); Individua il prezzo medio, nella tabella Libri, dei volumi pubblicati dalla casa editrice Apogeo; 16

Query di Cancellazione Dati Cancella uno o più record in una tabella DELETE FROM Libri WHERE (Editore = Apogeo ); Cancella dalla tabella Libri tutti i record dove l editore è Apogeo; DELETE FROM Libri ; Cancella dalla tabella Libri tutti i record; 17

Query di Aggiornamento Dati Modifica uno o più record in una tabella UPDATE Libri SET Prezzo = 10.50 WHERE (Codice = 32); Aggiorna il campo Prezzo della tabella Libri dove il Codice vale 32; UPDATE Libri SET Codice = 23, Autore = Cleto Azzani, Titolo = Corso Introduttivo MPU MC6800, Editore = Motorola Semiconductors, ISBN = 0000000000, Prezzo = 12.40 WHERE (Codice = 32); Aggiorna i campi Codice, Autore, Titolo, Editore, ISBN, Prezzo della tabella Libri con i nuovi valori che seguono la frase SET ma solamente all interno del record dove il Codice vale 32; 18

Bibliografia "Introduction to Structured Query Language ver. 4.71" di James Hoffmann, http://w3.one.net/~jhoffman/sqltut.htm Appunti sui DataBase Relazionali e sul linguaggio SQL di Pietro Suffritti, http://www.suffritti.it Local SQL Help di Borland Delphi5 Professional 19