Introduzione a SQL e Storia dello Standard
40 Questions
0 Views

Introduzione a SQL e Storia dello Standard

Created by
@AffordableGroup7338

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Cosa significa l'acronimo SQL?

SQL significa "Structured Query Language".

Qual è la funzione principale di SQL nella progettazione fisica?

La funzione principale di SQL è quella di implementare la progettazione fisica sui DBMS.

Qual è stata la prima implementazione di SQL?

La prima implementazione di SQL è stata IBM System/R nel 1979.

Cosa ha introdotto lo standard SQL-86?

<p>SQL-86 ha introdotto la prima versione dello standard SQL.</p> Signup and view all the answers

Quali sono le tre varianti principali dello standard SQL-92?

<p>Le tre varianti sono entry, intermediate e full.</p> Signup and view all the answers

Qual è lo scopo dei vincoli di integrità in SQL?

<p>I vincoli di integrità servono a garantire la correttezza e la coerenza dei dati nel database.</p> Signup and view all the answers

Quando è stato introdotto SQL/CLI e qual è il suo significato?

<p>SQL/CLI, o &quot;Call Level Interface&quot;, è stato introdotto nel 1995.</p> Signup and view all the answers

Qual è la differenza principale tra SQL/PSM e SQL/OLB?

<p>SQL/PSM si occupa dei moduli di archiviazione persistente, mentre SQL/OLB riguarda i binding del linguaggio oggetto.</p> Signup and view all the answers

Qual è lo scopo dell'istruzione CREATE DATABASE in SQL?

<p>L'istruzione <code>CREATE DATABASE</code> crea una nuova base di dati vuota.</p> Signup and view all the answers

Cosa accade quando si utilizza l'istruzione DROP DATABASE?

<p>L'istruzione <code>DROP DATABASE</code> elimina una base di dati esistente, anche se contiene dati.</p> Signup and view all the answers

Perché non esiste un'implementazione completa di SQL-92 in commercio?

<p>Molti DBMS offrono funzionalità proprietarie e non standard, creando una corrispondenza imperfetta con lo standard SQL-92.</p> Signup and view all the answers

Quali sono le istruzioni fondamentali per la creazione e gestione delle tabelle in SQL?

<p>Le istruzioni fondamentali sono <code>CREATE TABLE</code>, <code>DROP TABLE</code>, <code>INSERT INTO</code>, <code>UPDATE</code>, e <code>DELETE</code>.</p> Signup and view all the answers

Cosa rappresenta la sintassi CREATE TABLE ()?

<p><code>CREATE TABLE ()</code> è l'istruzione per creare una nuova tabella, specificando i suoi attributi all'interno delle parentesi.</p> Signup and view all the answers

Qual è l'importanza dell'autorizzazione per eseguire le istruzioni CREATE e DROP?

<p>L'autorizzazione è necessaria per garantire che solo utenti validi possano creare o eliminare basi di dati e tabelle.</p> Signup and view all the answers

Qual è la conseguenza di avere funzionalità proprietarie nei DBMS?

<p>Le funzionalità proprietarie possono creare problemi di portabilità delle applicazioni tra diversi DBMS.</p> Signup and view all the answers

Come si può eliminare una tabella in SQL?

<p>Per eliminare una tabella in SQL si utilizza l'istruzione <code>DROP TABLE nome_tabella</code>.</p> Signup and view all the answers

Qual è la funzione del comando CREATE TABLE in SQL?

<p>Il comando <code>CREATE TABLE</code> crea una nuova tabella vuota secondo lo schema specificato.</p> Signup and view all the answers

Quali vincoli di colonna possono essere specificati durante la creazione di una tabella?

<p>I vincoli di colonna includono PRIMARY KEY, UNIQUE, NOT NULL e REFERENCES.</p> Signup and view all the answers

Cosa fa il comando DROP TABLE?

<p><code>DROP TABLE</code> elimina una tabella esistente dal database.</p> Signup and view all the answers

Scrivi un esempio di istruzione INSERT per aggiungere un professore alla tabella Professori.

<p>INSERT INTO Professori VALUES ('FT', 'Totti', 'Francesco', 'ordinario', 'Ingegneria');</p> Signup and view all the answers

Qual è la sintassi generale per inserire valori in una tabella?

