>> presentazione in formato .ppt
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
La lezione ha due obiettivi principali: (a) introdurre le nozioni minime necessarie ad essere operativi con un DBMS utilizzando SQL (in modo da mettere gli studenti in grado di svolgere, per esempio, esercitazioni in laboratorio); (b) presentare le interrogazioni SQL come una sintassi concreta per esprimere interrogazioni in algebra relazionale; di conseguenza, nella parte relativa alla SELECT vengono presentati solo gli aspetti sintattici, rimandando per tutto il resto alla semantica degli operatori corrispondenti. Infine, viene suggerito un metodo sistematico per scrivere interrogazioni in SQL, basato sulla forma standard. Inizialmente credo che sia utile suggerire agli studenti di scrivere le interrogazioni prima nella forma standard dell'algebra, e poi tradurle. Dopo un po' so per esperienza che gli studenti smettono di scrivere la query in algebra e tendono a scrivere direttamente il codice SQL; in questo caso, suggerire un metodo sistematico che costringa a pensare agli operatori (anche senza scrivere l'espressione algebrica) può aiutare.
Sistemi per Basi di Dati - lezione introduttiva
Modello Logico - Concetti Fondamentali
Modello Logico - Dettagli e Approfondimenti
Algebra Relazionale - Concetti Fondamentali
Algebra Relazionale - Dettagli e Approfondimenti
2.0 (aggiunti i termini della licenza)
2003-02-07 (versione di manutenzione di tutto il materiale, corretti alcuni errori e refusi)
2003-02-01 (versione iniziale)
>> presentazione in formato .ppt
DDL: Tabelle: valori di default, vincoli di riferimento, modifiche allo schema; DDL: Viste: definizione e uso; DDL: Indici; DCL: utenti, autorizzazioni, schemi esterni; DML: Aggiornamenti: inserimenti; DML: Interrogazioni: operatori insiemistici, SELECT: espressioni, FROM: join, WHERE: op. like
Credo che l'SQL sia uno degli argomenti in cui la separazione dei concetti fondamentali dai dettagli è più efficace. Questa lezione è abbastanza noiosa (si tratta di un elenco abbastanza lungo di caratteristiche specifiche del linguaggio), ma se non altro non oscura la comprensione dei concetti fondamentali presentati in precedenza.
Sistemi per Basi di Dati - lezione introduttiva
Modello Logico - Concetti Fondamentali
Modello Logico - Dettagli e Approfondimenti
Algebra Relazionale - Concetti Fondamentali
Algebra Relazionale - Dettagli e Approfondimenti
SQL-92 - Concetti Fondamentali
2.0 (aggiunti i termini della licenza)
2003-02-07 (versione di manutenzione di tutto il materiale, corretti alcuni errori e refusi)
2003-02-01 (versione iniziale)
>> presentazione in formato .ppt
Raggruppamenti; Clausole GROUP BY e HAVING; Forma Generale della SELECT; Nidificazione; Uso nel DML e DDL; Nidificazione, Viste e Potere Espressivo; Esecuzione di una Query SQL
I concetti presentati nella lezione sono fondamentalmente tre: raggruppamenti, nidificazione e strategia di esecuzione di una query SQL. Questo ultimo elemento è tra i concetti avanzati perchè presuppone lo studio delle strutture fisiche. Per quanto riguarda i primi due - raggruppamenti e nidificazione - per quanto la complessità concettuale non sia particolarmente elevata, è l'esperienza a dire che in molti casi risultano ostici agli studenti, tanto da giustificare l'inclusione nei concetti avanzati.
Sistemi per Basi di Dati - lezione introduttiva
Modello Logico - Concetti Fondamentali
Modello Logico - Dettagli e Approfondimenti
Modello Fisico - Concetti Fondamentali
Modello Fisico - Dettagli e Approfondimenti
Modello Fisico - Concetti Avanzati
Algebra Relazionale - Concetti Fondamentali
Algebra Relazionale - Dettagli e Approfondimenti
SQL-92 - Concetti Fondamentali
SQL-92 - Dettagli e Approfondimenti
2.0 (aggiunti i termini della licenza)
2003-02-07 (versione di manutenzione di tutto il materiale, corretti alcuni errori e refusi)
2003-02-01 (versione iniziale)
Storia dello standard SQL
SQL-86 ed SQL-89
SQL-92 entry, intermediate e full
SQL:1999
DDL (“Data Definition Language”)
DCL (“Data Control Language”)
DML (“Data Manipulation Language”)
Istruzione CREATE DATABASE
Istruzione DROP DATABASE
Istruzione CREATE TABLE
Istruzione DROP TABLE
Tipi di dato
Valori di DEFAULT
Vincoli di colonna
Vincoli di tabella
Vincoli di ennupla con nidificazione
Azioni in cascata per i vincoli di riferim.
Istruzione ALTER TABLE
Istruzione CREATE VIEW
Istruzione DROP VIEW
Utilizzo delle viste
Istruzione CREATE INDEX
Istruzione DROP INDEX
Creazione degli utenti
Istruzione CREATE USER di PgSQL
Istruzione GRANT
Istruzione REVOKE
Costruzione degli schemi esterni
Istruzione INSERT INTO per singole enn.
Forma parziale della INSERT
Istruzione INSERT INTO con SELECT
Istruzione UPDATE
Istruzione DELETE
Istruzione SELECT
Clausola FROM
Prodotti cartesiani
Join interni
Join esterni
Alias
Clausola WHERE
Selezioni
Operatore IS NULL
Operatore LIKE
Interrogazioni nidificate
Modificatore ANY
Modificatore ALL
Utilità delle interrogazioni nidificate
Clausola SELECT
Proiezioni
Ridenominazioni
DISTINCT
Funzioni aggregative
Espressioni
Nucleo della SELECT
Clausola GROUP BY
Attributi di raggruppamento
Clausola HAVING
Condizioni sui gruppi
Clausola ORDER BY
Operatori insiemistici
Ordinamento e operatori insiemistici
Semantica della SELECT
Metodo di scrittura per le SELECT
Esecuzione di una query SQL
Ottimizzatore
Piano di Esecuzione