1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a. 2005 - 2006 Ing. Mauro.

Slides:



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

Structured Query Language
SQL applicato a SQL Server
Microsoft SQL Server 2008 Utilizzo. Creazione DataBase CREATE DATABASE CREATE DATABASE Cinema.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
SQL (Standard query language) Istruzioni per la creazione di una tabella: Create table ( tipo, (, [vincoli]) Primary key ( ) CHIVE PRIMARIA Foreign key(
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
SQL-92 Concetti Fondamentali
G. Mecca – – Università della Basilicata Basi di Dati SQL-92 Concetti Avanzati versione 2.0 Questo lavoro è concesso in uso secondo i termini.
G. Mecca – – Università della Basilicata Basi di Dati SQL-92 Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo.
Progettazione ER Un database universitario contiene informazioni riguardanti i professori (identificati dal codice fiscale) e informazioni relative ai.
SQL.
SQL Structured Query Language
Un DataBase Management System (DBMS) relazionale client/server.
MySQL Esercitazioni. Ripasso Connessione a MySQL. Creazione delle basi di dati e delle tablelle. Inserimento dei dati. Interrogazioni.
Corso di Informatica (Basi di Dati)
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Application Code Dato Table Data Base Trigger Code 1° Controllo Procedure Client Side 3° Controllo Integrity Constraint 2° Controllo Event Driven BUSINESS.
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 2 Esercitazione per il corso Basi di Dati Gabriel Kuper Nataliya Rassadko
SQL Esercitazione per il corso “Basi di Dati” Gabriel Kuper
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999 Capitolo 4:SQL 11/10/2001.
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
1 Implementazione di Linguaggi 2 PARTE 6 Implementazione di Linguaggi 2 PARTE 6 Massimo Ancona DISI Università di Genova Testo: A.V. Aho, R. Sethi, J.D.Ullman.
SQL1 Structured Query Language Data Definition Language Data Manipulation Language Evoluzione Sequel IBM (1974) Standardizzazione ANSI/ISO: SQL-89, SQL-
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Sequence. CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE]
Gestione dati DML Statement. DML – Data Manipultion Language Unoperazione DML viene eseguita quando: aggiungendo nuove righe ad una tabella modificando.
PRODOTTO CARTESIANO Otteniamo un prodotto cartesiano quando: viene omessa la condizione di join una condizione di join non è valida tutte le righe della.
FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.
Constraints.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Basi di dati Claudia Raibulet
SQL per la definizione di basi di dati SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di.
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Corso di Basi di Dati Un esempio di RDBMS: Il tool MySQL
Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria di Modena Corso di Laurea Specialistica in Ingegneria Informatica Analisi e valutazione.
Università degli studi di Catania
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL Home page del corso:
Creazione di un database MySQL
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
sql: esempi di linguaggio sql nell'implementazione mysql
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore.
LexALP: Legal Language Harmonization System for Environment and Spatial Planning within the multilingual Alps
Dato Table Data Base Application Code 1° Controllo Procedure Client Side 3° Controllo Integrity Constraint Trigger Code 2° Controllo Event Driven BUSINESS.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
Dynamic SQL.
SQL (IV) Data Definition Language/ Data Manipulation Language.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
SQL (III) Data Definition Language/ Data Manipulation Language.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
1 Vincoli Ci sono i vincoli predefiniti ( unique, primary key, not null, foreign key … ) In SQL2 si ha anche check check Condizione Serve per dare condizioni.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Corso di Basi di Dati Il Linguaggio SQL
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Dino Pedreschi Dipartimento di Informatica a.a. 2011– 2012
SQL per la modifica di basi di dati
Structured Query Language
Transcript della presentazione:

1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro Zaninelli – Lezione 2 B

2 Concetti Fondamentali Introduzione Creazione ed eliminazione di bd Creazione ed eliminazione di tabelle Inserimenti di ennuple Interrogazioni clausola SELECT clausola FROM clausola WHERE clausola ORDER BY metodo di scrittura Cancellazioni Aggiornamenti

3 Introduzione SQL (“Structured Query Language”) linguaggio per l’interazione con il DBMS tutte le operazioni vengono specificate in SQL DDL (“Data Definition Language”) creazione degli oggetti dello schema DCL (“Data Control Language”) controllo degli utenti e delle autorizzazioni DML (“Data Manipulation Language”) manipolazione dell’istanza della base di dati (interrogazioni e aggiornamenti)

4 Storia dello Standard Prime implementazioni IBM System/R 1979 (SEQUEL) Primi prodotti commerciali IBM SQL/DS, Oracle 1981 SQL-86 prima versione dello standard, basata sul dialetto IBM

5 SQL-92, full SQL-92, intermediate SQL-92, entry Storia dello Standard SQL-89 (SQL-1) vincoli di integrità livello1 e livello2 SQL-92 (SQL-2) entry intermediate full SQL-89, livello 2 SQL-89, livello 1

6 Le Istruzioni Fondamentali DDL creazione della base di dati CREATE DATABASE creazione delle tabelle CREATE TABLE DML inserimento delle ennuple INSERT INTO interrogazioni SELECT eliminazione delle ennuple DELETE modifica della ennuple UPDATE

7 Creazione ed Eliminazione di BD Istruzioni del DDL Sintassi CREATE DATABASE ; DROP DATABASE ; Esempio CREATE DATABASE universita; DROP DATABASE universita;

8 Creazione ed Eliminazione di Tabelle Istruzioni del DDL CREATE TABLE DROP TABLE Sintassi CREATE TABLE ( ); DROP TABLE ;

9 Creazione ed Eliminazione di Tabelle Esempio: la tabella Professori CREATE TABLE Professori ( cod char(4) PRIMARY KEY, cognome varchar(20) NOT NULL, nome varchar(20) NOT NULL, qualifica char(15), facolta char(10) ); DROP TABLE Professori;

10 Creazione ed Eliminazione di Tabelle Esempio: la tabella Esami CREATE TABLE Esami ( studente integer, corso char(3), voto integer, lode bool, PRIMARY KEY (studente, corso));

11 Creazione ed Eliminazione di Tabelle una o più definizioni di attributo zero o più definizioni di vincoli di tabella Definizione di attributo [ ] Definizioni di vincoli di tabella normalmente vincoli relativi a più attributi

12 Creazione ed Eliminazione di Tabelle identificatore INT, INTEGER REAL, FLOAT DECIMAL(lung,dec) DOUBLE PRECISION CHAR(n), CHARACTER(n) VARCHAR(n) LONG VARCHAR, TEXT BOOLEAN, BOOL DATE TIME TIMESTAMP BINARY(n), BIT(n) VARBINARY(n), VARBIT(n) LONG VARBINARY, BLOB

13 Creazione ed Eliminazione di Tabelle Vincoli di colonna PRIMARY KEY UNIQUE NOT NULL REFERENCES [ON update CASCADE] [ON delete CASCADE] CHECK ( )

14 Creazione ed Eliminazione di Tabelle Vincoli di tabella (su più attributi) PRIMARY KEY ( ) UNIQUE ( ) FOREIGN KEY ( ) REFERENCES [ON update CASCADE] [ON delete CASCADE] CHECK ( )

15 CREATE TABLE Studenti ( matr integer PRIMARY KEY, cognome varchar(20) NOT NULL, nome varchar(20) NOT NULL, ciclo char(20), anno integer, relatore char(4) REFERENCES Professori(cod) ); CREATE TABLE Professori ( cod char(4) PRIMARY KEY, cognome varchar(20) NOT NULL, nome varchar(20) NOT NULL, qualifica char(15), facolta char(10) ); CREATE TABLE Tutorato ( studente integer REFERENCES Studenti(matr), tutor integer REFERENCES Studenti(matr), PRIMARY KEY (studente,tutor)); CREATE TABLE Esami ( studente integer REFERENCES Studenti(matr) ON DELETE cascade ON UPDATE cascade, corso char(3) REFERENCES Corsi(cod), voto integer, lode bool, CHECK (voto>=18 and voto<=30), CHECK (not lode or voto=30), PRIMARY KEY (studente, corso)); CREATE TABLE Corsi ( cod char(3) PRIMARY KEY, titolo varchar(20) NOT NULL, ciclo char(20), docente char(4) REFERENCES Professori(cod) ); CREATE TABLE Numeri ( professore char(4) REFERENCES Professori(cod), numero char(9), PRIMARY KEY (professore,numero));

16 Inserimenti Istruzione del DML INSERT Sintassi INSERT INTO VALUES ( ); Semantica inserimento della ennupla nella tabella corrispondenza ordinata tra valori e attributi (notazione posizionale)

17 Inserimenti Esempi: INSERT INTO Professori VALUES (‘FT’, ‘Totti’, ‘Francesco’, ‘ordinario’, ‘Ingegneria’); INSERT INTO Studenti VALUES (111, ‘Rossi’, ‘Mario’, ‘laurea tr.’, 3, null); INSERT INTO Corsi VALUES (‘PR1’, ‘Programmazione 1’, ‘laurea tr.’, ‘FT’);

18 Interrogazioni Istruzione del DML SELECT sintassi concreta per specificare operatori dell’algebra Filosofia parzialmente dichiarativa si specificano gli operatori da applicare, non l’ordine in cui devono essere applicati l’ottimizzatore sceglie la strategia ottima

19 Interrogazioni Tre “clausole” principali (nucleo) SELECT, FROM, WHERE SELECT proiezioni, ridenominazioni, elimin. duplicati FROM tabelle, join, prodotti cartesiani, alias WHERE selezioni

20 Esempi “Studenti della laurea triennale di anni successivi al primo” SELECT * FROM Studenti WHERE ciclo=‘laurea tr.’ AND anno>1;

21 Esempi “Matricola e cognome degli studenti che hanno sostenuto l’esame di informatica teorica” SELECT matricola, cognome FROM Studenti JOIN Esami ON matr=studente JOIN Corsi ON cod=corso WHERE titolo=‘Inform. t.’;

22 Clausola ORDER BY Serve a specificare ordinamenti finali Sintassi ORDER BY Dove è una lista di attributi di tabelle che compaiono nella clausola FROM

23 Clausola ORDER BY Esempio SELECT * FROM Studenti ORDER BY cognome, annoCorso Normalemente: l’ordinamento è crescente Ordinamento decrescente: DESC ORDER BY cognome, annoCorso DESC

24 Cancellazioni Istruzione del DML DELETE Sintassi DELETE FROM [ ]; : identica a quella vista Semantica elimina dalla tabella tutte le ennuple (che soddisfano la condizione se è specificata)

25 Cancellazioni Esempi: DELETE FROM Numeri; DELETE FROM Studenti WHERE matr=111; DELETE FROM Corsi WHERE ciclo=‘laurea tr.’ AND docente=‘FT’;

26 Aggiornamenti Istruzione del DML UPDATE Sintassi UPDATE SET = [ ] Semantica aggiorna il valore dell’attributo di tutte le ennuple (che soddisfano la condizione se è specificata)

27 Aggiornamenti Esempi: UPDATE Studenti SET anno=anno+1; UPDATE Studenti SET matr=11111 WHERE matr=111; UPDATE Corsi SET docente=‘VC’ WHERE ciclo=‘laurea tr.’ AND docente=‘FT’;

28 CREATE TABLE Studenti ( matr integer PRIMARY KEY, cognome varchar(20) NOT NULL, nome varchar(20) NOT NULL, ciclo char(20), anno integer, relatore char(4) REFERENCES Professori(cod) ); CREATE TABLE Professori ( cod char(4) PRIMARY KEY, cognome varchar(20) NOT NULL, nome varchar(20) NOT NULL, qualifica char(15), facolta char(10) ); CREATE TABLE Tutorato ( studente integer REFERENCES Studenti(matr), tutor integer REFERENCES Studenti(matr), PRIMARY KEY (studente,tutor)); CREATE TABLE Esami ( studente integer REFERENCES Studenti(matr) ON DELETE cascade ON UPDATE cascade, corso char(3) REFERENCES Corsi(cod), voto integer, lode bool, CHECK (voto>=18 and voto<=30), CHECK (not lode or voto=30), PRIMARY KEY (studente, corso)); CREATE TABLE Corsi ( cod char(3) PRIMARY KEY, titolo varchar(20) NOT NULL, ciclo char(20), docente char(4) REFERENCES Professori(cod) ); CREATE TABLE Numeri ( professore char(4) REFERENCES Professori(cod), numero char(9), PRIMARY KEY (professore,numero));

29 TutoratoT studente INTEGERPK, FK tutor INTEGERPK, FK StudentiT matr INTEGERPK cognome VARCHAR(20) nome VARCHAR(20) ciclo CHAR(20) anno INTEGER relatore CHAR(4)FK ProfessoriT cod CHAR(4)PK cognome VARCHAR(20) nome VARCHAR(20) qualifica CHAR(15) facolta CHAR(10) EsamiT corso CHAR(3)PK, FK studente INTEGERPK, FK voto INTEGER lode BOOL CorsiT codice CHAR(3)PK titolo VARCHAR(20) ciclo CHAR(20) docente CHAR(4)FK NumeriT numero CHAR(9)PK docente CHAR(4)PK, FK

30 codcognomenomequalificafacolta FTTottiFrancescoordinarioIngegneria CVVieriChristianassociatoScienze ADPDel PieroAlessandrosupplentenull Professori matrcognomenomecicloannorelatore 111RossiMariolaurea tr.1null 222NeriPaololaurea tr.2null 333RossiMarialaurea tr.1null 444PincoPallalaurea tr.3FT 77777BrunoPasqualelaurea sp.1FT 88888PincoPietrolaurea sp.1CV Studenti codtitolociclodocente PR1Programmazione Ilaurea tr.FT ASDAlgoritmi e Str. Datilaurea tr.CV INFTInformatica Teoricalaurea sp.ADP Corsi

31 studentetutor Tutorato studentecorsovotolode 111PR127false 222ASD30true 111INFT24false 77777PR121false 77777ASD20false 88888ASD28false 88888PR130false 88888INFT30true Esami professorenumero FT FT VC ADP ADP Numeri

32 Termini della Licenza This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Original Work BY: G. Mecca – Università della Basilicata