Basi di dati (2) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: tabelle (1.
|
|
- Beniamino Nobile
- 5 anni fa
- Visualizzazioni
Transcript
1 Università di Modena e Reggio Emilia Basi di dati (2) Docente: andrea.bulgarelli@gmail.com Argomento: tabelle (1.0) 1
2 Panoramica Tabelle Creazione Modifica Cancellazione Esempio Clienti/Ordini: creazione tabelle (create e alter table) Tabelle temporanee e di sistema 2
3 Creazione di tabelle In SQL server si possono creare tabelle sia con Enterprise Manager che con Query Analyser database.owner.tablename 3
4 Descrizione del comando create table (1) CREATE TABLE [ database_name.[owner]. owner. ] table_name ( { <column_definition> column_name AS computed_column_expression <table_constraint> } [,...n] ) [ON {filegroup DEFAULT} ] [TEXTIMAGE_ON {filegroup DEFAULT} ] 4
5 Descrizione del comando create table (2) <table_constraint> ::= [CONSTRAINT constraint_name] { [ { PRIMARY KEY UNIQUE } [ CLUSTERED NONCLUSTERED] { ( column[,...n] ) } [ WITH FILLFACTOR = fillfactor] [ON {filegroup DEFAULT} ] ] FOREIGN KEY [ ( column[,...n] ) ] REFERENCES ref_table [ ( ref_column[,...n] ) ] [NOT FOR REPLICATION] CHECK [NOT FOR REPLICATION] ( search_conditions ) } 5
6 Descrizione del comando create table (3) <column_definition> ::= { column_name data_type } [ [ DEFAULT constant_expression ] [ IDENTITY [(seed, increment ) [NOT FOR REPLICATION] ] ] ] [ ROWGUIDCOL ] [ <column_constraint> ] [...n] <column_constraint> ::= [CONSTRAINT constraint_name] { [ NULL NOT NULL ] [ { PRIMARY KEY UNIQUE } [CLUSTERED NONCLUSTERED] [WITH FILLFACTOR = fillfactor] [ON {filegroup DEFAULT} ]] ] [ [FOREIGN KEY] REFERENCES ref_table [(ref_column) ] [NOT FOR REPLICATION] ] CHECK [NOT FOR REPLICATION] (logical_expression) } 6
7 Denominazione Si usano un massimo di 128 lettere, caratteri numerici, o simboli (#, _) definire una regola generale per la denominazione degli oggetti (tabelle, attributi, procedure, etc) è una buona cosa Attenzione alle parole riservate (select, create, update, ed in genere i termini in SQL92) Gli identificatori possono essere delimitati 7
8 Tipi di dati Cinque gruppi di tipi di dato Numerici bigint, int, smallint, money, smallmoney, float, real Caratteri Char, varchar, nchar, nvarchar (Unicode) Tempi (data e ora) datetime, smalldatetime BLOB (large object) Vari binary, bit, rowversion (era timestamp), table, uniqueidentifier Il tipo sql_variant può assumere connotazioni diverse a tempo di esecuzione C è un tipico trade-off tra tipi di dimensioni costanti e tipi di dimensione variabile 8
9 Synonym binary varying char varying character character(n) character varying(n) dec double precision float[(n)] for n = 1 to 7 float[(n)] for n = 8 to 15 integer national character(n) national char(n) national character varying(n) national char varying(n) national text numeric Mapped to syst datatype varbinary varchar char(1) char(n) varchar(n) decimal float real float int nchar(n) nchar(n) nvarchar(n) nvarchar(n) ntext decimal 9
10 10
11 11
12 I problemi dei valori NULL Il valore NULL indica assenza di informazione Permettere la presenza di valori NULL comporta un onere maggiore per il DBMS, in particolare il motore di archiviazione e le applicazioni Se possibile il DBMS non gestisce il NULL; è tipico usare colonne NOT NULL, assegnando valori predefiniti per classificare le voci mancanti o sconosciute L importante però è che il modello logico sia rispettato 12
13 Tipi di dati definiti dagli utenti Si possono definire tipi di dato derivati per garantire un uso coerente dei tipi nativi all interno del DB e della applicazione 13
14 La proprietà IDENTITY Le tabelle che non hanno una chiave primaria naturale vengono in genere dotate di un elemento di tipo contatore Sintassi: IDENTITY [ (val_iniziale,incremento) ] Esempio: CREATE TABLE customer ( cust_id integer IDENTITY NOT NULL, cust_name varchar(50) NOT NULL ) 14
15 La proprietà IDENTITY (2) Tipicamente accade che i valori inseriti nel campo IDENTITY non siano consecutivi Esempio tipico: più transazioni avviate, con qualcuna in seguito non completata Altro esempio: cancellazione dei record Si può controllare l ultimo valore assegnato per una tabella: SELECT IDENT_CURRENT('customer') 15
16 Vincoli I vincoli contribuiscono a mantenere nel sistema l integrità dei dati e delle relazioni tra loro Ad un vincolo può essere dato un nome con CONSTRAINT Integrità di tabella (primo vincolo di integrità): esistenza di una PRIMARY KEY o UNIQUE, a cui corrisponde la creazione di indici. Un indice è una struttura all interno del database che consente un accesso rapido ai dati. Di solito il database costruisce sempre un indice associato alla primary key Integrità di dominio: i dati soddisfano a condizioni specifiche (e.g. di formato, di appartenenza ad un insieme predefinito); cfr. CHECK Valori di default: Crea un oggetto definito valore predefinito: se non viene specificato nulla, viene inserito nella colonna il valore specificato dal vincolo. Vedi DEFAULT Integrità referenziale (secondo vincolo di integrità): relazioni tra dati in tabelle distinte; cfr. FOREIGN KEY 16
17 Vincolo PRIMARY KEY Nel modello relazionale ogni riga di una tabella è unica e distinguibile da tutte le altre Più attributi possono essere identificatori unici degli elementi in una tabella, ma la PRIMARY KEY deve essere unica (gli altri sono ALTERNATE o CANDIDATE KEYS) È raccomandato (ma non obbligatorio) definire una PRIMARY KEY in ogni tabella Viene creato per default un indice CLUSTERED CREATE TABLE customer ( cust_id int PRIMARY KEY, cust_name varchar(30) NOT NULL ) CREATE TABLE customer ( cust_id int, cust_name varchar(30) NOT NULL, CONSTRAINT PK_customer PRIMARY KEY(cust_id) ) Un indice cluster determina l'ordinamento fisico dei dati in una tabella. Un indice cluster ha un funzionamento analogo a quello di un elenco telefonico che dispone i dati per cognome. Poiché l'indice cluster stabilisce l'ordine di archiviazione fisico dei dati nella tabella, una tabella può includere un unico indice cluster. Tuttavia, l'indice può includere più colonne (un indice composto), così come l'elenco telefonico è organizzato per cognome e nome. Un indice cluster è particolarmente efficiente in colonne in cui vengono eseguite ricerche di intervalli di valori. 17
18 Vincolo UNIQUE Viene creato per default un indice UNCLUSTERED CREATE TABLE customer_location ( cust_id int NOT NULL, cust_location_number int NOT NULL, CONSTRAINT UNQ_customer_location ) UNIQUE (cust_id, cust_location_number) 18
19 Vincolo FOREIGN KEY CREATE TABLE customer ( cust_id int NOT NULL IDENTITY PRIMARY KEY, cust_name varchar(50) NOT NULL ) CREATE TABLE orders ( order_id int NOT NULL IDENTITY PRIMARY KEY, cust_id int NOT NULL REFERENCES customer (cust_id) ) 19
20 CREATE TABLE customer ( cust_id int NOT NULL, location_num smallint NULL, cust_name varchar(50) NOT NULL, CONSTRAINT UNQ_customer UNIQUE (location_num, cust_id) ) CREATE TABLE orders ( order_id int NOT NULL IDENTITY CONSTRAINT ORDER_PK PRIMARY KEY NONCLUSTERED, cust_num int NOT NULL, cust_loc smallint NULL, CONSTRAINT FK_ORDER_CUSTOMER FOREIGN KEY (cust_loc, cust_num) REFERENCES customer (location_num, cust_id) ) 20
21 Vincolo CHECK CREATE TABLE employee ( emp_id int NOT NULL PRIMARY KEY CHECK (emp_id BETWEEN 0 AND 1000), emp_name varchar(30) NOT NULL CONSTRAINT no_nums CHECK (emp_name NOT LIKE '%[0-9]%'), mgr_id int NOT NULL REFERENCES employee(emp_id), in_date datetime NOT NULL CHECK (in_date >= CURRENT_TIMESTAMP) ) Per aggiungere aggiornamenti o cancellazioni in cascata aggiungere on update cascade on delete cascade. Esempio: REFERENCES employee(emp_id) on update cascade EXEC sp_helpconstraint employee 21
22 Modifica di una tabella Le modifiche alla struttura di una tabella (ins/mod/canc di una colonna; ins/mod/canc di un vincolo; attiv/disattiv di un vincolo) si applicano utilizzando il comando ALTER TABLE Non tutte le modifiche sono lecite (lista completa in SQLBOL): Se una colonna è ROWGUIDCOL, se ne può solo fare DROP La colonna non può essere di alcuni tipi (eg text) Non può essere una colonna replicata o calcolata Non può avere un vincolo di PRIMARY o FOREIGN KEY Il tipo non può divenire timestamp 22
23 ALTER TABLE ALTER TABLE table { [ ALTER COLUMN column_name { new_data_type [ ( precision[, scale] ) ] [ NULL NOT NULL ] {ADD DROP} ROWGUIDCOL } ] ADD { [ <column_definition> ] column_name AS computed_column_expression }[,...n] [WITH CHECK WITH NOCHECK] ADD { <table_constraint> }[,...n] DROP { [CONSTRAINT] constraint_name COLUMN column }[,...n] {CHECK NOCHECK} CONSTRAINT {ALL constraint_name[,...n]} {ENABLE DISABLE} TRIGGER {ALL trigger_name[,...n]} } 23
24 Esempio: Mxx_Ordini 24
25 CREATE TABLE [dbo].[cliente] ( [CF] [char] (16) NOT NULL, [Nome] [varchar] (50) NULL, [Cognome] [varchar] (50) NULL, [Indirizzo] [varchar] (100) NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[ordine] ( [Numero] [int] NOT NULL, [Anno] [smallint] NOT NULL, [Data] [smalldatetime] NOT NULL, [CF] [char] (16) NOT NULL, [id] [int] IDENTITY (1, 1) NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[prodotto] ( [Codice] [char] (6) NOT NULL, [Descrizione] [varchar] (200) NOT NULL, [Quantita_Magazzino] [int] NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[prodotto_ordine] ( [Codice_Prodotto] [char] (6) NOT NULL, [Numero_Ordine] [int] NOT NULL, [Anno] [smallint] NOT NULL, [Quantita] [int] NOT NULL ) ON [PRIMARY] GO ON PRIMARY significa che la tabella viene salvata nel file primario del database. 25
26 ALTER TABLE [dbo].[cliente] WITH NOCHECK ADD CONSTRAINT [PK_CLIENTE] PRIMARY KEY NONCLUSTERED ( [CF] ) ON [PRIMARY], CONSTRAINT [CK_CLIENTE] CHECK (([CF] like '[A-Z][A-Z][A- Z][A-Z][A-Z][A-Z][0-9][0-9][A-Z][0-9][0-9][A-Z][0-9][0-9][0-9] [A-Z]')) GO WITH NOCHECK: non applicare il vincolo ai dati esistenti 26
27 ALTER TABLE [dbo].[ordine] WITH NOCHECK ADD CONSTRAINT [PK_ORDINE] PRIMARY KEY NONCLUSTERED ( [Numero], [Anno] ) ON [PRIMARY], CONSTRAINT [AK_ORDINE] UNIQUE NONCLUSTERED ( [id] ) ON [PRIMARY], CONSTRAINT [CK_ORDINE] CHECK ([numero] > 0), CONSTRAINT [CK_ORDINE_1] CHECK (datepart(year,[data]) = [anno]), < 2050) GO CONSTRAINT [CK_ORDINE_2] CHECK ([Anno] > 1990 and [anno] 27
28 ALTER TABLE [dbo].[prodotto] WITH NOCHECK ADD CONSTRAINT [DF_PRODOTTO_Quantita_Magazzino] DEFAULT (0) FOR [Quantita_Magazzino], GO CONSTRAINT [PK_PRODOTTO] PRIMARY KEY NONCLUSTERED ( [Codice] ) ON [PRIMARY], CONSTRAINT [CK_PRODOTTO] CHECK ([quantita_magazzino] >= 0) ALTER TABLE [dbo].[prodotto_ordine] WITH NOCHECK ADD CONSTRAINT [DF_PRODOTTO_ORDINE_Quantita] DEFAULT (0) FOR [Quantita], CONSTRAINT [PK_PRODOTTO_ORDINE] PRIMARY KEY NONCLUSTERED ( [Codice_Prodotto], [Numero_Ordine], [Anno] ) ON [PRIMARY], CONSTRAINT [CK_PRODOTTO_ORDINE] CHECK ([quantita] >= 0) GO 28
29 ALTER TABLE [dbo].[ordine] ADD CONSTRAINT [FK_ORDINE_CLIENTE] FOREIGN KEY ( [CF] ) REFERENCES [dbo].[cliente] ( [CF] ) GO ALTER TABLE [dbo].[prodotto_ordine] ADD CONSTRAINT [FK_PRODOTTO_ORDINE_ORDINE] FOREIGN KEY ( [Numero_Ordine], [Anno] ) REFERENCES [dbo].[ordine] ( [Numero], [Anno] ), CONSTRAINT [FK_PRODOTTO_ORDINE_PRODOTTO] FOREIGN KEY ( [Codice_Prodotto] ) REFERENCES [dbo].[prodotto] ( [Codice] ) GO 29
30 Eliminazione di una tabella o di un constraint L eliminazione della tabella comprende la rimozione di tutti i dati, le definizioni, gli indici, i trigger, i permessi specifici per la tabella Sintassi: DROP TABLE nome-tabella Eliminazione di un constraint ALTER TABLE nometabella DROP CONSTRAINT nome-constraint 30
Microsoft SQL Server
Che cos'è SQL Server E' il DBMS commercializzato da Microsoft. Principali concorrenti: Prodotti commerciali: Oracle, IBM DBII; Prodotti "free": MySQL, Postgres. Requisiti tipici per l'installazione della
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)]
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
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
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
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
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
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
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. 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
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) è
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
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 è
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
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
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
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
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 è
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
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
DettagliLE NOVITÀ Eppur si muove...61 Applicazioni ad alta disponibilità...62 Sicurezza...62
INTRODUZIONE...9 PRIMO CONTATTO... 15 Panoramica su SQL Server 2008...15 Risorse utili...16 Database di esempio...18 Edizioni di SQL Server 2008...19 Requisiti hardware e software...20 Installazione...21
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
DettagliBasi 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
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
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
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
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,
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,
DettagliBasi di Dati Relazionali
Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Coadiutore: Dott.ssa D. Nicotera PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare
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
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
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
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
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. 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à:
DettagliMS SQL Server Componenti Logici. Implementazione. Prof. Pasquale Basile pabasile@unina.it
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Corso di Complementi di Informatica MS SQL Server Componenti Logici Prof. Pasquale Basile pabasile@unina.it
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
DettagliLaboratorio Basi di Dati Laura Po
Laboratorio Basi di Dati Laura Po Si vuole progettare un database per la gestione delle ferrovie dello stato. I treni gestiti sono identificati da un numero. Su ciascun treno sono specificate le classi
DettagliUniversita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.1 Data Description Language - 1
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.1 Data Description Language - 1 SQL Structured Query Language è un linguaggio con varie funzionalità: contiene sia
DettagliBasi di Dati e Sistemi Informativi. Structured Query Language
Basi di Dati e Sistemi Informativi Structured Query Language Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio
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
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
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
DettagliIl sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.
PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,
DettagliSQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)
26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando
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
DettagliEquivalenza di espressioni. Equivalenze. Equivalenze. Due espressioni sono equivalenti se: Atomizzazione delle selezioni σ F1 F2 (E) σ F1 (σ F2 (E))
Equivalenza di espressioni Due espressioni sono equivalenti se: E 1 R E 2 se E 1 (r = E 2 (r per ogni istanza r di R (equivalenza dipendente dallo schema E 1 E 2 se E 1 R E 2 per ogni schema R (equivalenza
DettagliLaboratorio di Basi di Dati Per Bioinformatica
Laboratorio di Basi di Dati Per Bioinformatica Laurea in Bioinformatica - A.A. 2010/11 Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 1 SQL Structured Query Language SQL è stato definito nel
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
DettagliLinguaggio 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
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'
DettagliLinguaggi e Traduttori
Politecnico di Torino Linguaggi e Traduttori - Traduttore XDoclet based Indice 1 SCOPO...3 2 FUNZIONAMENTO...3 2.1 DESCRIZIONE...3 2.2 TAG RICONOSCIUTI...4 2.3 RELAZIONE 1-N E N-N...5 3 RESTRIZIONI...6
DettagliSQL. Il linguaggio. I linguaggi dentro SQL. Evoluzione del linguaggio. Utilizzo di SQL. I diale8i SQL SQL. A. Ferrari 1
Structured Query Language Il linguaggio è un linguaggio di interrogazione per database progettato per o leggere, o modificare o gestire dati memorizzati in un sistema basato sul modello relazionale o creare
DettagliGestione 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
DettagliBASI di DATI. SQL: concetti fondamentali
BASI di DATI SQL: concetti fondamentali 1 SQL-92 >> Sommario Concetti Fondamentali Introduzione Creazione ed eliminazione di bd Creazione ed eliminazione di tabelle Inserimenti di ennuple Interrogazioni
DettagliLaboratorio di Basi di Dati e Multimedia
Laboratorio di Basi di Dati e Multimedia Laurea in Informatica Multimediale - A.A. 2007/08 Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 1 SQL Structured Query Language SQL è stato definito
DettagliBasi di dati - Laboratorio
Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 1 Contenuto della lezione Definizione di dati in SQL Istruzione CREATE TABLE Domini SQL Vincoli intrarelazionali
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
DettagliSQL. 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
DettagliSQL. SQL (Structured Query Language) è un linguaggio di interrogazione per basi di dati relazionali
SQL SQL (Structured Query Language) è un linguaggio di interrogazione per basi di dati relazionali Contiene funzionalità anche di Data Definition Language (DDL) e di Data Manipulation Language (DML) DDL:
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,
DettagliSQL aspetti essenziali
SQL aspetti essenziali Sommario 2 Definizioni di dati e tipi di dato in SQL Specifica di vincoli in SQL Interrogazioni di base in SQL Istruzioni INSERT, DELETE, e UPDATE Funzionalità aggiuntive SQL 3 SQL
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Introduzione a PostgreSQL Anno accademico 2017-2018 Paolo Perlasca Parte di questi lucidi è tratta da una versione precedente di Marco Mesiti, Stefano Valtolina, Daniele Riboni
DettagliI DBMS sono... efficienti
I DBMS sono... efficienti Cercano di utilizzare al meglio le risorse di spazio di memoria (principale e secondaria) e tempo (di esecuzione e di risposta) Tecniche specializzate per l implementazioni dei
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
DettagliBasi di Dati. Concetti Fondamentali SQL-92 25/02/2004. Concetti Fondamentali. Introduzione. Interrogazioni. Creazione ed eliminazione di bd
Basi di Dati SQL-92 Concetti Fondamentali SQL-92 >> Sommario Introduzione Creazione ed eliminazione di bd Creazione ed eliminazione di tabelle Inserimenti di ennuple Concetti Fondamentali Interrogazioni
DettagliBasi 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
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
DettagliBasi di Dati SQL-92. Concetti Fondamentali
Basi di Dati SQL-92 Concetti Fondamentali SQL-92 >> Sommario Concetti Fondamentali Introduzione Interrogazioni clausola SELECT Creazione ed eliminazione clausola FROM di bd clausola WHERE clausola ORDER
DettagliSQL STRUCTURED QUERY LANGUAGE
SQL STRUCTURED QUERY LANGUAGE Il linguaggio SQL è un linguaggio di interrogazione per database progettato per leggere, modificare gestire dati memorizzati in un sistema basato sul modello relazionale creare
DettagliLinguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Linguaggio SQL Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che
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] [],...,...,
DettagliSQL - 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
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
Dettagli5 SQL : Definizione e manipolazione dei dati
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 2010/2011 Andrea Marrella Ultimo aggiornamento
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
DettagliIl 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
DettagliSessione ordinaria 2003 Seconda prova scritta ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Indirizzo: INFORMATICA CORSO SPERIMENTALE Progetto ABACUS
Sessione ordinaria 2003 Seconda prova scritta ESAME DI STATO DI ISTITUTO TECICO IDUSTRIALE Indirizzo: IFORMATICA CORSO SPERIMETALE Progetto ABACUS Vivaio Si tratta di un classico problema di gestione di
DettagliCorso di Informatica Linguaggio SQL prima parte
Corso di Informatica Linguaggio SQL prima parte Anno Accademico 2018-2019 Linguaggio SQL (Structured Query Language) 2 Il linguaggio SQL Un linguaggio per DBMS (DataBase Management System) deve permettere
DettagliLaboratorio 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
DettagliBasi di dati (3) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: DML (1.
Università di Modena e Reggio Emilia Basi di dati (3) Docente: andrea.bulgarelli@gmail.com Argomento: DML (1.0) 1 Panoramica Insert Update Delete 2 INSERT INSERT INTO [()] VALUES
DettagliPROGETTAZIONE DI DATABASE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI PROGETTAZIONE DI DATABASE Definizione dei dati in SQL Lezione 13 Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA. Chiunque può
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
Dettaglimatricola Nome Cognome firma punti Basi di Dati Schema logico relazionale e tabelle SQL - 1 Esercitazione con valutazione del 24 Ottobre 2007 Conosce
matricola Nome Cog firma punti Basi di Dati Schema logico relazionale e tabelle SQL - 1 Esercitazione con valutazione del 24 Ottobre 2007 data di nascita luogo di nascita cog residenza telefono tessera
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;
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
DettagliBasi di Dati. Dettagli e Approfondimenti
Basi di Dati Dettagli e Approfondimenti Dettagli e Approfondimenti Altre Forme di Join Funzioni Aggregative Approfondimenti DDL Espressioni Algebra Relazionale >> Dettagli e Approfondimenti Operatori Binari
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
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati 15/07/2010 Corso di Laurea in Ingegneria Informatica Prof. Laura Po Nome Cognome Matr Corso di laurea Esercizio Sia dato il seguente database per la gestione dei concorsi fotografici.
DettagliDomini 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
DettagliBasi di Da( MySQL & MySQL Workbench. Anna Monreale
Basi di Da( MySQL & MySQL Workbench Anna Monreale MySQL MySQL è un DBMS gratuito ed open- source (h@p://www.mysql.com) MySQL può essere uilizzato in Windows, Linux, MacOS X. MySQL è un RDBMS (relaional
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
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 relazionali,
DettagliQuery SQL - singola tabella
Query SQL - singola tabella Informatica@SEFA 07/08 - Lezione 9 Massimo Lauria http://massimolauria.net/courses/infosefa07/ Mercoledì, 6 Dicembre 07 Tabelle in SQL Tabelle nel
DettagliCorso 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.
Dettagli