<p>La sintassi generale è <code>INSERT INTO &lt;tabella&gt; VALUES (&lt;valori&gt;)</code>.</p> Signup and view all the answers

Che tipo di operazione permette il comando SELECT in SQL?

<p><code>SELECT</code> permette di interrogare i dati presenti in una tabella.</p> Signup and view all the answers

Qual è il significato di 'semantica' nel contesto del comando CREATE TABLE?

<p>La semantica indica che il comando crea una tabella vuota e l'utente diventa il suo proprietario.</p> Signup and view all the answers

Cosa implica l'uso di vincoli nel momento dell'inserimento di dati in una tabella?

<p>I vincoli assicurano che i dati inseriti rispettino determinati criteri, come la unicità o l'obbligatorietà.</p> Signup and view all the answers

Quali sono le tre clausole principali di una interrogazione SQL?

<p>SELECT, FROM, WHERE.</p> Signup and view all the answers

Qual è la funzione della clausola SELECT in una query?

<p>La clausola SELECT serve a specificare quali colonne o dati visualizzare.</p> Signup and view all the answers

Come viene utilizzata la clausola FROM?

<p>La clausola FROM specifica le tabelle da cui prelevare i dati e consente l'uso di join e alias.</p> Signup and view all the answers

Cosa rappresenta un join in SQL?

<p>Un join unisce righe di due o più tabelle basate su una condizione di uguaglianza tra colonne.</p> Signup and view all the answers

Qual è la sintassi per effettuare un join tra due tabelle?

<p>La sintassi è: FROM S JOIN R ON S.A=R.B.</p> Signup and view all the answers

Come funziona l'ordinamento di una query SQL tramite ORDER BY?

<p>ORDER BY specifica gli attributi secondo i quali ordinare i risultati, di norma in ordine crescente.</p> Signup and view all the answers

Cosa si può ottenere usando la clausola WHERE in una query?

<p>Con la clausola WHERE si possono filtrare i dati in base a condizioni specifiche.</p> Signup and view all the answers

Fornisci un esempio di query SQL che seleziona studenti di laurea triennale oltre il primo anno.

<p>SELECT * FROM Studenti WHERE ciclo='laurea tr.' AND anno&gt;1;</p> Signup and view all the answers

Qual è la sintassi generale per cancellare dati da una tabella in SQL?

<p>La sintassi è: <code>DELETE FROM nome_tabella WHERE condizione;</code></p> Signup and view all the answers

Cosa fa l'istruzione DELETE senza una condizione?

<p>Elimina tutte le righe dalla tabella.</p> Signup and view all the answers

Qual è l'istruzione SQL utilizzata per aggiornare i valori in una tabella?

<p>L'istruzione è <code>UPDATE</code> seguita da SET.</p> Signup and view all the answers

Fornisci un esempio di un'istruzione UPDATE.

<p>Esempio: <code>UPDATE Studenti SET anno=anno+1;</code></p> Signup and view all the answers

Come si limita l'aggiornamento di una riga specifica in una tabella?

<p>Si utilizza la clausola <code>WHERE</code> per specificare la condizione.</p> Signup and view all the answers

Qual è la semantica dell'istruzione DELETE in SQL?

<p>Elimina le tuple dalla tabella che soddisfano la condizione specificata.</p> Signup and view all the answers

Cosa accade se viene eseguita un'istruzione UPDATE senza WHERE?

<p>Tutti i valori dell'attributo specificato vengono aggiornati per tutte le righe.</p> Signup and view all the answers

Qual è l'importanza della clausola WHERE sia per DELETE che per UPDATE?

<p>Consente di applicare l'istruzione solo a righe specifiche.</p> Signup and view all the answers

Study Notes

Introduzione a SQL

  • SQL (Structured Query Language) è il linguaggio per interagire con i sistemi di gestione di database (DBMS) e per la progettazione fisica dei DBMS.
  • SQL permette di creare oggetti, gestire dati, utenti e autorizzazioni, e interrogare la base dati.

