Laboratorio di Sistemi Informativi
|
|
- Livio Colonna
- 5 anni fa
- Visualizzazioni
Transcript
1 Laboratorio di Sistemi Informativi Corso di Laurea in Informatica - A. A Creazione di basi di dati e tabelle Donatella Merlini Dipartimento di Sistemi e Informatica viale Morgagni 65, 50134, Firenze merlini@dsi.unifi.it merlini/ Laboratorio di Sistemi Informativi p. 1/30
2 Creazione di una base di dati SHOW DATABASES; mostra le basi di dati presenti nel sistema. CREATE DATABASE Nomedb; crea un nuovo database. Notare che la creazione di un database aggiunge una nuova directory in c:\mysql\data. DROP DATABASE Nomedb; cancella un database. USE Nomedb; usa un database. SELECT DATABASE(); visualizza il nome del database corrente. Laboratorio di Sistemi Informativi p. 2/30
3 Creazione di tabelle L istruzione CREATE: definisce uno schema di relazione e ne crea un istanza vuota; specifica attributi, domini e vincoli; la sintassi più semplice è: CREATE TABLE NomeTb (NomeCol Dominio[Default][Vincoli] {,NomeCol Dominio[Default][Vincoli]}) [ENGINE = <TipoTb>]; CREATE TABLE Dipartimento ( Nome CHAR(20) PRIMARY KEY, Indirizzo CHAR(50), Sede CHAR(20)); Laboratorio di Sistemi Informativi p. 3/30
4 DESCRIBE NomeTb; descrive la struttura di una tabella fornendo informazioni sulle colonne della tabella: Field: indica il nome della colonna; Type: indica il tipo della colonna; Null: indica se il valore NULL è permesso oppure no; Key: indica se l attributo è indicizzato; Default: indica il valore di default; Extra: altre informazioni. SHOW TABLES; elenca le tabelle del database in uso. Laboratorio di Sistemi Informativi p. 4/30
5 Chiavi e valori nulli Si consideri la seguente tabella, avente due chiavi, una composta dal solo attributo Matricola e l altra dagli attributi Cognome, Nome e Nascita. Matricola Cognome Nome Nascita Corso NULL Rossi Mario NULL Biologia 4766 Rossi Luca 01/05/61 Informatica 4856 Neri Luca NULL NULL NULL Neri Luca 05/03/58 Informatica La prima tupla non è identificabile in alcun modo perché ha valori nulli su Matricola e Nascita. La presenza di valori nulli rende impossibile capire se le ultime due tuple fanno riferimento allo stesso studente. Laboratorio di Sistemi Informativi p. 5/30
6 È necessario limitare la presenza di valori nulli. Su una delle chiavi (detta chiave primaria) si vieta la presenza di valori nulli. Laboratorio di Sistemi Informativi p. 6/30
7 Vincoli intrarelazionali NOT NULL: questo vincolo indica che il valore nullo non è ammesso come valore dell attributo: Cognome CHAR(20) NOT NULL; UNIQUE: questo vincolo si applica ad un attributo o un insieme di attributi di una tabella e impone che i valori dell attributo siano una (super)chiave, cioè righe differenti della tabelle non possono avere gli stessi valori: Matricola CHAR(6) UNIQUE; Nome CHAR(20), Cognome CHAR(20), UNIQUE(Cognome,Nome) Laboratorio di Sistemi Informativi p. 7/30
8 PRIMARY KEY: questo vincolo definisce la chiave primaria di una relazione: Matricola CHAR(6) PRIMARY KEY; oppure, in modo equivalente: Matricola CHAR(6);..., PRIMARY KEY(Matricola); Laboratorio di Sistemi Informativi p. 8/30
9 Il vincolo PRIMARY KEY è spesso usato insieme al modificatore di tipo AUTO_INCREMENT, che può essere utilizzato per generare una sequenza di numeri. Il nuovo valore generato automaticamente sarà sempre maggiore di una unità rispetto al valore più grande presente in quel momento nella tabella. La prima riga inserita avrà valore 1. IdDipartimento INT AUTO INCREMENT PRIMARY KEY; Laboratorio di Sistemi Informativi p. 9/30
10 Integrità referenziale Le informazioni di Infrazioni sono rese significative e complete attraverso le altre due tabelle: i riferimenti sono significativi perché i valori in Infrazioni sono uguali a valori effettivamente presenti nelle altre due tabelle. Infrazioni Agenti Auto Codice Data Agente Articolo Prov Numero FI 4E FI 4E FI 2F MI 2F MI 2F7643 Matricola CodFiscale Cognome Nome 567 RSSM... Rossi Mario 456 NREL... Neri Luigi 638 NREP... Neri Piero Prov Numero Proprietario Indirizzo FI 2F7643 Verdi Piero Via Tigli FI 1A2396 Verdi Piero Via Tigli FI 4E5432 Bini Luca Via Aceri MI 2F76643 Bianchi Gino Via Aceri Laboratorio di Sistemi Informativi p. 10/30
11 Vincoli interrelazionali REFERENCES e FOREIGN KEY (chiave esterna) permettono di definire vincoli di integrità referenziale. Questo tipo di vincolo crea un legame tra i valori di un attributo della tabella A e il valore di un attributo di un altra tabella B. Il vincolo impone che per ogni riga della tabella A il valore dell attributo specificato sia presente nelle righe della tabella B tra i valori del corrispondente attributo. È possibile definire politiche di reazione alla violazione dell integrità referenziale. Laboratorio di Sistemi Informativi p. 11/30
12 Integrità referenziale in MySQL In MySQL l integrità referenziale è ottenibile usando tabelle di tipo InnoDB e definendo indici sulle chiavi esterne (torneremo più avanti sui tipi di tabelle e sugli indici). Più precisamente, la definizione di chiave esterne in tabelle InnoDB ha la seguente sintassi: FOREIGN KEY (IndexColName,...) REFERENCES TblName (IndexColName,...) [ON DELETE {CASCADE SET NULL NO ACTION SET DEFAULT }] [ON UPDATE {CASCADE SET NULL NO ACTION SET DEFAULT }] Sono necessari indici sulle chiavi esterne e sulle chiavi cui si fa riferimento. Esiste anche l opzione RESTRICT, analoga a NO ACTION. Laboratorio di Sistemi Informativi p. 12/30
13 CREATE TABLE B( Id INT NOT NULL, PRIMARY KEY (Id) ) ENGINE=INNODB; CREATE TABLE A( Id INT, BId INT, INDEX BIndex (BId), FOREIGN KEY (BId) REFERENCES B(Id) ON DELETE CASCADE ) ENGINE=INNODB; Laboratorio di Sistemi Informativi p. 13/30
14 Sullo schema della base di dati precedente ha senso definire i seguenti vincoli: CREATE TABLE Agenti(... PRIMARY KEY(Matricola),... ) ENGINE=INNODB; CREATE TABLE Auto(... PRIMARY KEY(Prov,Numero),... ) ENGINE=INNODB; Laboratorio di Sistemi Informativi p. 14/30
15 CREATE TABLE Infrazioni(... INDEX AgInd (Agente), FOREIGN KEY (Agente) REFERENCES Agenti(Matricola), INDEX AuInd (Prov,Numero), FOREIGN KEY (Prov,Numero) REFERENCES Auto(Prov,Numero),... ) ENGINE=INNODB; Laboratorio di Sistemi Informativi p. 15/30
16 Politiche di reazione per operazioni di modifica CASCADE: il nuovo valore dell attributo della tabella B viene riportato su tutte le corrispondenti righe della tabella A; SET NULL: all attributo referente nella tabella A viene assegnato il valore nullo al posto del valore modificato nella tabella B; NO ACTION: l azione di modifica non viene consentita; SET DEFAULT: all attributo referente nella tabella A viene assegnato il valore di default al posto del valore modificato nella tabella B (in realtà non funziona). Laboratorio di Sistemi Informativi p. 16/30
17 Politiche di reazione per operazioni di cancellazione CASCADE: tutte le righe della tabella A vengono cancellate; SET NULL: all attributo referente nella tabella A viene assegnato il valore nullo al posto del valore cancellato nella tabella B; NO ACTION: la cancellazione non viene consentita; SET DEFAULT: all attributo referente nella tabella A viene assegnato il valore di default al posto del valore cancellato nella tabella B (in realtà non funziona) Laboratorio di Sistemi Informativi p. 17/30
18 Il database Prodotti Premiere Tabella Rappresentanti CodR Cognome Nome Via Città Pr CAP TotProvv % 03 Jones Mary 123 Main Grant MI Smith William 102 Raymond Ada MI Diaz Miguel 419 Harper Lansing MI Laboratorio di Sistemi Informativi p. 18/30
19 Tabella Clienti CodC Cognome Nome Via Città Pr CAP Saldo Fido CodR 124 Adams Sally 481 Oak Lansing MI Samuel Ann 215 Pete Grant MI Charles Don 48 College Ira MI Daniels Tom 914 Charry Kent MI Williams Al 519 Watson Grant MI Adams Sally 16 Elm Lansing MI Nelson Mary 108 Pine Ada MI Dinh Tran 808 Ridge Harper MI Galvez Mara 512 Pine Ada MI Martin Dan 419 Chip Grant MI Laboratorio di Sistemi Informativi p. 19/30
20 Tabella Ordini NumOrdine Data CodC Laboratorio di Sistemi Informativi p. 20/30
21 Tabella Dettagli Ordini NumOrdine NumArt QtaOrd Prezzo AX BT BZ CB CX AZ BA BT CZ Laboratorio di Sistemi Informativi p. 21/30
22 Tabella Articoli NumARt Descrizione Giacenza Categoria Magazzino Prezzo Unitario AX12 ferro da stiro 104 cs AZ52 freccette 20 sp BA74 pallone 40 sp BH22 tritatutto 05 cs BT04 forno 11 el BZ66 lavatrice 52 el CA14 setaccio 78 cs CB03 bicicletta 44 sp CX11 frullino 142 cs CZ81 tavola pesi 68 sp Laboratorio di Sistemi Informativi p. 22/30
23 Tabella Rappresentanti CREATE TABLE Rappresentanti( CodR CHAR(2) PRIMARY KEY, cognome CHAR(10), nome CHAR(8), via CHAR(15), citta CHAR(15), prov CHAR(2), cap CHAR(5), TotProvv DECIMAL(5,2), PerProvv DECIMAL(5,2) ) ENGINE=INNODB; Laboratorio di Sistemi Informativi p. 23/30
24 Tabella Clienti CREATE TABLE Clienti( CodC CHAR(3) PRIMARY KEY, cognome CHAR(10), nome CHAR(8), via CHAR(15), citta CHAR(15), prov CHAR(2), cap CHAR(5), saldo DECIMAL(5,2), fido DECIMAL(5,2), CodR CHAR(2) NOT NULL, INDEX RInd (CodR), FOREIGN KEY (CodR) REFERENCES Rappresentanti(CodR) ) ENGINE=INNODB; Laboratorio di Sistemi Informativi p. 24/30
25 Tabella Ordini CREATE TABLE Ordini( NumOrdine CHAR(6) PRIMARY KEY, Data DATE, CodC CHAR(3), INDEX CliInd (CodC), FOREIGN KEY (CodC) REFERENCES Clienti(CodC) ON DELETE SET NULL ) ENGINE=INNODB; Laboratorio di Sistemi Informativi p. 25/30
26 Tabella DettagliOrdini CREATE TABLE DettagliOrdini( NumOrdine CHAR(6) NOT NULL, NumArt CHAR(4) NOT NULL, PRIMARY KEY(NumOrdine, NumArt), INDEX Ord ind(numordine), FOREIGN KEY(NumOrdine) REFERENCES Ordini(NumOrdine), INDEX Art ind(numart), FOREIGN KEY(NumArt) REFERENCES Articoli(NumArt), QtaOrd DECIMAL(3,0), Prezzo DECIMAL(6,2) ) ENGINE=INNODB; Laboratorio di Sistemi Informativi p. 26/30
27 Tabella Articoli CREATE TABLE articoli( NumArt CHAR(4) PRIMARY KEY, descrizione CHAR(20), giacenza INT, categoria CHAR(2), magazzino CHAR(1), PrzUnitario DECIMAL(5,2) ) ENGINE=INNODB; Laboratorio di Sistemi Informativi p. 27/30
28 Script MySQL Inserire i comandi manualmente è poco pratico. L alternativa è quella di scrivere un file di testo con un qualunque editor, salvare il file ed eseguire lo script dal monitor di MySQL con il comando: SOURCE <nomefile>; Per essere sicuri che lo script funzioni anche se non è la prima volta che si fanno delle prove con una base di dati o una tabella, al suo interno si possono usare comandi del tipo: DROP DATABASE IF EXISTS <nomedb>; DROP TABLE IF EXISTS <nometb>; CREATE TABLE IF NOT EXISTS <nometb>; Laboratorio di Sistemi Informativi p. 28/30
29 Esempio di script drop database if exists Multe; create database Multe; use Multe; drop table if exists agenti; create table agenti( matricola int primary key, codfiscale char(16), cognome char(10), nome char(8) ) ENGINE=INNODB; drop table if exists auto; create table auto( prov char(2), numero char(6), primary key(prov,numero), proprietario char (20), indirizzo char(15) ) ENGINE=INNODB; Laboratorio di Sistemi Informativi p. 29/30
30 drop table if exists infrazioni; create table infrazioni( codice int auto_increment primary key, data DATE, agente int, articolo int, prov char(2), numero char(6), index ag_ind(agente), foreign key (agente) references agenti(matricola), index au_ind(prov,numero), foreign key (prov,numero) references auto(prov,numero) ) ENGINE=INNODB; Laboratorio di Sistemi Informativi p. 30/30
Laboratorio 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
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
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
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
DettagliInstanze inconsistenti. Informatica II Basi di Dati (07/08) Parte 2. Instanze inconsistenti. Vincoli di integrità
Informatica II Basi di Dati (07/08) Parte 2 Gianluca Torta Dipartimento di Informatica dell Università di Torino torta@di.unito.it, 0116706782 Instanze inconsistenti Non tutte le tuple rappresentano informazione
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-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste
Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste SQL-DDL Credits to: Prof. P. Atzeni UniRoma3 Prof. S. Ceri PoliMI Prof. S. Paraboschi UniBG Prof. R. Torlone UniRoma3 SQL originariamente
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
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
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
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à:
DettagliIl linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA
Facoltà di Ingegneria e Architettura Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica Il linguaggio SQL TUTORATO DI http://www.diee.unica.it/~marcialis/fi A.A. 2015/2016 CAPITOLO 5: Basi di
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. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it
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)]
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
DettagliElena Baralis 2007 Politecnico di Torino 1
e algebra relazionale Algebra relazionale Sistemi informativi B M B G e algebra relazionale Introduzione efinizioni Riferimenti tra relazioni Assenza di valore Chiave primaria Vincoli di tupla e di dominio
DettagliBasi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI
Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI La finalità di questa esercitazione è quella di creare, date delle specifiche progettuale, appositi script di creazione e popolamento di una base
DettagliModello relazionale e algebra relazionale
Sistemi informativi Algebra relazionale 2007 Politecnico di Torino 1 Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli d integrità Chiave primaria Vincoli di tupla e di dominio
DettagliEsercitazione: Il DBMS MySQL. Insegnamento di Basi di Dati. Laurea in Ingegneria Informatica SAPIENZA Università di Roma
Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Domenico Fabio Savo www.dis.uniroma1.it/~savo/ Il DBMS MySQL 1 Cosa vedremo 1. Presentazione del
DettagliCorso di. Basi di Dati I. 3. Vincoli di integrità
Corso di Basi di Dati 3. Vincoli di integrità A.A. 2016 2017 Vincoli di integrità In una base di dati è spesso necessario porre delle restrizioni, o vincoli, sui dati inseriti, affinché essi possano rappresentare
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
DettagliElena baralis 2007 Politecnico di Torino 1
e algebra relazionale Algebra relazionale 2007 Politecnico di Torino 1 e algebra relazionale Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli d integrità Chiave primaria Vincoli
DettagliBasi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a
Corso di Laurea in Informatica Basi di Dati a.a. 2012-2013 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse
DettagliViste come strumenti di programmazione
Viste come strumenti di programmazione Trovare gli impiegati che hanno lo stesso capo di Rossi Senza vista: PROJ Impiegato ((Afferenza JOIN Direzione) JOIN REN ImpR,RepR Impiegato,Reparto ( SEL Impiegato='Rossi'
DettagliDataBase Management System - DBMS
DataBase Management System - DBMS Un sistema per la gestione di basi di dati o DBMS (Data Base Management System) è un sistema software in grado di gestire collezioni di dati che siano grandi condivise
Dettagli4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli
Base di dati, tabella, ennupla, attributo, dominio Le Basi di Dati Relazionali Concetti Fondamentali Valori nulli Vincoli di chiave, di ennupla, di riferimento 2 Modello logico dei DBMS (Data Base Management
DettagliElena baralis 2007 Politecnico di Torino 1
e algebra relazionale Algebra relazionale e algebra relazionale Introduzione efinizioni Riferimenti tra relazioni Assenza di valore Chiave primaria Vincoli di tupla e di dominio referenziale Intuizione
DettagliFondamenti di Teoria delle Basi di Dati
Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 8: Teoria delle dipendenze Vincoli di integrità Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni
DettagliBasi di Dati. Sistemi per Basi di Dati Relazionali: Modello Logico. Concetti Fondamentali. Concetti Fondamentali
Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali Introduzione Concetti Fondamentali Base di dati, tabella, ennupla, attributo, dominio Valori nulli Vincoli di chiave,
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:
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
DettagliEsempio di database relazionale con l utilizzo del prodotto MySQL
Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene
DettagliCorso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a
Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 2011 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori Lezione 2 Il modello relazionale
DettagliData Definition in MySQL
Data Definition in MySQL LABORATORIO DI BASI DI DATI A.A. 2016/2017 Dott. Claudio Venturini Contenuti riadattati a partire da slide gentilmente concesse dal Dott. Paolo Napoletano SQL SQL è un linguaggio
DettagliESERCITAZIONE: Fornitore-Fornisce-Articolo
ESERCITAZIONE: Fornitore--Articolo PROGETTAZIONE CONCETTUALE Sia dato il diagramma ER rappresentativo di una certa realtà di interesse Cognome CodF Nome DataN CodA Descrizione Prezzo Fornitore N N E Fornito
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 è
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
DettagliSQL: "storia" 31/05/2006 2
SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali, non i dettagli
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione
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
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
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,
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
DettagliAppunti dalle lezioni. Sistemi informativi e basi di dati. Il modello relazionale. SQL come DCL Utilizzo di un DBMS Reale.
SQl come DDL Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 2 Appunti dalle lezioni SQL come DDL Sistemi
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
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. 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 è
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 IL MODELLO RELAZIONALE http://www.diee.unica.it/giacinto/lab
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
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 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 Docenti laboratorio: Francesco Pistolesi Lezione 2 Il modello relazionale
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,
DettagliDefinizione di domini
Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain
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 - Structured Query Language
SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente
DettagliIl Modello Relazionale
Il Modello Relazionale Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e linguaggi di interrogazione, McGraw-Hill Italia, Capitolo 2 Il Modello Relazionale Si basa su due concetti: Tabella (concetto
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
DettagliDichiarazione degli schemi in SQL DDL 1
Dichiarazione degli schemi in SQL DDL 1 Storia di SQL Definito nell'ambito del progetto SYSTEM R (IBM S. JOSE) nel 1976 Nome originario: SEQUEL Adottato progressivamente da tutti i sistemi commerciali
DettagliIl Modello Relazionale e le operazioni
Il Modello Relazionale e le operazioni Prof. Giuseppe Di Capua UD 5 Modello Logico Nello sviluppo della teoria dei database sono emersi quattro tipi diversi di modelli per le basi di dati: 1. Modello gerarchico
DettagliRELAZIONI E BASI DI DATI
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno :Modello Relazionale (2)-Relazioni e DB, valori nulli Prof.
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. 2012-2013 2013 Docente: Gigliola Vaglini Docenti laboratorio: Francesco Pistolesi, Antonio Virdis Lezione
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
DettagliInterrogazioni nidificate
Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)
DettagliIl modello Relazionale.
Il modello Relazionale c.vallati@iet.unipi.it Sommario Il modello Relazionale per la progettazione logica Come passare dal modello ER al modello relazionale Progettazione Logica Effettuata una progettazione
DettagliBasi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,
DettagliGestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella
Gestione e Analisi dei Dati Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Vincoli sui Dati Regole del dominio di interesse Unicità di codici di corso e matricole Un codice deve corrispondere
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] [],...,...,
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
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
DettagliBasi di dati e Relazioni
Basi di dati e Relazioni Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti Corsi Esami contiene dati su un insieme di studenti contiene dati
DettagliPrimo Compitino di Basi di Dati
Primo Compitino di Basi di Dati 19 Aprile 2004 Svolgere gli esercizi direttamente sul foglio del testo Usare fogli aggiuntivi solo in mancanza di spazio. NOME: COGNOME: MATRICOLA: Esercizio Punti previsti
DettagliInterrogazioni con ANY e ALL. Operatori ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL
Interrogazioni con ANY e ALL Operatori ANY e ALL Sintassi: WHERE Attributo OperatoreConfronto [ANY ALL] (SelectAttributoSingolo) ANY: la riga soddisfa la condizione se risulta vero il confronto con almeno
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, IL MODELLO RELAZIONALE
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : IL MODELLO RELAZIONALE I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare relazionale Più recente (e
DettagliBasi di dati e Relazioni
Matricola Cognome Nome Data di nascita Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti contiene dati su un insieme di studenti Corsi contiene
DettagliGESTIONE ASSICURAZIONI AUTO
GESTIONE ASSICURAZIONI AUTO S i v o g l i o n o g e s t i r e i d a t i d i i n t e r e s s e d e l l e c o m p a g n i e d i a s s i c u r a z i o n i r a m o R C A. N e l d a t a b a s e s i d e v o
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
DettagliBasi di dati IL MODELLO RELAZIONALE
Basi di dati IL MODELLO RELAZIONALE I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare relazionale Più recenti a oggetti (poco diffuso) basato su XML ("complementare" a quello
DettagliInformatica Industriale Modello informatico: Applicativo Modello relazionale dei dati
DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello informatico: Applicativo Modello relazionale dei dati Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/
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
DettagliUnità 2.2 Comandi sulle tabelle
A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: Vincoli intra-relazionali Vincoli di integrità Comando CREATE Comando ALTER Comando DROP Comando SHOW TABLES Comando DESCRIBE
DettagliModello Relazionale. Università degli Studi di Salerno
Modello Relazionale Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 I modelli logici dei dati!
DettagliAppunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.
Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco
DettagliFondamenti di Informatica A. A / 1 9
Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne
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
DettagliLaboratorio di Basi di Dati Esercizio 8.4/9.1
Laboratorio di Basi di Dati Esercizio 8.4/9.1 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs S.p.A. R&D Department
DettagliSQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"
SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,
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
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
DettagliCorso di Informatica
Corso di Informatica Modulo T2 C2 Tipi di vincoli 1 Prerequisiti Concetto di relazione Espressione booleana Diagrammi E-R 2 1 Introduzione Sappiamo che sui dati è consigliabile un controllo di integrità,
DettagliCorso di. Basi di Dati I. 2. Il modello relazionale
Corso di Basi di Dati 2. Il modello relazionale A.A. 2016 2017 Il modello relazionale Il modello relazionale prevede che una base di dati sia organizzata essenzialmente in forma di tabelle. Il punto di
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,
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
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à
Dettagli