Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.

Slides:



Advertisements
Presentazioni simili
TIPI STANDARD DI SQL BOOLEAN Valori: vero, falso CHAR(n)
Advertisements

Modulo 5 DataBase ACCESS.
Introduzione al linguaggio C++
Structured Query Language
DBMS (DataBase Management System)
SQL applicato a SQL Server
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
1 Comandi per la manipolazione dei dati. 2 Tipi di comandi INSERT UPDATE DELETE COMANDI COMANDI 2.
Sistemi per il recupero delle informazioni
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
1 SQL come linguaggio di definizione di dati Eugenio Di Sciascio.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Massimo Mancino MODULO DIDATTICO - Ambienti.
SQL Structured Query Language
Sistemi di Elaborazione delle Informazioni Modello Relazionale
Archivio Necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
SQL Per la modifica di basi di dati
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Equivalenza di espressioni
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Implementare un modello di dati
INFORMATICA Corso Base Modulo G: I DataBase  Access.
LE BASI DI DATI E IL LINGUAGGIO SQL.
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
sql: esempi di linguaggio sql nell'implementazione mysql
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
SQL.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
DATABASE Introduzione
LINGUAGGIO S Q L breve presentazione curata da Aldo Pappalepore
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
SQL (IV) Data Definition Language/ Data Manipulation Language.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
IV D Mercurio DB Lezione 2
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
SQL (III) Data Definition Language/ Data Manipulation Language.
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Vincoli interrelazionali
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Lezione 5 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Approfondimenti SQL.
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Basi di Dati attive. Sistemi Informativi DEE - Politecnico di Bari E. TinelliBasi di dati attive2 Definizione Una base di dati si dice attiva quando dispone.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
Lezione 4 – Linguaggi ed Interazione. Linguaggi La comunicazione è essenziale tra gli esseri umani Se vogliamo chiedere informazioni stradali ad un passante.
Transcript della presentazione:

Linguaggio SQL

Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo l’utente non ha la necessità di conoscere né le modalità con le quali le informazioni sono state fisicamente registrate, né i cammini per ritrovare le informazioni contenute nella base di dati. Le informazioni vengono ritrovate effettuando interrogazioni e controllando il valore di verità di determinate condizioni, senza indicare le operazioni necessarie per arrivare alle registrazioni richieste. Si parla allora di linguaggio per basi di dati, intendendo un insieme completo di comandi che consente e facilita le operazioni di definizione e di manipolazione del database.

 Il linguaggio SQL (Structured Query Language) è un linguaggio non procedurale o di tipo dichiarativo, ed è ormai da tempo uno degli standard tra i linguaggi per le basi di dati relazionali.  Diverse versioni, che sono aderenti agli standard internazionali ANSI e successivamente ISO.  Tutte si rifanno alla versione dello standard adottato nel 1992, detto SQL-2 o SQL-92 e al successivo standard, indicato con SQL-3, pubblicato nel IL LINGUAGGIO SQL

Assolve alle funzioni di:  DDL (Data Definition Language): linguaggio per la definizione della struttura delle relazioni della base di dati; serve quindi per la descrizione dei dati, a creare tabelle, vincoli, ecc.  DML (Data Manipulation Language): linguaggio per il trattamento (o manipolazione) dei dati contenuti nel database. In particolare consente le inserimenti, modifiche o cancellazioni di tuple.  DCL (Data Control Language): linguaggio per fissare i vincoli di integrità, per stabilire le autorizzazioni agli accessi e i tipi di permessi consentiti agli utenti (inserimento di nuovi dati, sola lettura, modifica dei dati).  Query Language: linguaggio per le interrogazioni alla base di dati, che consente il ritrovamento dei dati che interessano, sulla base dei criteri di ricerca richiesti dall’utente.

 Sql non distingue tra lettere minuscole e maiuscole nelle parole chiavi delle istruzioni e nemmeno nei nomi di tabelle, colonne e altri oggetti.  Gli identificatori utilizzati per i nomi delle tabelle e degli attributi devono: avere lunghezza massima pari a 18 caratteri; iniziare con una lettera; contenere come unico carattere speciale il trattino basso. Concetti fondamentali:

 L’Sql standard prevede la possibilità di inserire commenti (--)  Nella terminologia SQL le relazioni sono chiamate tabelle, le tuple righe o registrazioni e gli attributi sono le colonne delle tabelle.  Per riferirsi a un attributo di una tabella si utilizza la seguente notazione: Nometabella.Nomeattributo

