Slide dall'Università degli Studi di Cassino e del Lazio Meridionale sui linguaggi nei database. Il Pdf esplora i concetti chiave dei linguaggi e delle operazioni sui database, come DDL e DML, e i vincoli di integrità (PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE, CHECK), con esempi di sintassi. Questo documento di Informatica, adatto per l'Università, fornisce una panoramica schematica e concisa.
Mostra di più19 pagine


Visualizza gratis il Pdf completo
Registrati per accedere all’intero documento e trasformarlo con l’AI.
Un DBMS deve: definire come i dati sono organizzati in informazioni (definire gli schemi e operare sugli schemi) attraverso un opportuno linguaggio di definizione dei dati, il Data Definition Language (DDL); manipolare e gestire i dati (ovvero le istanze con interrogazioni e aggiornamenti) tramite un opportuno linguaggio di gestione chiamato Data Manipulation Language (DML). C. Marrocco Università degli Studi di Cassino e del Lazio Meridionale
. Le operazioni nel modello relazionale sono essenzialmente di due tipi: - Operazioni di modifica dei dati del database (update) - Interrogazioni (cioè letture) del database per il recupero delle informazioni (query) C. Marrocco Università degli Studi di Cassino e del Lazio Meridionale
Originariamente "Structured Query Language" è un linguaggio con varie funzionalità: - contiene sia il DDL sia il DML - ne esistono varie versioni Un po' di storia: - prima proposta SEQUEL (IBM Research, 1974); - prime implementazioni in SQL/DS (IBM) e Oracle (1981); - dal 1983 ca., "standard de facto" - vero e proprio standard dal 1986, poi 1989, 1992, 1999, 2003, 2008, 2011, e 2016 C. Marrocco Università degli Studi di Cassino e del Lazio Meridionale
Un DBMS basato su SQL consente di gestire basi di dati relazionali; dal punto di vista sistemistico è un server.
L'istruzione più importante del DDL di SQL è CREATE TABLE - definisce una relazione (specificando attributi e vincoli) - crea un'istanza vuota dello schema · Sintassi: CREATE TABLE NomeTabella ( NomeAttributo Dominio [Default] [Vincoli] NomeAttributo Dominio [Default] [Vincoli] [AltriVincoli] ) C. Marrocco Università degli Studi di Cassino e del Lazio Meridionale
CREATE TABLE Studenti ( matricola INTEGER PRIMARY KEY, nome VARCHAR (20) NOT NULL, cognome VARCHAR (20) NOT NULL, corsoLaurea VARCHAR (20) , indirizzo VARCHAR (100) , FOREIGN KEY (corsoLaurea) REFERENCES Corsi di Laurea (nomeCorso) _ _ ON DELETE SET NULL, UNIQUE (cognome, nome, indirizzo) ) C. Marrocco Università degli Studi di Cassino e del Lazio Meridionale
L'istruzione che permette di modificare una tabella è ALTER TABLE - Solitamente serve ad aggiungere o eliminare attributi e vincoli. Ad esempio può essere usato per realizzare vincoli di integrità referenziali "ciclici" in cui R, referenzia R2 ed R2 referenzia R1. In tal caso si può definire prima R, senza vincolo di foreign key, poi R, con il vincolo di foreign key verso Ry, ed infine aggiungere il vincolo di foreign key ad R. con il comando alter table.
L'istruzione che permette di eliminare una tabella è DROP TABLE · Sintassi: DROP TABLE NomeTabella [RESTRICT | CASCADE] -RESTRICT elimina la tabella solo se non ci sono riferimenti ad essa - CASCADE elimina la tabella e tutte le tabelle che si riferiscono ad essa (in MySQL non ha effetto). N.B. Per eliminare un dominio/vista/schema si utilizza sempre il comando DROP. C. Marrocco Università degli Studi di Cassino e del Lazio Meridionale
Sono operazioni di - inserimento: INSERT - eliminazione: DELETE - modifica: UPDATE di una o più ennuple di una relazione, sulla base di una condizione che può coinvolgere anche altre relazioni C. Marrocco Università degli Studi di Cassino e del Lazio Meridionale
Sintassi: INSERT INTO NomeTabella (Attributi) VALUES (Elencovalori) Esempio: INSERT INTO Studenti VALUES (1500, ' Claudio' , ' Marrocco' , 'Informatica' , 'Via Di Biasio' ) . l'ordinamento delle liste di attributi (se presente) e valori è significativo. · le liste di attributi e valori devono avere lo stesso numero di elementi. · se la lista di attributi è omessa, si fa riferimento a tutti gli attributi della relazione, secondo l'ordine con cui sono stati definiti. · se la lista di attributi non contiene tutti gli attributi della relazione, per quelli mancanti viene inserito il valore nullo o il valore di default. C. Marrocco Università degli Studi di Cassino e del Lazio Meridionale
Sintassi: DELETE FROM NomeTabella WHERE Condizione Esempio: DELETE FROM Studenti WHERE (matricola=1500) · elimina le ennuple che soddisfano la condizione · può causare (se i vincoli di integrità referenziale sono definiti con politiche di cascade) eliminazioni da altre relazioni · NB: se la where viene omessa, si intende where true e quindi si eliminano tutte le ennuple della tabella C. Marrocco Università degli Studi di Cassino e del Lazio Meridionale
Sintassi: UPDATE NomeTabella SET Attributo = Espressione {, Attributo=Espressione} [WHERE Condizione] Esempio: UPDATE Studenti SET nome='Claudio', cognome= 'Marrocco' WHERE (matricola=1500) vengono modificate le ennuple della tabella che soddisfano la condizione WHERE C. Marrocco Università degli Studi di Cassino e del Lazio Meridionale