Storia dello standard SQL

  • Prime implementazioni: IBM System/R (1979, SEQUEL).
  • Primi prodotti commerciali: IBM SQL/DS, Oracle (1981).
  • SQL-86: prima versione standard, basata sul dialetto IBM.
  • SQL-89 (SQL-1): vincoli di integrità, livello 1 e livello 2.
  • SQL-92 (SQL-2): versione più estesa con livelli entry, intermediate e full.
  • Standard collegati: SQL/CLI (ODBC, 1995), SQL/PSM (Persistent Storage Modules, 1997), SQL/OLB (Object Language Bindings, 1998).
  • Problemi di implementazione: gli standard si adattano al mercato, ma non esiste un'implementazione completa SQL-92 "full" in commercio, molti DBMS propongono funzionalità "proprietarie" e non standard. Questo crea problemi di portabilità nelle applicazioni.

Istruzioni fondamentali

  • Creazione della base di dati: CREATE DATABASE.
  • Creazione delle tabelle:CREATE TABLE.
  • Inserimento di tuple: INSERT INTO.
  • Interrogazioni di dati: SELECT.
  • Eliminazione di tuple: DELETE.
  • Modifica di tuple: UPDATE.

Creazione ed eliminazione di database

  • Sintassi: CREATE DATABASE ; DROP DATABASE ;
  • Semantica: CREATE DATABASE crea una base di dati vuota. L'utente deve essere autorizzato. DROP DATABASE elimina una base di dati esistente. L'utente deve essere autorizzato.

Creazione ed eliminazione di tabelle

  • Istruzioni DDL (Data Definition Language): CREATE TABLE e DROP TABLE
  • Sintassi: CREATE TABLE (); DROP TABLE ;
  • Esempi: creazione e eliminazione della tabella Professori con i relativi campi.
  • Vincoli di colonna: PRIMARY KEY, UNIQUE, NOT NULL, REFERENCES
  • Semantica: CREATE TABLE crea una tabella vuota secondo lo schema specificato. L'utente deve essere autorizzato. L'utente diventa proprietario della tabella. Importante considerare i vincoli di riferimento durante la creazione. DROP TABLE elimina una tabella esistente. L'utente deve essere autorizzato.

Inserimenti

  • Istruzione: INSERT.
  • Sintassi: INSERT INTO VALUES();
  • Semantica: inserimento di record nella tabella. La corrispondenza tra i valori e gli attributi deve essere correttamente definita (notazione posizionale).

Interrogazioni

  • Istruzione: SELECT.
  • Sintassi: sintassi concreta degli operatori dell'algebra relazionale.
  • Filosofia: parzialmente dichiarativa, gli operatori vengono specificati, l'ottimizzatore sceglie l'ordine più efficiente.
  • Clausole principali: SELECT, FROM, WHERE.

Clausola FROM

  • Specifica le tabelle da usare per le interrogazioni.
  • Prodotto cartesiano: sintassi FROM R, S, T AS V .... Esempi con tabelle Professori e Numeri
  • Join: sintassi FROM S JOIN R ON S.A = R.B. Esempi con JOIN tra tabelle Professori e Personale. Semantica di Join: unione delle tabelle in base all'uguaglianza dei valori nelle colonne specificate.

Clausola ORDER BY (ordinamento)

  • Sintassi: ORDER BY .
  • sono colonne da usare per ordinare.
  • Default: ordinamento crescente.
  • DESC: ordinamento decrescente.

Cancellazioni

  • Istruzione: DELETE.
  • Sintassi: DELETE FROM [<clausola WHERE>];.
  • Clausola WHERE: identica alla clausola WHERE delle interrogazioni.
  • Semantica: elimina tuple dalla tabella (solo quelle corrispondenti alla clausola WHERE se specificata).

Aggiornamenti

  • Istruzione: UPDATE.
  • Sintassi: UPDATE SET = [<clausola WHERE>];
  • Semantica: aggiorna i valori degli attributi in base alla condizione specificata nella clausola WHERE (se presente).

Esercizio e Soluzioni (SQL queries)

  • Problemi analitici con esempi specifici su database di tipo Volo.
  • Sono fornite le query SQL in linguaggio SQL per risolvere i problemi proposti.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

SQL - Lezioni PDF

Description

Questo quiz esplora le basi del SQL e la sua evoluzione storica. Scopri le prime implementazioni, gli standard SQL e come si sono adattati nel tempo. Testa la tua conoscenza sui sistemi di gestione di database e la loro progettazione.

More Like This

Use Quizgecko on...
Browser
Browser