Basi di Dati Relazionali
|
|
|
- Cosima Simonetti
- 10 anni fa
- Visualizzazioni
Transcript
1 Corso di Laurea in Informatica Basi di Dati Relazionali a.a Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Coadiutore: Dott.ssa D. Nicotera
2 PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse attraverso le strutture dati di uno specifico DBMS
3 OBIETTIVI DEL CORSO-RIEPILOGO Le lezioni di laboratorio del corso di Basi di Dati Relazionali prevedono la progettazione e la realizzazione di un sistema informatico basato su un DBMS relazionale (MySql 5.0). Durante le lezioni devono essere svolte tutte le fasi di sviluppo del sistema informatico. Ogni fase è composta da diversi step, ciascuno dei quali porta alla produzione di più documenti. L'insieme di tali documenti costituisce la documentazione del sistema informatico che deve essere prodotta durante le lezioni. Il sistema informatico deve essere costituito da una base di dati realizzata su un DBMS relazionale (MySql 5.0) interrogabile mediante SQL.
4 FASI DELLA PROGETTAZIONE Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica Schema logico Progettazione fisica Schema fisico
5 PROGETTAZIONE DELLA BASE DI DATI
6 FASI E STEP DEL PROGETTO 1.Analisi e progettazione concettuale a. Raccolta e Analisi dei requisiti b. Progettazione dello schema Entità-Relazione (E-R) c. Specifica delle funzioni per operare sui dati d. Stima del carico applicativo del sistema informatico 2.Progettazione logica della base di dati a. Ristrutturazione dello schema E-R in uno schema E-R semplificato orientato al modello relazionale b. Traduzione dello schema E-R ristrutturato in schema relazionale
7 FASI E STEP DEL PROGETTO 3. Progettazione fisica ed implementazione della base di dati a. Definizione dello schema della base di dati sul DBMS relazionale open-source MySQL 5.0 mediante SQL- DDL b. Popolamento della base di dati c. Realizzazione delle interrogazioni per operare sui dati
8 SQL: Funzionalità DDL Sintassi Esempi OBIETTIVI DELLA LEZIONE
9 PROGETTAZIONE FISICA Obiettivo: Rappresentare i dati della realtà di interesse attraverso le strutture dati di uno specifico DBMS Input: Schema logico(prodotto della progettazione logica) DBMS scelto(per sapere quali strutture dati fisiche utilizzare) Previsioni del carico applicativo (per ottimizzare la base di dati rispetto ad esso) Output: Schema fisico (Tipicamente nei DBMS attuali consiste in uno schema logico definito mediante SQL-DDL + alcune scelte relative all effettiva implementazione sul DBMS di detto schema) Qualità: Efficienza rispetto al carico applicativo
10 MODELLI DI DATI I prodotti della varie fasi della progettazione sono schemi basati su specifici modelli di dati: Schema concettuale modello concettuale Schema logico modello logico Schema fisico modello logico + parametri fisici
11 MODELLI DEI DATI ADOTTATI Schema concettuale: Modello Entità-Relazione (ER) Schema logico: Modello Relazionale DDL: SQL-standard Schema fisico: Modello relazionale + strutture fisiche DDL: SQL supportato dal DBMS scelto (MySql 5.0)
12 SQL Originariamente acronimo di "Structured Query Language", ora nome proprio Prima proposta: SEQUEL (IBM Research, 1974) È uno standard (1986, poi 1989, 1992, 1999 e infine 2003) ma esistono varie versioni (DBMS diversi implementano versioni diverse) È un linguaggio dichiarativo (a differenza dell Algebra Relazionale che è di tipo procedurale) Ha varie funzionalità: DDL (Data Definition Language) DML (Data Manipulation Language)
13 SQL- FUNZIONALITÀ DDL Data Definition Language: funzionalità che consente di definire lo schema dei dati L istruzione più importante del DDL di SQL è: CREATE TABLE definisce uno schema di relazione, specificando attributi e vincoli) crea un istanza vuota dello schema
14 DEFINIZIONE DI TABELLE CREATE TABLE NomeTabella ( NomeAttributo Dominio [ Vincoli ] {, NomeAttributo Dominio [ Vincoli ]} [ AltriVincoli ])
15 CREATE TABLE, ESEMPIO CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipartimento(NomeDip), UNIQUE (Cognome,Nome) )
16 DOMINI Domini elementari (predefiniti) Domini definiti dall'utente (semplici, ma riutilizzabili)
17 DOMINI ELEMENTARI Carattere singoli caratteri o stringhe, anche di lunghezza variabile: char(n) character(n) varchar(n) char varying(n) nchar(n) nvarchar(n) nchar varying(n)) stringhe di lunghezza fissa stringhe di lunghezza variabile come sopra ma UNICODE
18 DOMINI ELEMENTARI Numerici esatti e approssimati: int, integer, smallint numeric,numeric(p), numeric(p,s)) decimal, decimal(p), decimal(p,s)) float, float(p), real, double precision interi valori numerici esatti non negativi valori numerici esatti anche negativi Reali
19 DOMINI ELEMENTARI Data, ora date / time / timestamp time with timezone / timestamp with timezone Bit: singoli bit o stringhe di bit bit(n) bit varying(n) Introdotti in SQL 1999 boolean BLOB, CLOB (binary/character large object): per grandi immagini e testi
20 Istruzione CREATE DOMAIN: DEFINIZIONE DI DOMINI definisce un dominio (semplice), utilizzabile in definizioni di relazioni, anche con vincoli e valori di default SINTASSI: CREATE DOMAIN NomeDominio as DominioPreesistente [ Default ] [ Vincoli ] ESEMPIO: CREATE DOMAIN Voto AS SMALLINT DEFAULT NULL CHECK ( value >=18 AND value <= 30 )
21 VINCOLI INTRARELAZIONALI NOT NULL UNIQUE definisce attributi che identificano una tupla PRIMARY KEY: chiave primaria (una sola, implica NOT NULL e UNIQUE) CHECK, consente di verificare che una condizione venga rispettata
22 UNIQUE E PRIMARY KEY Due forme: singolo attributo: unique dopo la specifica del dominio primary key dopo la specifica del dominio più attributi: unique (Attributo,..., Attributo) primary key (Attributo,..., Attributo)
23 CREATE TABLE, ESEMPIO CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipartimento(NomeDip), UNIQUE (Cognome,Nome) )
24 PRIMARY KEY, ALTERNATIVE CREATE TABLE Impiegato ( Matricola character(6) primary key,...) Oppure CREATE TABLE Impiegato ( Matricola character(6),... primary key (Matricola))
25 CREATE TABLE, ESEMPIO CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipartimento(NomeDip), UNIQUE (Cognome,Nome) )
26 CHIAVI SU PIÙ ATTRIBUTI Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, UNIQUE (Cognome,Nome), Nome CHAR(20) NOT NULL UNIQUE, Cognome CHAR(20) NOT NULL UNIQUE, Attenzione: non è la stessa cosa!
27 VINCOLI INTERRELAZIONALI CHECK REFERENCES e FOREIGN KEY Permettono di definire vincoli di integrità referenziale di nuovo due sintassi: per singoli attributi su più attributi E' possibile definire politiche di reazione alla violazione
28 REFERENCES E FOREIGN KEY Permettono di definire vincoli di integrità referenziale. Sintassi: per singoli attributi: references dopo la specifica del dominio riferimenti su più attributi: foreign key(attributo,...,attributo Attributo) references ALTRATABELLA(A1,,AN) Gli attributi referenziati nella tabella di arrivo (master) devono formare una chiave (primay key o unique). Semantica: ogni combinazione (senza NULL) di valori per gli attributi nella tabella di partenza (slave) deve comparire nella tabella di arrivo (master).
29 Infrazioni Codice Data /2/ /3/ /4/ /2/98 Vigili Vigile Matricola Prov Numero MI 39548K TO E39548 PR PR Cognome Rossi Neri Neri Mori Esempio Nome Luca Piero Mario Gino
30 Infrazioni Codice Data /2/ /3/ /4/ /2/98 Vigile Esempio Prov Numero MI 39548K TO E39548 PR PR Auto Prov Numero MI 39548K TO E39548 PR Cognome Rossi Rossi Neri Nome Mario Mario Luca
31 CREATE TABLE, ESEMPIO CREATE TABLE Infrazioni( Codice CHAR(6) NOT NULL PRIMARY KEY, Data DATE NOT NULL, Vigile INTEGER NOT NULL REFERENCES Vigili(Matricola), Provincia CHAR(2), Numero CHAR(6), ) FOREIGN KEY(Provincia, Numero) REFERENCES Auto(Provincia, Numero)
32 MODIFICHE DEGLI SCHEMI ALTER DOMAIN ALTER TABLE DROP DOMAIN DROP TABLE...
33 MODIFICHE DEGLI SCHEMI ALTER TABLE Permette di modificare lo schema di una tabella Esempio: CREATE TABLE Infrazioni( Codice CHAR(6) NOT NULL PRIMARY KEY, Data DATE NOT NULL, Vigile INTEGER NOT NULL REFERENCES Vigili(Matricola), Provincia CHAR(2), Numero CHAR(6) ) ALTER TABLE Infrazioni ADD CONSTRAINT MioVincolo foreign key (Provincia, Numero) references Auto(Provincia,Numero)
34 MODIFICHE DEGLI SCHEMI DROP TABLE Elimina una tabella Sintassi: DROP TABLE NomeTabella restrict cascade Esempio: Elimina la tabella solo se non ci sono riferimenti ad essa: 1. DROP TABLE Infrazioni [restrict] Elimina la tabella e tutte le tabelle (o più in generale tutti gli oggetti del DB) che si riferiscono ad essa 1. DROP TABLE Infrazioni cascade
35 DEFINIZIONE DEGLI INDICI Definizione di indici: è rilevante dal punto di vista delle prestazioni ma è a livello fisico e non logico Istruzione create index Sintassi (semplificata): CREATE [UNIQUE] INDEX NomeIndice on NomeTavola(col_1, col_2,, col_n) Esempio: create index IndiceIP on Infrazioni(Provincia)
36 PROGETTO DIDATTICO Realizzazione dell'applicazione consiste nell'implementazione della base di dati secondo lo schema logico prodotto nella fase di progettazione logica (con SQL-DDL) e dall'implementazione delle operazioni previste sui dati (con SQL-DML)
37 PROGETTO DIDATTICO La documentazione relativa alla realizzazione del progetto consiste: nel listato delle istruzioni SQL per la definizione dello schema della base di dati (SQL-DDL); nel listato delle istruzioni SQL la definizione delle interrogazioni per la visualizzazione dei dati (SQL-DML); nel listato delle istruzioni SQL la definizione delle operazioni per la manipolazione dei dati (aggiornamenti, inserimenti, cancellazioni) (SQL-DML).
38 PROGETTO DIDATTICO Test dell'applicazione. La documentazione di questa parte consiste nella: Definizione del contenuto di test della base di dati Stampa dei risultati delle interrogazioni su tali dati
39 Gestione di una Farmacia - Progettazione Fisica
40 SCHEMA RISTRUTTURATO
41 (SOTTO) SCHEMA RISTRUTTURATO FARMACI E PRODOTTI TRALASCIAMO IL SOTTOINSIEME DELLO SCHEMA RELATIVO AI PRODOTTI DI PROFUMERIA
42 Traduzione delle entità (II PARTE): SCHEMA LOGICO (1/3) PRODOTTO(codice, nome, descrizione, scadenza) CASAFARMACEUTICA(nome,recapito) CATEGORIAFT(codice,nome) FARMACO(codiceP*, prescrivibile, brevettato, equivalente*, nomecasa*, categoria*) con un vincolo di integrità referenziale tra: (1) l attributo codicepe la relazione PRODOTTO, (2) l attributo equivalente e la relazione FARMACO (3) l attributo nomecasa e la relazione CASAFARMACEUTICA (4) l attributo categoria e la relazione CATEGORIAFT
43 Traduzione delle entità (II PARTE): SCONTRINO(data,numero) PAZIENTE(CF,nome,cognome) MEDICO(CF, nome,cognome) SCHEMA LOGICO (2/3) PRESCRIZIONE(data,numero,medico*,paziente*, (data_scontrino, num_scontrino)*) con un vincolo di integrità referenziale tra: (1) l attributo medico e la relazione MEDICO, (2) l attributo paziente e la relazione PAZIENTE (3) gli attributi (data_scontrino,numero_scontrino) e la relazione SCONTRINO
44 SCHEMA LOGICO (3/3) Traduzione delle associazioni molti a molti: INTERAZIONE(categoria1,categoria2) con un vincolo di integrità referenziale tra: (1) l attributo categoria1 e la relazione CATEGORIAFT, (2) l attributo categoria2 e la relazione CATEGORIAFT. DETTAGLIOSCONTRINO((data,numero)*,prodotto*,quantità) con un vincolo di integrità referenziale tra: (1) gli attributi (data,numero) e la relazione SCONTRINO, (2) l attributo prodotto e la relazione PRODOTTO DETTAGLIOPRESCRIZIONE((data,numero,medico)*,farmaco*) con un vincolo di integrità referenziale tra: (1) gli attributi (data,numero,medico) e la relazione PRESCRIZIONE, (2) l attributo farmaco e la relazione FARMACO
45 SCHEMA FISICO DEFINIZIONE DELLE TABELLE RELAZIONE Prodotto(codice, nome, descrizione, scadenza) SQL-DDL Statement CREATE TABLE prodotto( codice int(10) unsigned auto_increment PRIMARY KEY, nome varchar(20) NOT NULL, descrizione varchar(100) NOT NULL, scadenza date NOT NULL ) Engine=InnoDB;
46 SCHEMA FISICO DEFINIZIONE DELLE TABELLE RELAZIONE CasaFarmaceutica(nome, recapito) SQL-DDL Statement CREATE TABLE casafarmaceutica( nome varchar(20) PRIMARY KEY, recapito varchar(100) NOT NULL )engine=innodb;
47 SCHEMA FISICO DEFINIZIONE DELLE TABELLE RELAZIONE CategoriaFT(codice,nome) SQL-DDL Statement CREATE TABLE categoriaft( codice int(10) unsigned auto_increment PRIMARY KEY, nome varchar(20) NOT NULL )engine=innodb;
48 SCHEMA FISICO DEFINIZIONE DELLE TABELLE RELAZIONE Farmaco(codiceP*, prescrivibile, brevettato, equivalente*,nome Casa*,categoria*) SQL-DDL Statement CREATE TABLE Farmaco( codicep int(10) unsigned auto_increment PRIMARY KEY, prescrivibile boolean NOT NULL, brevettato boolean NOT NULL, equivalente int(10) unsigned, nomecasa varchar(20) NOT NULL, categoria int(10) unsigned NOT NULL, FOREIGN KEY (codicep) REFERENCES Prodotto(codice), FOREIGN KEY (nomecasa) REFERENCES casafarmaceutica(nome), FOREIGN KEY (categoria) REFERENCES categoriaft(codice) ) engine=innodb;
49 SCHEMA FISICO DEFINIZIONE DELLE TABELLE Modifichiamo la tabella Farmaco per inserire il vincolo di integrità referenziale sull attributo equivalente. RELAZIONE Farmaco(codiceP*, prescrivibile, brevettato, equivalente*,nome Casa*,categoria*) SQL-DDL Statement ALTER TABLE Farmaco ADD CONSTRAINT FK_farmaco_4 FOREIGN KEY (equivalente) REFERENCES Farmaco(codiceP);
50 RELAZIONE SCHEMA FISICO DEFINIZIONE DELLE TABELLE Scontrino(data,numero) CREATE TABLE Scontrino( data date not null, numero int(10) not null, SQL-DDL Statement Note CONSTRAINTPK_scontrino PRIMARY KEY(data, numero) ) engine=innodb; La relazione ha una chiave primaria composta da due attributi
51 SCHEMA FISICO DEFINIZIONE DELLE TABELLE RELAZIONE Medico(CF, nome,cognome) SQL-DDL Statement CREATE TABLE Medico( cf char(16) PRIMARY KEY, nome varchar(20), cognome varchar(20) ) engine=innodb;
52 SCHEMA FISICO DEFINIZIONE DELLE TABELLE RELAZIONE Paziente(CF, nome,cognome) SQL-DDL Statement CREATE TABLE Paziente( cf char(16) PRIMARY KEY, nome varchar(20), cognome varchar(20) ) engine=innodb;
53 SCHEMA FISICO DEFINIZIONE DELLE TABELLE RELAZIONE Prescrizione(data,numero,medico*,paziente*, (data_scontrino, num_scontrino)*) CREATE TABLE Prescrizione( data date NOT NULL, numero int(10) unsigned NOT NULL, medico char(16) NOT NULL, paziente char(16) NOT NULL, data_scontrino date NOT NULL, num_scontrino int(10) NOT NULL, PRIMARY KEY(data, numero,medico), FOREIGN KEY (data_scontrino,num_scontrino) REFERENCES Scontrino(data,numero), FOREIGN KEY (medico) REFERENCES Medico(cf), FOREIGN KEY (paziente) REFERENCES Paziente(cf) ) engine=innodb;
54 SCHEMA FISICO DEFINIZIONE DELLE TABELLE RELAZIONE Interazione (categoria1,categoria2) SQL-DDL Statement CREATE TABLE Interazione( categoria1 int(10) unsigned, categoria2 int(10) unsigned, FOREIGN KEY(categoria1) REFERENCES CategoriaFT(codice), FOREIGN KEY(categoria2) REFERENCES CategoriaFT(codice), PRIMARY KEY(categoria1,categoria2) ) engine=innodb; Note La chiave primaria è formata dalla coppia (categoria1,categoria2)
55 RELAZIONE SCHEMA FISICO DEFINIZIONE DELLE TABELLE DettaglioScontrino((data,numero)*,prodotto*, quantità) CREATE TABLE DettaglioScontrino( data date NOT NULL, numero int(10) NOT NULL, prodotto int(10) unsigned NOT NULL, quantità int NOT NULL DEFAULT 1, FOREIGN KEY (prodotto) REFERENCES Prodotto(codice), CONSTRAINT FK_prescrizione FOREIGN KEY (data,numero) REFERENCES Scontrino(data,numero), PRIMARY KEY(data, numero,prodotto) ) engine=innodb;
56 RELAZIONE SCHEMA FISICO DEFINIZIONE DELLE TABELLE DettaglioPrescrizione(codiceFarmaco*,(dataP, numerop,medico)*) CREATE TABLE DettaglioPrescrizione( codicefarmaco int(10) unsigned NOT NULL, data date NOT NULL, numerop int(10) unsigned NOT NULL, medico char(16) NOT NULL, FOREIGN KEY (codicefarmaco) REFERENCES Farmaco(codiceP), CONSTRAINT FK_dett_prescr FOREIGNKEY (data, numerop,medico) REFERENCES Prescrizione(data,numero,medico) CONSTRAINT FK_dett_prescr PRIMARY KEY(data, numerop,medico,codicefarmaco) ) engine=innodb;
Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011
Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse
SQL: 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,
SQL Laboratorio di Basi di Dati a.a. 2002/2003
1 SQL Laboratorio di Basi di Dati a.a. 2002/2003 dott.ssa Francesca A. Lisi [email protected] Orario di ricevimento: mercoledì ore 10-12 2 Cos'è SQL? Linguaggio di riferimento per le basi di dati relazionali
SQL. 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 [email protected]
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 6 (15 gennaio 2009) Linguaggio SQL: Data Definition Language (DDL) Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.
SQL 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
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 2 Creazione di una tabella (1/3) Si utilizza
Atzeni, 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
Definizione 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
Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5
Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit
Linguaggio SQL: fondamenti D B M G. 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 2 2007 Politecnico di Torino 1 Creazione
Basi 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,
Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati
Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati 1 SQL Il nome stava per Structured Query Language Più che un semplice linguaggio di query: si compone di una parte DDL e di una DML DDL:
Laboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web 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
Il 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 relazionali,
Corso di Basi di Dati A.A. 2013/2014
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2013/2014 Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 29/03/2014 SQL : Structured Query Language
SQL Sintassi Dei Comandi
SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org [email protected] Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la
Laboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti
Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici
Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato
SQL - Tipi di dato Il linguaggio SQL
SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi
Basi 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
SQL (STRUCTURED QUERY LANGUAGE)
SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura
Corso 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
IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI
IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale
Basi di Dati prof. Letizia Tanca
Basi di Dati prof. Letizia Tanca (lucidi tratti dal libro Atzeni-Ceri-Paraboschi-Torlone) AA 2003-04 Linguaggi di interrogazione commerciali per il Modello Relazionale dei Dati: SQL - il DDL Domini I domini
SQL. Storia e standard
SQL Lorenzo Sarti 2009 Basi di Dati 1 Storia e standard Lorenzo Sarti 2009 Basi di Dati 2 SQL-2 È ricco e complesso e nessun sistema commerciale lo implementa in maniera completa Sono definiti 3 livelli
Linguaggio SQL. Structured Query Language
Linguaggio SQL Structured Query Language Creato negli anni 70 presso IBM Inizialmente solo linguaggio di interrogazione Ora linguaggio di riferimento per DB relazionali Standardizzato grazie al lavoro
SQL. 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 [email protected]
Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema
Giovanna Rosone 04/03/2010 04/03/2010 SQL, Istruzioni per la modifica dello schema 1 Riepilogo Impiegato Pagamenti Nome colonna PAG_COD PAG_MATR Tipo dati CHAR(6) CHAR(6) Nome colonna Tipo dati PAG_STIPENDIO
SQL (STRUCTURED QUERY LANGUAGE)
SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura
Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012
Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012 2012 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Lezione 3 Structured Query Language
DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
DBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
Universita 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
SQL. Alcune note sulla definizione dei dati
SQL Alcune note sulla definizione dei dati Domini Domini elementari (predefiniti) Domini definiti dall'utente (riutilizzabili, possono servire per specificare vincoli di dominio propri di una certa applicazione)
Corso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio
SQL: Concetti Base -Prima Parte-
SQL: Concetti Base -Prima Parte- Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia Capitolo 4 SQL Structured Query Language Contiene: DDL (Data Definition
Descrizione del linguaggio SQL Definizione del database. Giovanna Rosone 02-03/03/2010
Descrizione del linguaggio SQL Definizione del database Giovanna Rosone 02-03/03/2010 Database Il termine Database indica l insieme delle informazioni presenti in uno specifico sistema informativo. E composto
Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.
Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei
Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.
Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per
Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati
Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza
Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:
Corso di Basi di Dati Spaziali Linguaggi: SQL Angelo Montanari Donatella Gubiani Storia Storia: 1974: prima proposta SEQUEL 1981: prime implementazioni 1983: standard di fatto 1986, 1989, 1992 e 1999:
DDL DML. Tipi di linguaggi per basi di dati. Si distinguono due categorie:
Tipi di linguaggi per basi di dati Si distinguono due categorie: DDL DML Linguaggi di definizione dei dati o data definition languages: utilizzati per definire gli schemi logici, esterni e fisici e le
INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3
INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3 L azienda Plastic S.p.A, operante nel settore materie plastiche, ha deciso di dotarsi di un Sistema Informativo per la gestione del suo
Lezione V. Aula Multimediale - sabato 29/03/2008
Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)
Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL
Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare
Il Modello Relazionale
Il Modello Relazionale Basi di dati 1 Il Modello Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il Modello Relazionale Basi di dati 2 Introduzione Il modello
BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA
BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza
Basi di dati. SQL: Amministrazione e Viste. Prof.ssa Rosalba Giugno Dott. Aurelio Giudice
Basi di dati SQL: Amministrazione e Viste Prof.ssa Rosalba Giugno Dott. Aurelio Giudice SQL per definire ed amministrare Ad ogni utente tipicamente viene associata una base di dati, creata dall amministratore
Vincoli di Integrità
Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti
Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
Vincoli di Integrità Approccio dichiarativo alla loro implementazione
Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico
DUE GRUPPI DI COMANDI
LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano
Organizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
SQL 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
Vincoli di integrità
Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72?
INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:
Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo
----------------------------------------------------------------------------
APPUNTI DI SQL Gli appunti qui forniti vogliono essere un riferimento scritto di alcuni degli argomenti trattati a lezione per gli studenti a cui vengono messi a disposizione. Non viene fornita alcuna
Corso di Laboratorio di Basi di Dati
Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. [email protected] Università degli Studi di L Aquila Dipartimento di Informatica Technolabs
Il Modello Relazionale
Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981
Volumi di riferimento
Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di
Informatica per le discipline umanistiche 2 lezione 10
Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione
Archivi e Basi di Dati
Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati
Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati
Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il
I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER
Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella
PROGRAMMA DI CLASSE 5AI
Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA
Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale
Basi di Dati e Sistemi Informativi Progettazione logica: Il modello relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione Basato sul lavoro di Codd (~1970) E attualmente
Corso di Informatica Generale 1 IN1. Linguaggio SQL
Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco ([email protected]) Sommario Prima parte: le basi dati relazionali Basi di dati:
Basi di Dati Relazionali
Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 PROGETTAZIONE DI UNA BASE DI DATI Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 1 Raffaella Gentilini 1 / 67 Sommario 1 Introduzine al Linguaggio SQL Concetti Preliminari 2 3 2 / 67 Concetti Preliminari Il linguaggio SQL SQL Acronimo per
Elena Baralis 2013 Politecnico di Torino 1
Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica
1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.
Esame di Stato Istituto Tecnico Industriale Proposta di soluzione della seconda prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2003-2004 1. Schema concettuale della base di dati Lo schema
Il linguaggio SQL: le basi
Il linguaggio SQL: le basi Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLa-basi.pdf Sistemi Informativi L-A SQL: caratteristiche generali
Laboratorio di Basi di Dati Introduzione a SQL
Laboratorio di Basi di Dati Introduzione a SQL Pierluigi Pierini Technolabs S.p.a. [email protected] evoluzione e standards 1970 - E.F. Codd, A Relational Model of Data for Large Shared Data
Data Base Relazionali
Data Base Relazionali Modello Relazionale dei dati Basi di Dati Relazionali 1 Progettazione di DB METODOLOGIA DI PROGETTO IN TRE FASI Descrizione formalizzata e completa della realtà di interesse REALTA'
Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003
Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003 Il primo punto richiede l analisi e lo sviluppo del progetto
Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione
Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore DDL e progettazione Testi degli esercizi Esercizio 1 (Tema d esame del 20 settembre 2012 Si consideri il seguente schema di base di dati che vuole tenere
N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )
Invia modulo Basi di Dati + Laboratorio INSEGNAMENTO 214-215 ANNO ACCADEMICO Informatica Triennale sede di Brindisi CORSO DI LAUREA IN Paolo Buono DOCENTE 2 1 ANNO DI CORSO SEMESTRE 7 N CREDITI LEZIONI
Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL
Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi Stefania Marrara Elisa Quintarelli Lezione 1 2 ore a.a 2004/05 Preparazione Accesso all area condivisa Start -> Programs ->MySQL
Basi di Dati Corso di Laura in Informatica Umanistica
Basi di Dati Corso di Laura in Informatica Umanistica Appello del 10/09/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione
DB - Modello relazionale dei dati. DB - Modello Relazionale 1
DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito
Basi di dati Il linguaggio SQL
Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte
Basi di dati Il linguaggio SQL
Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi
Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale
Unione Europea Regione Sicilia Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale ISTITUTO TECNICO INDUSTRIALE STATALE G. MARCONI EDILIZIA ELETTRONICA e
Progettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
Linguaggio SQL Descriviamo la notazione usata nel seguito:
Descriviamo la notazione usata nel seguito: i termini del linguaggio sono sottolineati; i termini variabili sono scritti in corsivo; le parentesi angolari (< >)permettono di isolare un termine della sintassi;
BASI DI DATI - : I modelli di database
BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità
