LABORATORIO di INFORMATICA
|
|
- Bonaventura Fantini
- 7 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO RELAZIONALE Perché studiare il Modello Relazionale?! È il modello più largamente usato! Produttori: IBM, Informix, Microsoft, Oracle, Sybase, MySQL, PostgreSQL, etc.! Sistemi proprietari nei modelli più vecchi! ad esempio IMS dell IBM! Modelli recenti: modello orientato agli oggetti! ObjectStore, Versant, Ontos! Una sintesi emergente: il modello relazionale ad oggetti! Informix Universal Server, UniSQL, O2, Oracle, PostgreSQL
2 Basi di dati relazionali: definizioni! Base di dati relazionale: un insieme di relazioni! Relazione: consiste di due parti:! schema: specifica il nome della relazione, più il nome e il tipo di ciascuna colonna (chiamata campo o attributo)! ad esempio: Studenti(sid:string, nome:string, login:string, età:integer, media:real)! istanza: una tabella, con righe e colonne. #righe = cardinalità, #campi = grado/arità! Possiamo pensare a una relazione come a un insieme di righe di t-uple (cioè tutte le righe sono distinte e l ordinamento è casuale) Esempio di istanza della relazione Studenti sid nome login età media Jones jones@cs Smith smith@eecs Smith smith@math ! Cardinalità = 3, grado = 5, tutte le righe sono distinte! L ordinamento delle righe è irrilevante! Devono essere anche distinte tutte le colonne nell istanza di una relazione?
3 Campi di una relazione! Nel modello relazionale i campi di una relazione sono identificati dal nome! L ordine delle colonne è irrilevante! In SQL in alcuni casi ci si riferisce alle colonne in base alla loro posizione! Ad esempio, per inserire una nuova tupla nella relazione! Vincoli di dominio! I valori di ciascun campo di una tupla devono appartenere ai domini associati in fase di definizione dello schema Base di dati relazionale! Base di dati relazionale! Collezione di relazioni con nomi di relazione distinti! Schema di base di dati relazionale! Collezione degli schemi per le relazioni nella base di dati! Istanza di una base di dati relazionale! Collezione di istanze di relazione, una per ogni schema di relazione nella BD
4 CREARE E MODIFICARE RELAZIONI CON SQL Introduzione In SQL la relazione è indicata con il nome di TABLE (tabella) Il sottoinsieme di SQL che consente di creare, cancellare e modificare le tabelle è chiamato DDL (Data Definition Language) SQL contiene domini predefiniti, e consente di definirne di nuovi
5 Introduzione! Vedremo nel seguito i comandi SQL per! definire, modificare, cancellare una tabella! Inserire, modificare, cancellare dati in una tabella! Di solito queste operazioni vengono effettuate mediante moduli in interfacce grafiche! il sistema invierà al DBMS i comandi SQL corrispondenti CREATE TABLE CREATE TABLE Studenti ( sid CHAR(20), nome CHAR(30), login CHAR(20), età INTEGER, media REAL)
6 Inserimento di valori in una tabella INSERT INTO Studenti(sid,nome,login,età,media) VALUES (52688, Smith, 18, 28.1)! I nomi delle colonne possono essere omessi se si devono inserire valori per tutti i campi! in questo caso la lista dei valori deve rispettare l ordinamento dei campi come definito nello schema Cancellazione di tuple DELETE FROM Studenti S WHERE S.nome = Smith La clausola WHERE specifica le tuple che vogliamo cancellare
7 Modifica dei valori di una tabella UPDATE Studenti S SET S.età = S.età + 1, S.media = 0.95*S.media WHERE S.sid = UPDATE Studenti S SET S.media = 0.95*S.media WHERE S.media <= 24.5 VINCOLI D INTEGRITÁ SULLE RELAZIONI
8 Vincoli di integrità (VI)! VI: condizione che deve essere vera per qualunque istanza della base di dati; ad esempio vincoli di dominio! I VI sono specificati quando si definisce lo schema! I VI sono controllati quando si modificano le relazioni! Una istanza legale di una relazione è una istanza che soddisfa tutti i VI specificati! I DBMS non dovrebbero permettere istanze illegali! Se il DBMS controlla i VI, i dati memorizzati sono più fedeli al significato nel mondo reale! Si evitano anche gli errori di inserimento! Vincoli di chiave primaria! Un insieme di campi è una chiave per una relazione se! due tuple distinte non possono avere gli stessi valori in tutti i campi chiave, e! ciò non è vero per qualunque sottoinsieme della chiave! La condizione 2 è falsa? Si ha una superchiave! Se c è più di una chiave, il DBA sceglie una delle chiavi come chiave primaria! Esempio sid è una chiave per Studenti (e nome?). L insieme {sid, media} è una superchiave
9 Chiavi primarie e candidate! Sono possibili molte chiavi candidate, una delle quali viene scelta come chiave primaria Per un dato studente e un dato corso, c è una singola classe oppure Gli studenti possono seguire solo un corso, e ricevere un singolo voto per quel corso; inoltre, nessuna coppia di studenti in un corso riceve lo stesso voto! Usato a sproposito, un VI può impedire la memorizzazione di istanze della base di dati che si presentano nella pratica! Specifica dei vincoli di chiave in SQL CREATE TABLE Studenti( sid CHAR(20), nome CHAR(30), login CHAR(20), età INTEGER, media REAL, UNIQUE(nome,età), CONSTRAINT ChiaveStudenti PRIMARY KEY (sid))
10 Chiavi esterne, integrità referenziale! Chiave esterna: insieme di campi in una relazione che viene usato per riferirsi a una tupla in un altra relazione (deve corrispondere alla chiave primaria della seconda relazione).! Simile a un puntatore logico! Se tutti i vincoli di chiave esterna sono garantiti, si raggiunge l integrità referenziale (nessuna referenza irrisolta)! HTML è un modello di dati senza integrità referenziale! Integrità referenziale Ad esempio, studid è una chiave esterna che fa riferimento a Studenti Iscritto(studid: string, cid: string voto: string)
11 Garantire l integrità referenziale! Che cosa si dovrebbe fare se viene inserita in Iscritti una tupla con un ID studente che non esiste? (Rifiutarla!)! Cosa fare se viene cancellata una tupla di Studenti?! Cancellare anche le tuple di Iscritti che vi fanno riferimento! Non permettere la cancellazione di tuple di Studenti cui si fa riferimento da Iscritti! Impostare a un sid predefinito il sid delle tuple di Iscritti che puntano a Studenti! In SQL, anche: impostare al valore speciale NULL (denota sconosciuto o inapplicabile ) il sid delle tuple di Iscritti che si riferiscono a Studenti (ma il sid in Studenti non può mai essere NULL) Specifica dei vincoli di chiave esterna in SQL CREATE TABLE Iscrizioni ( studid cid voto CHAR(20), CHAR(20), CHAR(10), PRIMARY KEY(studid,cid), FOREIGN KEY(studid) REFERENCES Studenti)
12 Da dove vengono i VI?! I VI sono basati sulla semantica dell organizzazione del mondo reale che viene descritta nelle relazioni della base di dati! Possiamo controllare l istanza di una base di dati per vedere se un VI viene violato, ma non possiamo MAI inferire che un VI è vero solo esaminando un istanza! Un VI è una asserzione su tutte le possibili istanze!! Analizzando l esempio si può scoprire che nome non è una chiave, ma è necessario ci sia un asserzione per stabilire che sid è una chiave! VI su chiavi e su chiavi esterne sono i più comuni; sono supportati anche VI più generali APPLICAZIONE DEI VINCOLI D INTEGRITÁ
13 Vincolo di chiave INSERT INTO Studenti(sid,nome,login,età,media) VALUES (53688, Mike, 17, 22.1) Questo inserimento viola il vincolo di chiave primaria, e pertanto il DBMS rifiuterà la richiesta INSERT INTO Studenti(sid,nome,login,età,media) VALUES (NULL, Mike, mike@ee, 17, 22.1) Questo inserimento viola il vincolo per cui la chiave primaria non può contenere NULL Considerazioni analoghe nel caso di operazioni di aggiornamento Vincoli di dominio! Le operazioni di inserimento e di aggiornamento sono accettate solo se i valori dei campi appartengono al dominio di definizione! Le operazioni di cancellazione non causano violazione dei vincoli di chiave primaria, unicità e di dominio
14 Vincoli di chiave esterna! Consideriamo le tabelle Studenti e Iscrizioni! La cancellazione di tuple in Iscrizioni non viola l integrità referenziale! Gli inserimenti di tuple in Iscrizioni possono violare l integrità referenziale d altra parte! La cancellazione di tuple in Studenti potrebbe violare l integrità referenziale! Gli inserimenti di tuple in Studenti non violano l integrità referenziale Vincoli di chiave esterna e SQL! Come gestire l inserimento in Iscrizioni di una riga con un valore di studid che non compare in Studenti?! Il comando INSERT viene ignorato
15 Vincoli di chiave esterna e SQL! Come gestire la cancellazione di una riga di Studenti? 1. Cancellare tutte le righe di Iscrizioni che la referenziano 2. Non consentire la cancellazione se vi sono righe di Iscrizioni che la referenziano 3. Impostare il valore di studid delle righe di Iscrizioni che la referenziano con un qualche valore predefinito 4. Impostare il valore di studid delle righe di Iscrizioni che la referenziano a NULL! Questa opzione è però in contrasto con il vincolo di chiave primaria per Iscrizioni Vincoli di chiave esterna e SQL! Come gestire la modifica dei valori di chiave primaria nella tabella Studenti?! Opzioni analoghe al caso di cancellazione
16 Vincoli di chiave esterna e SQL! SQL consente di scegliere separatamente una delle quattro opzioni per operazioni di cancellazione (DELETE) e aggiornamento (UPDATE) 1. CASCADE 2. NO ACTION (operazione predefinita) 3. SET DEFAULT Il valore di default è specificato in fase di definizione del dominio del campo 4. SET NULL Esempio CREATE TABLE Iscrizioni ( studid CHAR(20), cid CHAR(20), voto CHAR(10), PRIMARY KEY(studid,cid), FOREIGN KEY(studid) REFERENCES Studenti ON DELETE CASCADE ON UPDATE NO ACTION)
17 ELIMINAZIONE E MODIFICA DI TABELLE Eliminazione di tabelle DROP TABLE Studenti Elimina la tabella Studenti DROP TABLE Studenti RESTRICT Elimina la tabella solo se nessuna vista è definita a partire da Studenti
18 Modifica di tabelle ALTER TABLE Studenti ADD COLUMN NomeTutore CHAR(10) Aggiunge una colonna alla tabella Studenti. Il comando ALTER consente anche di cancellare e modificare colonne aggiungere e cancellare vincoli di integrità INTERROGARE BASI DI DATI RELAZIONALI
19 Interrogazione (query)! Può essere definita come una domanda sui dati e la risposta consiste in una nuova relazione! Un linguaggio di interrogazione è un linguaggio specializzato per scrivere interrogazioni Linguaggi di Interrogazione Relazionali! Uno dei punti di forza del modello relazionale: supporta un semplice ma potente linguaggio di interrogazione dei dati.! Le interrogazioni possono essere scritte in maniera intuitiva, e il DBMS è responsabile di una valutazione efficiente! Fattore chiave: semantica precisa per le interrogazioni relazionali.! Permette all ottimizzatore di riordinare estensivamente le operazioni, garantendo che la risposta non cambi
20 Esempio SQL SELECT * FROM Studenti S WHERE S.età < 18 È la formulazione in SQL della domanda: Quali sono i dati degli studenti che hanno meno di 18 anni? Esempio SQL SELECT S.nome, I.cid FROM Studenti S, Iscrizioni I WHERE S.sid = I.studid AND I.voto=30 È la formulazione in SQL della richiesta: Mostrare il nome degli studenti e il corso nel quale hanno ottenuto un voto pari a 30
21 Modello relazionale: sommario! Una rappresentazione tabellare dei dati! Semplice e intuitivo, attualmente il più usato! Il DBA può specificare vincoli di integrità basati sulla semantica dell applicazione. Il DBMS controlla eventuali violazioni! Due VI importanti: chiavi primarie e chiavi esterne! Inoltre abbiamo sempre vincoli di dominio! Esistono linguaggi di interrogazione potenti e naturali
Lezione 3. Il modello relazionale
Lezione 3 Il modello relazionale Pag.1 Perché studiare il Modello Relazionale? E un modello dati vicino alla logica di funzionamento del DBMS È il modello più largamente usato Produttori: IBM, Microsoft,
DettagliIL MODELLO RELAZIONALE
Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Codd 1970 Indipendenza dei dati Distinzione nella descrizione dei dati tra livello fisico e livello logico Vendors IBM,Informix,Microsoft,Oracle,Sybase
DettagliSQL: DDL, VI, Aggiornamenti e Viste
SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce
DettagliSQL: Definizione e Manipolazione di Relazioni. Capitolo 2
SQL: Definizione e Manipolazione di Relazioni Capitolo 2 1 Sintassi della Creazione di uno Schema Relazionale CREATE TABLE ( [NOT NULL] [UNIQUE] [],...,...,
DettagliTipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata
Domini Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata numeric [(Precisione [,Scala])] decimal [(Precisione [,Scala])] integer smallint Precisione specifica il numero di
DettagliLaboratorio di Basi di Dati e Multimedia
Laboratorio di Basi di Dati e Multimedia Laurea in Informatica Multimediale - A.A. 2006/07 Docente: Alessandra Di Pierro Email: dipierro@sci.univr.it Lezione 2 Vincoli intrarelazionali Proprietà che devono
DettagliIL MODELLO RELAZIONALE
IL MODELLO RELAZIONALE Origine del Modello Relazionale 2 Proposto nel 1970 da Ted Codd (Centro Ricerche IBM) Dagli anni 80 è il modello di riferimento per i DBMS Oracle, IBM, MicrosoF, MySQL, PostgreSQL,
DettagliIL MODELLO RELAZIONALE (CAP 2) R. Basili, aa. 2011/2012
1 IL MODELLO RELAZIONALE (CAP 2) R. Basili, aa. 2011/2012 IL MODELLO RELAZIONALE (CAPITOLO 2) Cood 1970 Indipendenza dei dati Distinzione nella descrizione dei dati tra livello fisico e livello logico
DettagliIL MODELLO RELAZIONALE (CAPITOLO 2)
Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Codd 1970 Indipendenza dei dati Distinzione nella descrizione dei dati tra livello fisico e livello logico Vendors IBM,Informix,Microsoft,Oracle,Sybase
DettagliPRODOTTO CARTESIANO Caso Generale
PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti
DettagliVincoli. Chiavi esterne Vincoli locali e globali Triggers Leggere Cap 2 Riguzzi et al. Sistemi Informativi
Vincoli Chiavi esterne Vincoli locali e globali Triggers Leggere Cap 2 Riguzzi et al. Sistemi Informativi Lucidi derivati da quelli di Jeffrey D. Ullman 1 Vincoli e Triggers Un vincolo e una relazione
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al
DettagliUniversita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida
DettagliIl linguaggio SQL. Il linguaggio SQL
Il linguaggio SQL 1 Il linguaggio SQL 2 il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è
DettagliIl linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL
Il linguaggio SQL 1 Il linguaggio SQL 2 il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è
DettagliSQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:
SQL SQL (pronunciato anche come l inglese sequel): acronimo di Structured Query Language (linguaggio di interrogazione strutturato) Linguaggio completo che presenta anche proprietà di: DDL (Data Definition
DettagliInformatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:
Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno 2012 Cognome e nome: Matricola: Parte prima Domanda 1 Domanda 2 Domanda 3 Totale Istruzioni: È vietato portare
DettagliCorso di Basi di Dati
Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ 1 Linguaggi per DBMS Il modello relazionale definisce i concetti generali ed i vincoli per modellare
DettagliCorso di Basi di Dati A.A. 2015/2016
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 - Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 06/04/2016 Esercizio 1 Dare
DettagliIl Modello Relazionale
Il Modello Relazionale (Capitolo 2) Cood 1970 Indipendenza dei dati Distinzione nella descrizione dei dati tra livello fisico e livello logico Vendors IBM,Informix,Microsoft,Oracle,Sybase 1 Progettazione
DettagliStringhe di caratteri
Domini primitivi In SQL sono disponibili alcune famiglie di domini elementari attraverso le quali è possibile definire i domini di appartenenza dei campi. Stringhe di caratteri CHARACTER [VARYING] [(NumeroCaratteri)]
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Settima parte Interrogazione di una
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple
DettagliD B M G 2. Linguaggio SQL: fondamenti. Istruzioni di aggiornamento. Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE
Linguaggio SQL: fondamenti DB M B G Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE D B M G 2 DB M B G (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple D B M G 4 (2/3)
DettagliElena Baralis 2013 Politecnico di Torino 1
Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti D B M G 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple D B M G 4 (2/3) INSERT inserimento
DettagliModello relazionale: Concetti Base. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
Modello relazionale: Concetti Base Schema di una Relazione Lo schema di una relazione specifica: Il nome della relazione Il nomediognicampo(o colonna o attributo) e il dominio di ciascun campo Esempio:
DettagliSQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe
SQL SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe Operazioni di aggiornamento Abbiamo visto come creare tabelle e come interrogarle. Vedremo ora come popolarle
DettagliCorso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste
Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check
DettagliIL MODELLO RELAZIONALE. Patrizio Dazzi a.a
IL MODELLO RELAZIONALE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONE AI MIEI CARI STUDENTI! La mail che mandate per la Mailing List deve avere come Oggetto/Subject [BDD-INFUMA-2017-18] e come contenuto:
DettagliLinguaggio SQL: fondamenti D B M G
Linguaggio SQL: fondamenti Gestione delle tabelle Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati Creazione di una tabella
DettagliD B M G. Linguaggio SQL: fondamenti. Gestione delle tabelle
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati Creazione di una tabella (1/3) Si utilizza
DettagliCorso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati
Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire
DettagliCorso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati
Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire
DettagliCreazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2007 Politecnico di Torino 1 Creazione di
DettagliLinguaggio SQL: fondamenti
Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE 2 2007 Politecnico di Torino 1 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 2007 Politecnico di Torino 2 (2/3)
DettagliElena Baralis 2007 Politecnico di Torino 1
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati Creazione di una tabella (1/3) Si utilizza
DettagliManuale SQL. Manuale SQL - 1 -
Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 3 - Aggiornamento dati 1 Prerequisiti Conoscenza tipi di dato in SQL Creare e gestire tabelle e indici 2 1 Introduzione In questa Unità descriviamo la parte di
DettagliDDL (Data Definition Language) schemi DML (Data Manipulation Language) DQL (Data Query Language) DCL (Data Control Language)
o o o o o DDL (Data Definition Language): consente di creare e modificare schemi di database; DML (Data Manipulation Language): consente di inserire, modificare e gestire i dati memorizzati; DQL (Data
DettagliIl linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL
: fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire
DettagliElena Baralis 2007 Politecnico di Torino 1
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2007 Politecnico di Torino 1 Creazione di
DettagliLaboratorio di Sistemi Informativi
Laboratorio di Sistemi Informativi Corso di Laurea in Informatica - A. A. 2006-2007 Modifica degli schemi Inserimento, cancellazione e modifica dei dati Donatella Merlini Dipartimento di Sistemi e Informatica
DettagliInterpretazione delle query nidificate
Interpretazione delle query nidificate Per analizzare il risultato di una interrogazione nidificata si può supporre di valutare prima il risultato dell interrogazione nidificata (query interna) per poi
Dettagliinsert into Dipartimento(NomeDip, Città) values('produzione','torino') insert into ProdottiMilanesi (select codice, descrizione from Prodotto
Inserimento insert into Dipartimento(NomeDip, Città) values('produzione','torino') Si utilizza in genere mediante una form per consentire agli utenti di inserire dati. L'ordinamento degli attributi (se
DettagliTabelle esempio: Impiegato/Dipartimento
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (4) Query di aggiornamento Prof. Alberto Postiglione
DettagliLABORATORIO di INFORMATICA
Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto BASI DI DATI GEOGRAFICHE http://www.diee.unica.it/giacinto/lab
DettagliSISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini
SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione
DettagliSQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. Linguaggio di interrogazione per basi di dati relazionali
SQL Linguaggio di interrogazione per basi di dati relazionali SQL Structured Query Language Linguaggio di interrogazione per basi di dati relazionali. Permette di comunicare con diversi sistemi tramite
DettagliInserimento. Cancellazione. Modifica. INSERT INTO Persone VALUES ('Mario',25,52) INSERT INTO Persone(Nome, Eta, Reddito) VALUES('Pino',25,52)
Inserimento insert into Dipartimento(NomeDip, Città) values('produzione','torino') Si utilizza in genere mediante una maschera (form) per consentire agli utenti di inserire dati. L'ordinamento degli attributi
DettagliAspetti avanzati nella definizione degli schemi DDL2 1
Aspetti avanzati nella definizione degli schemi DDL2 1 Aspetti avanzati del DDL Creazione di indici Modifica degli schemi Gestione di viste Autorizzazioni d'accesso Vincoli di integrità Procedure e regole
DettagliSQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2017/2018 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2017-18.htm Prof.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliIntroduzione. Il Modello Relazionale. Relazioni e Tabelle. Relazioni Matematiche - 1. Relazioni Matematiche - 2. Relazioni Matematiche - 3
Università degli Studi di Udine Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA Il Modello Relazionale Donatella Gubiani 10 marzo 2011 È un
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio SQL è
DettagliSQL. Dott.ssa Elisa Quintarelli
Corso Basi di Dati Dott.ssa Elisa Quintarelli SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali È un linguaggio con varie funzionalità:
DettagliPrincipi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento
Principi di Progettazione del Software a.a. 2016-2017 Prof. Università del Salento Linguaggi per DBMS Il modello relazionale definisce i concetti generali ed i vincoli per modellare e strutturare i dati
DettagliCorso di Basi di Dati
Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2016/2017 7 SQL : Check, Asserzioni,Viste Tiziana Catarci Ultimo aggiornamento : 22/02/2017 Costrutti Avanzati
DettagliLezione 5. Il Modello dei Dati Relazionale Vincoli sui Database Relazionali
Lezione 5 Il Modello dei Dati Relazionale Vincoli sui Database Relazionali 1 Sommario Concetti del Modello Relazionale Vincoli del Modello Relazionale e degli Schemi di Database Relazionali Operazioni
DettagliA.Veneziani Vincoli di integrità e vincoli di integrità referenziale
A.Veneziani Vincoli di integrità e vincoli di integrità referenziale A cosa servono In genere in un DB i campi che definiscono le associazioni tra tabelle possono essere lasciati liberi di assumere qualsivoglia
DettagliMattia Fazzi: 14/05/2019
Mattia Fazzi: mattia.fazzi@student.unife.it 14/05/2019 SQL Linguaggio utilizzato per definire i dati nel database. Definire i vincoli. Possibilità di creare, modificare e eliminare le tabelle. CREATE TABLE
DettagliCap. 7 -Trigger e loro uso
1 SOMMARIO 2 Introduzione... 3 Definizione standard di trigger... 10 Cap. 7 -Trigger e loro uso Uso dei trigger e integrità referenziale... 18 Comportamento attivo delle BD Si realizza disponendo di un
DettagliPrincipi di Progettazione del Software a.a Il linguaggio SQL. Linguaggi per DBMS
Principi di Progettazione del Software a.a. 2017-2018 Ing. Università del Salento Linguaggi per DBMS Il modello relazionale definisce i concetti generali ed i vincoli per modellare e strutturare i dati
DettagliVincoli di integrità
Vincoli di integrità In SQL è possibile specificare dei vincoli di integrità sui dati, sia quelli propri del modello relazionale che quelli che specificano le regole aziendali. Vincoli di dominio. Essi
DettagliElena Baralis 2007 Politecnico di Torino D B M G M BG. Gestione delle tabelle. Linguaggio SQL: fondamenti. Creazione di una tabella (1/3)
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella izionario dei dati Integrità dei dati Creazione di una tabella (1/3) Si utilizza
DettagliIl linguaggio SQL costrutti DDL.
Il linguaggio SQL costrutti DDL foglia@iet.unipi.it Sommario Costrutti per la creazione dello schema Costrutti per la creazione delle tabelle Costrutti per la modifica dello schema modifica/cancellazione
DettagliSQL DDL. Create database. Alter database. Drop database
SQL In informatica, SQL (Structured Query Language) è un linguaggio standardizzato per database basati sul modello relazionale (RDBMS), progettato per le seguenti operazioni: creare e modificare schemi
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 6 Raffaella Gentilini 1 / 40 Sommario 1 Viste 2 3 2 / 40 Viste Viste le viste sono tabelle virtuali corrispondono al risultato di una query (SELECT) valutata
DettagliLe relazioni hanno una naturale rappresentazione per mezzo di. D. Gubiani Il Modello Relazionale 3
Università degli Studi di Udine Facoltà di Agraria CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Sistemi di Elaborazione dell Informazione Il Modello Relazionale D. Gubiani 19
DettagliI.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1
I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice
DettagliCorso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.
Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Modello relazionale 2 Il modello logico relazionale Introduzione Definizioni Riferimenti tra relazioni
DettagliVincoli, procedure e regole attive in SQL. SQL: vincoli, trigger 1
Vincoli, procedure e regole attive in SQL SQL: vincoli, trigger 1 Qualità dei dati Qualità dei dati: correttezza, completezza, attualità In molte applicazioni reali i dati sono di scarsa qualità (5% -
DettagliProgettazione concettuale usando il modello Entità-Relazione (ER)
Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità
DettagliV. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1
Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,
DettagliCorso di Basi di Dati A.A. 2016/2017
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2016/2017 MySQL: Creazione di Schemi ed Interrogazioni Francesco Leotta Ultimo aggiornamento : 16/03/2017
Dettaglirecord a struttura fissa
Modello Relazionale E un modello logico: definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso tabelle. Es. (relazioni INSEGNAMENTO
DettagliCorso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL
Corso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL Francesco Leotta Ultimo aggiornamento : 03/04/2013 Il DBMS che utilizzeremo: MySQL MySQL è un RDBMS open-source disponibile gratuitamente
DettagliCorso di Basi di Dati A.A. 2015/2016
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 E3 - MySQL: Creazione di Schemi ed Interrogazioni Tiziana Catarci, Andrea Marrella Ultimo aggiornamento
DettagliSQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)
SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri
Dettagli8 SQL : Check, Asserzioni,Viste
Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2011/2012 8 SQL : Check, Asserzioni,Viste
DettagliSQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto
SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati
DettagliInterrogazioni nidificate
Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,
DettagliLinguaggio SQL: costrutti avanzati D B M G
Linguaggio SQL: costrutti avanzati D B M G Controllo dell accesso Sicurezza dei dati Risorse e privilegi Gestione dei privilegi in SQL Gestione dei ruoli in SQL D B M G 2 Sicurezza dei dati Protezione
DettagliCorso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a
Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2013-2014 Docente: Gigliola Vaglini Docente laboratorio: Francesco Pistolesi Lezione 3 Structured Query Language
DettagliLinguaggio SQL: costrutti avanzati Controllo dell accesso
Linguaggio SQL: costrutti avanzati D B M G Sicurezza dei dati Risorse e privilegi Gestione dei privilegi in SQL Gestione dei ruoli in SQL D B M G 2 Pag. 1 1 D B M G Sicurezza dei dati Protezione dei dati
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle
DettagliFondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/19 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia
DettagliSQL. Lezione 1. Docente: Alberto Belussi
LaboratoriodiBasidiDatieWeb Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio SQL è
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo
DettagliModello relazionale e algebra relazionale
Modello relazionale e algebra relazionale DB M B G Modello relazionale Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli d integrità Chiave primaria Vincoli di tupla e di dominio
DettagliMicrosoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti
Microsoft Access Nozioni di base Contatti: Dott.ssa Silvia Bonfanti silvia.bonfanti@unibg.it Introduzione In questa lezione vedremo lo strumento Microsoft Access ed impareremo come realizzare con esso
DettagliDATABASE PER IL WEB. Programmazione Web 1
DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca
DettagliIl linguaggio SQL: DDL di base
Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS
DettagliCaratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
DettagliA. Ferrari introduzione alle basi di dati
introduzione alle basi di dati DataBase Management System DBMS o DataBase Management System o insieme di programmi che offrono a diverse tipologie di utenti tutti gli strumenti necessari per gestire grandi
DettagliPROGETTAZIONE DI DATABASE Linguaggio SQL
PROGETTAZIONE DI DATABASE Linguaggio SQL Modello Concettuale (Modellazione del mondo reale) Modello Logico (Definizione del tipo e del formato dei dati) Modello Fisico (Implementazione fisica su supporti
Dettagli