




Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una panoramica dettagliata del linguaggio sql, inclusi i suoi quattro sottolinguaggi, la struttura delle query, i comandi e la sintassi. Vengono spiegati i comandi per la creazione, modifica, eliminazione e aggiornamento dei dati, la gestione degli accessi alle risorse del database e la gestione dei permessi utente, nonché la query per l'interrogazione, il raggruppamento, il conteggio e l'ottenimento di prospetti personalizzati dei dati presenti nelle varie tabelle del database. Vengono inoltre illustrati i tipi di dato più comuni, i vincoli intra e inter-relazionali, il compito dell'ottimizzatore delle interrogazioni e il linguaggio procedurale interno al sistema.
Tipologia: Appunti
1 / 8
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





SQL : structured query language. E’ un linguaggio di interrogazione strutturato che consente di interagire con i dati presenti nelle basi di dati. Il linguaggio viene utilizzato per accedere ai dati e alla loro struttura, infatti il linguaggio può essere suddiviso in 4 sottolinguaggi.
La query ovvero l’interrogazione effettuata sul database è suddivisa in
FROM nomi clausola che mi dice dove prendere i dati WHERE nome =’pippo’; [COMANDO SQL] parametro aggiuntivo
Creazione di un Database : CREATE DATABASE Permette di creare un nuovo database associandogli un nome: CREATE DATABASE mioDB; Creazione di una tabella : CREATE TABLE Le informazioni specificabili in fase di creazione di una tabella sono:
CREATE TABLE studente( … indirizzo char(4) NOT NULL CONSTRAINT legame REFERENCES Classe(indirizzo_classe), … ) In Studente non è possibile inserire un record con un valore di indirizzo nullo o non presente nella tabella Classe, nella colonna indirizzo_classe. In Classe non è possibile rimuovere un record con un valore di indirizzo presente nella colonna Studente.indirizzo_classe La relazione tra Classe e Studente è 1 a molti (il valore univoco Classe.indirizzo può essere inserito in più record di Studente.indirizzo_classe) Es: uso di constraint per la definizione di un vincolo di unicità, all’interno di una sola tabella CREATE TABLE DIPENDENTE ( CF char(16) PRIMARY KEY, nome varchar(25) NOT NULL, cognome varchar(35) NOT NULL, indirizzo varchar(40), data-nascita date, CONSTRAINT chiaveCandidata UNIQUE(nome, cognome,data-nascita) ); Il vincolo di FOREIGN KEY si usa per evitare azioni che potrebbero portare alla distruzione di dati in tabelle tra di loro collegate. il campo FOREIGN KEY (o collezione di campi) in una tabella si riferisce alla PRIMARY KEY di un’altra tabella.
1. Sintassi SQL per la definizione di un vincolo di chiave esterna: foreign key(A) references Table1(B)
La chiave esterna (o foreign key) è l’insieme di uno o più campi di una tabella che fanno riferimento alla chiave primaria di un’altra tabella Es: vincolo di “legame” fra table1 e table2 (continuo) CREATE TABLE table1( ID_B int NOT NULL, … … PRIMARY KEY(ID_B) ); CREATE TABLE table2( … id_B_table1 int, FOREIGN KEY (id_B_table1) REFERENCES table1(ID_B) … ) table2.id_b_table2 chiave esterna table1.ID_B chiave primaria La differenza fra foreign key e constraint è che nel primo caso non posso attribuire un nome al vincolo inoltre constraint consente di definire qualsiasi vincolo anche all’interno di una stessa tabella. Altro esempio di tabella con chiave primaria e chiave esterna sintassi mySql CREATE TABLE Orders ( OrderID int NOT NULL AUTO_INCREMENT, orderNumber int NOT NULL, personID int, PRIMARY KEY (OrderID), FOREIGN KEY (personID) REFERENCES Persons(PersonID) ); Modifica di una tabella : ALTER TABLE La struttura di una tabella può essere modificata mediante il costrutto ALTER, che consente la variazione di attributi, del dominio, degli indici e dei vincoli Sintassi: ALTER TABLE <nome_tabella> DROP (TABLE|COLUMN|CONSTRAINT) <nom_elemento> ADD COLUMN <nome_attributo>
ADD INDEX nome_indice(campo1, campo2, ecc); Il comando crea un nuovo indice basato sui campi colonna1 ecc. L’indice non è altro che una tabella (struttura accessoria) che contiene le posizioni dei record secondo l’ordinamento dei campi specificati nella definizione dell’indice. L’indice viene utilizzato in fase di esecuzione di una query, dove i record vengono scanditi leggendo la posizione dalla tabella indice. Solitamente si associa l’indice ai campi su cui vengono effettuate più ricerche. La scelta degli indici è strategica per il buon funzionamento di un database perché consentono di scandire porzioni di tabelle (e non tabelle intere!) e permettono l’uso di piani d’esecuzione ottimizzati. 44.4 modifica ai vincoli
- Inserimento UNIQUE: ALTER TABLE Atleti ADD CONSTRAINT vincoloNome UNIQUE(nome, cognome); - Inserimento PRIMARY KEY ALTER TABLE Persons ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName); ad esempio: ALTER TABLE Persona ADD PRIMARY KEY (ID);
Non è possibile il rollback del comando Sintassi: DROP TABLE nomeDB Esempio DROP DATABASE Olimpiadi Rimozione di una tabella : DROP TABLE Una tabella può essere rimossa attraverso il comando DROP. Il comando rimuove la definizione della tabella, il contenuto , gli indici, eventuali trigger, privilegi ...dal database. Non è possibile il rollback del comando (non è possibile annullare il comando). Sintassi: DROP TABLE nome tabella Esempio DROP TABLE Atleti Cancellazione del contenuto di una tabella : TRUNCATE TABLE Tutto il contenuto di una tabella viene rimosso attraverso il comando TRUNCATE. Sintassi: TRUNCATE TABLE nome tabella Esempio TRUNCATE TABLE Atleti