I tipi di dato utilizzati per gli attributi sono:Stringhe Valori numerici Informazioni data/orario N.B: Occorre osservare che alcune versioni di Sql in specifici ambienti DBMS differiscono dallo standard nell’indicazione dei tipi di dati. TIPI DI DATI

 Stringhe: Variabili Costanti Apici singoli o doppi

 Valori numerici (P=precisione ossia numero massimo di cifre,S=scala ossia numero di cifre dopo il punto decimale) Decimal decimal(p,s) 1<=p<=45, 0<=s<=p Integer intero con p=10 (da – a ) Smallint intero con p=5 (da –32768 a 32767) Float Real numeri reali a virgola mobile Double precision

 Data/orario DATE data nella forma MM/GG/AA TIME Ora nella forma HH:MM

Operatori ed espressioni Operatori aritmetici

Operatori relazionali Operatori logici

Creare un DataBase Creare una tabella Istruzioni del DDL di SQL

Vincoli interni alla tabella  Not null  Not null (non ammissibilità dei valori indefiniti)  Unique(nomeattributo),  Unique(nomeattributo), indica che il dato deve essere unico in ogni riga  Primary keynomeattributo),  Primary key (nomeattributo), permette di identificare ciascuna riga osservazione: questo vincolo stabilisce che i dati non possono essere ne doppi ne indefiniti)

 Check(condizione)  Check(condizione) che indica un vincolo interno alla tabella  esempio: CREATE TABLE Studenti( Matricola CHAR(5) NOT NULL, Nome CHAR (30) NOT NULL, Cognome CHAR (30) NOT NULL, Datanascita DATE, Sezione CHAR (1) NOT NULL, Classe CHAR (1) NOT NULL, Eta INTEGER NOT NULL, PRIMARY KEY (Matricola) );

Vincoli esterni alla tabella Integrità referenziale foreign key Integrità referenziale, cioè attributi che possono assumere soltanto dei valori specificati in un'altra tabella. SQL permette di utilizzare questa regola tramite un apposito costrutto, foreign key (chiave esterna): si crea un collegamento tra gli attributi della tabella che state creando con un insieme di attributi di una tabella già esistente. CREATE TABLE Dipartimenti( CodiceDip smallint PRIMARY KEY, Descrizione char(15) NOT NULL, Sede char(10)); CREATE TABLE Impiegati( Matricola smallint PRIMARY KEY, Cognome char(30) NOT NULL, Nome char(30) NOT NULL, Residenza char(30), DipartID smallint NOT NULL, FOREIGN KEY(DipartID) REFERENCES Dipartimenti (CodiceDip));

Ulteriori comandi CREATE TABLE Impiegati( ID smallint PRIMARY KEY, Cognome char(30) NOT NULL, Nome char(30) NOT NULL, Residenza char(30), Fkdipart char(5) NOT NULL, FOREIGN KEY(Fkdipart) REFERENCES Dipartimenti (CodiceDip), On Delete set null, On Update cascade ); La dichiarazione On Delete set null, serve per eliminare i record correlati a catena, mentre On Update cascade, permette di aggiornare campi collegati. Ad esempio se nella tabella Dipartimenti viene eliminato un record, con esso viene eliminata anche la sua chiave primaria e tutti i record nella tabella Impiegati correlati con esso, avranno il valore null nella chiave esterna.

Ulteriori comandi In alternativa alle dichiarazione On Delete set null, e On Update cascade, si possono utilizzare On Delete no action, e On Update no action, che impediscono di cancellare un record della tabella Dipartimenti correlato alla chiave esterna di Impiegati o di modificare il valore della chiave primaria di un Dipartimento. Se nella clausola FOREIGN KEY non appaiono dichiarazioni, il comportamento del sistema per garantire l’integrità referenziale è del tipo no action.

Modifica della struttura della tabella  Aggiunta di nuove colonne ALTER TABLE nometab ADD nomecol tipocol;  Eliminazione di colonne esistenti ALTER TABLE nometab DROP nomecol; Eliminazione di una tabella DROP TABLE nometab;

Inserimento, modifica e eliminazione dei dati  Inserimento INSERT INTO nometab (col1, col2, … coln) VALUES (val1, val2, …, valn); Esempio: INSERT INTO Studenti(Matricola, Nome, Cognome, Sezione, Classe ) VALUES (‘23434’, ‘Mario’, ‘Bianchi’, ‘A’, ‘1’); Istruzioni del DML di SQL

 Modifica UPDATE nometab SET nomecol1 = valore WHERE (condizione); Esempio UPDATE Dipartimenti SET Sede = ‘roma’ WHERE ( CodiceDip = ‘23434’) ;  Eliminazione DELETE FROM nometab WHERE condizione; Se la condizione non viene indicata si cancellano tutte le righe!!