









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
Nel seguente documento si tratta in maniera approfondita temi quali i database, i limiti dei file sequenziali, la convenzione Pascal, il modello logico, lo schema er, caratteristiche di sql, access, vincoli (di riga, colonna ed integrità referenziale), le operazioni insiemistiche, l'algebra relazionale, le operazioni relazionali e molti altri concetti.
Tipologia: Temi
1 / 17
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










Argomenti: File pdf “atlas_90678_preview” da pag. 30 a pag. 47 FILE 1PhpMyAdmin STAMPA
Funzione: conservare nel tempo dati e informazioni perché potranno essere utili in momenti successive Cosa è: un insieme organizzato di informazioni o Tra esse esiste un nesso logico o Rappresentate da formato che rende possibile l’interpretazione o Registrate su supporti (rilettura nel tempo) o Organizzate così facilmente consultabili È una collezione di record cioè informazioni logicamente omogenee che descrivono i singoli elementi di una realtà considerata. Ogni record è composto da campi che contengono valori assunte dalle caratteristiche scelte per minimizzare i tempi di ritrovamento dei dati memorizzati. Organizzazione per ottimizzare uso dello spazio disponibile sul supporto e minimizzare i tempi di ritrovamento dei dati memorizzati o Accesso sequenziali: registrazione record uno di seguito all’altro o Accesso diretto (random, relativo): record identificato da posizione o Indexed sequential: record identificato univocamente da campo chiave ed accanto è gestita una tabella ordinata delle chiavi (file indice). Non integrati: diverse applicazioni indipendenti ognuna su propri archivi. Problemi: o Ridondanza: duplicazione di dati uguali in archivi diversi o Incongruenza: valori diversi per uno stesso dato in archivi diversi o Inconsistenza: dati inutilizzabili perché non si sa quale sia quello corretto. BASI DI DATI Funzione: risolvere problemi e superare limiti degli archivi tradizionali Cosa è? Il database è una collezione di archivi logicamente correlati e condivisi che ha lo scopo di soddisfare i fabbisogni formativi di una specifica organizzazione. Gestione: sistema software che gestisce dati si chiama DBMS (DataBase Management System). Amministra e controlla accessi offrendo misure di o Sicurezza: impedire che database venga danneggiato da interventi accidentali o non autorizzati o Integrità: garantire che le operazioni effettuate sul database da utenti autorizzati non provochino una perdita di consistenza ai dati dei dati, per garantire la consistenza del database. DBMS vengono attivati con appositi comandi classificati: o DDL Data Definition Language: linguaggio per descrizione dei dati e dei controlli sulla sicurezza, per la creazione o modifica della struttura logica e fisica del database o DML Data Manipulation Language: linguaggio per il trattamento dei dati contenuti nel database (salvataggio, modifica, cancella)
o QL Query Language: linguaggio per le interrogazioni che consente il ritrovamento dei dati che interessano Figure professionali: o DBA DataBase Administratore: gestione del database, crea base dati, gestisce utenti, salvataggi periodici dei dati e manutenzione o Programmatori (linguaggio DML) o Utenti finali tramite QL o interfacce grafiche. PROGETTAZIONE CONCETTUALE = prima fase dello sviluppo database, poi organizzazione logica e implementazione fisica. Cosa è? È la sintesi tra la visione degli utenti e la visione dei progettisti dell’applicazione. Deve essere precisa per non lasciare dubbi riguardi alle caratteristiche della base di dati, espressa con formalismi sufficientemente semplici da permettere lettura e comprensione anche da parte di utenti non tecnici (utenti be sure che progettisti abbiano compreso). Modello entità/ associazioni è un documento con schemi grafici ed è il modello più utilizzato nella progettazione concettuale, eppure non ha una rappresentazione standardizzata. Devono comparire entità, associazioni e attributi ma esistono diversi modi di rappresentare un modello. Alcuni lo chiamano entità relazioni, il termine relazione è infatti utilizzato per indicare un collegamento logico tra due entità. In ambito di modello relazionale assume però un significato completamente diverso, dunque meglio dire associazioni. UML (linguaggio unificato di modellazione) è un linguaggio grafico che utilizziamo per visualizzare, definire, specificare e documentare tutte le costruzioni di sistemi software. È ampiamente utilizzato nella programmazione ad oggetti per rappresentare le classi. MODELLO DEI DATI Significato: Modellare i dati significa costruire una rappresentazione semplificata della realtà osservata o di un problema aziendale, individuandone gli elementi caratterizzanti e i legami intercorrenti tra essi. La progettazione avviene a livelli diversi: o Livello concettuale o di oggetti: rappresenta la realtà dei dati e le relazioni tra essi mediante uno schema. Modello concettuale viene definito attraverso lo schema dei dati cioè una rappresentazione sintetica degli elementi fondamentali che caratterizzano la realtà osservata. o Livello logico o di record: rappresenta il modo attraverso il quale i dati sono organizzati negli archivi (es. composizione, formato) e viene derivato dal livello concettuale. Passando la modello logico l’insieme dei dati viene dotato di una struttura che deve facilitare Manipolazione o trattamento dei dati (=possibilità di inserire, modificare e cancellare i dati) Interrogazione (=possibilità di ritrovare i dati). o Livello fisico: rappresenta l’effettiva installazione degli archivi su disco, indica ovvero l’ubicazione dei dati nelle memorie di massa. Il modello fisico è dunque rappresentato da file registrati su supporti di memoria Lo scopo della progettazione è modellare ed organizzare nelle memorie di massa i dati necessari per gestire una specifica attività del mondo reale. MODELLO ENTITÀ – ASSOCIAZIONI
o Uno a molti o semplice 1:N ogni istanza della prima entità si può associare a una o più istanze della seconda entità, mentre a ogni istanza della seconda entità si deve associare una sola istanza della prima es. cane e proprietario. o Molti a molti o complessa N:N a ogni istanza della prima entità si possono associare una o più istanze della seconda entità e a ogni istanza della seconda entità si possono associare una o più istanze della prima es. persona e viaggio. o Ricorsive o unarie sono quelle che coinvolgono due volte la stessa entità e per questo motivo sono chiamate anche ricorsive; ci si accorge di dover usare queste particolari associazioni quando è necessario disegnare due volte la stessa entità nello stesso schema E-R REGOLE DI LETTURA Dopo aver definito lo schema E/R è opportuno effettuale un controllo del modello usando frasi del linguaggio naturale usando le regole di lettura. o La scelta tra deve e può dipende dalla obbligatorietà o meno della partecipazione dell’entità di partenza all’associazione o La scelta alternativa tra uno solo piuttosto che uno o più dipende dalla presenza di un 1 o di un N vicino all’entità di arrivo Le regole devono essere provate in entrambi i sensi dell’associazione trasformando il verbo ovviamente Il controllo del modello E/R attraverso le regole di lettura diventa più efficace se le frasi del linguaggio naturale vengono presentate a una persona diversa da quella che ha progettato. Se le frasi risultano incomprensibili o prive di significato significa che il modello contiene degli errori.
CONCETTI DEL MODELLO RELAZIONALE (Dopo la fase di progettazione concettuale si passa al livello logico). Il modello relazionale dei dati fu proposto nel 1970 da Codd, ricercatore della IBM. Qui la base di dati è vista come un insieme di tabelle sulle quali possono essere eseguite opportune operazioni. Si chiama modello relazionale perché è fondato sul concetto matematico di relazione tra insiemi di oggetti. Si basa su concetti matematici e sul linguaggio matematico con due obiettivi: o Utilizzare un linguaggio conosciuto a livello universale. o Eliminare i problemi di ambiguità nella tecnologia e nella simbologia. Prodotto cartesiano di A1 per A2 (A1xA2): insieme delle coppie (x,y) dove x appartiene ad A1 e y ad A2. Relazione su due insiemi A1 e A2: qualsiasi sottoinsieme R del prodotto cartesiano dei due insiemi A1 ed A2: R(A1,A2) c_ (guarda simbolo pag 74) A1xA2. Guarda pag 75 come rappresentare relazione attraverso una tabella. Tabella: La relazione è rappresentata con una tabella che ha tante colonne quante sono gli attributi (grado della relazione) e tante righe quante sono len-uple (cardinalità della relazione). I nomi degli attributi sono i nomi delle colonne ed i valori che compaiono in una colonna sono omogenei tra loro (appartengono a stesso dominio) Chiave della relazione: attributo (o combinazione minimale di attributi) che identifica univocamente le n-uple all’interno della relazione, cioè ogni riga della
tabella possiede valori diversi per l’attributo (o attributi) chiave. La chiave identifica univocamente una n-upla nella tabella per questo abbiamo la c.d. integrità dell’entità secondo la quale la chiave primaria non può assumere un valore nullo. Tabella si rappresenta mediante uno schema indicando nome della relazione o tabella, parentesi, nomi attributi separati dalla virgola sottolineando l’attributo chiave, chiusa parentesi. Lo schema di un database relazione è definito dallo schema delle tabelle che lo compongono. requisiti fondamentali delle tabelle di un database relazionale: o tutte le righe della tabella contengono lo stesso numero di colonne o attributi rappresentano informazioni elementari non scomponibili ulteriormente o valori assunti da un campo appartengono al dominio dei valori possibili per quel campo e quindi sono valori omogenei tra loro o esiste un attributo o una combinazione di attributi che identificano univocamente la n-upla e assumono la funzione d chiave primaria della relazione o n-uple compaiono nella tabella secondo un ordine non prefissato. DERIVAZIONI DELLE RELAZIONI DAL MODELLO E/R Dal modello concettuale è possibile ottenere il modello logico dei dati, ovvero si può definire la struttura degli archivi adatti per organizzare i dati. Nel caso del modello relazionale le tabelle sono ricavate dal modello E/R mediante regole di derivazione: o Ogni entità diventa una relazione o Ogni attributo di un’entità diventa attributo della relazione o Ogni attributo della relazione eredita le caratteristiche dell’attributo dell’entità o Identificatore univoco di un’entità diventa la chiave primaria della relazione derivata o Associazione uno a uno: unica relazione che contiene gli attributi della prima e della seconda entità (salvo eccezioni) o Associazione molti a molti: chiave primaria del lato a uno diventa chiave esterna del lato a molti o Associazione molti a molti: si crea una nuova relazione in aggiunta a quelle delle due entità ed essa sarà composta dagli identificatori univoci delle due entità che saranno contemporaneamente chiavi primarie ed esterne e in più avrà gli attributi della relazione stessa. Chiave esterna (FK, foreign key): attributo o insieme di attributi di una tabella che identifica univocamente una riga di un’altra tabella. OPERAZIONI RELAZIONALI Cosa? Agiscono su una o più relazioni per ottenere una nuova relazione. Consentono di effettuare interrogazioni alla base di dati per ottenere le informazioni desiderate estraendo da una tabella una sottotabella oppure combinando tra loro due o più tabelle e generando così nuove relazioni. Principali operazioni relazionali sono:
o Right join tra due tabelle R e S nella congiunzione sono incluse tutte le righe che compaiono nella tabella S. Le righe di S senza corrispondenti con righe di R sono completate con valori nulli o Full join tra due tabelle R e S combina le caratteristiche di right e left, dunque nella congiunzione compaiono tutte le righe di >R e di S. Self-join: non esiste un’operazione con questo nome ma se ne parla quando si costruisce una congiunzione tra le righe di una tabella con righe della stessa tabella. Questo accade con tabelle derivate da associazioni ricorsive solitamente. NORMALIZZAZIONE DELLE RELAZIONI Ridondanza: situazione in cui ho lo stesso dato ripetuto in più righe. Ciò accade quando le tabelle non sono ben strutturate e, oltre ad occupare inutilmente spazio su disco, causa anomalie nelle fasi del trattamento dati. Come si risolve? Con la normalizzazione, si tratta di un processo di trasformazione delle tabelle che completa il processo di progettazione di un database relazionale e ne garantisce l’assenza di anomalie e ridondanza. Consente dunque di creare tabelle ben definite che facilitano le operazioni di trattamento dati e rendono possibili cambiamenti della struttura con l’evolvere delle esigenze aziendali e degli utenti. Definiamo: o Chiave candidata: attributo o insieme minimale di attributi che identifica in maniera univoca una riga di una tabella. o Chiave/ chiave primaria: chiave candidata scelta dal progettista per identificare in modo univoco una riga di una tabella (scelta in base a esigenze). o Chiave alternativa: qualsiasi chiave candidata che non è stata scelta come chiave primaria. Se chiave candidata identifica univocamente una riga della tabella stessa, si può conoscere anche ogni attributo della riga. Si parla di dipendenza: o Funzionale tra attributi valore di un insieme di attributi A determina un singolo valore dell’attributo B e si indica con AB e si dice B dipende funzionalmente da A o A è determinante per B o Transitiva tra attributi attributo A determina B e B determina C; C dipende transativamente da A. Forme normali: caratteristiche che devono essere soddisfatte per evitare la ridondanza. Distinguiamo: o Prima 1FN: rispetta i requisiti fondamentale del modello relazionale Tutte le righe di colonne contengono lo stesso numero di colonne Attributi rappresentano informazioni elementari I valori che compaiono in una colonna sono dello stesso tipo cioè appartengono allo stesso dominio Ogni riga è diversa da tutte le altre = non ci sono righe con gli stessi valori nelle colonne l’ordine con il quale le righe compaiono nella tabella è irrilevante Attributi non devono essere ulteriormente scomponibili, non devono dunque avere sottoattributi né essere gruppi di attributi ripetuti o Successive introdotte per eliminare problemi in fase di aggiornamento o cancellazione, evitando inconsistenza o perdita indesiderata dei dati
o Seconda 2FN: è in prima forma normale e tutti i suoi attributi non-chiave dipendono dall’intera chiave, cioè non possiede attributi che dipendono soltanto da una parte della chiave. Ciò elimina la dipendenza parziale e riguarda le relazioni con chiavi composte. o Terza 3FN: è in seconda forma normale e tutti gli attributi non-chiave dipendono direttamente dalla chiave, cioè non possiede attributi non-chiave che dipendono da altri attributi non-chiave. Ciò elimina la dipendenza transitiva degli attributi della chiave. Normalizzazione si esegue con l’algoritmo di scomposizione di una relazione T con i passaggi: o Identificano dipendenze funzionali e chiavi candidate in T o Se una dipendenza funzionale viola le regole di normalizzazione: Costruisce nuova relazione con tutti gli attributi della dipendenza considerata Il determinante della dipendenza funzionale è la chiave primaria della tabella definita al punto precedente costruisce nuova relazione rimuovendo dalla tabella di partenza tutti gli attributi della dipendenza funzionale in esame e aggiungendo agli attributi rimasti, come chiave esterna, il determinante della dipendenza funzionale o si ripete il secondo pallino vuoto finché non ci sono più dipendenze che violino le norme ci sono database dove la ridondanza delle informazioni è tollerata anzi voluta, ovvero nei database di sola lettura (=mai modifiche, solo lettura per analizzare dati a scopo informativo). Es. database per applicazioni direzionali. INTEGRITÀ REFERENZIALE integrità sull’entità o vincolo di chiave: non consente valori nulli e duplicati per la chiave regole di integrità sui dati: o vincoli di tupla: condizioni che devono essere soddisfatte dai valori di ciascuna n-upla della relazione indipendentemente dalle altre. Riguardano il dominio dei dati e vincoli caratteristici del problema in esame (es. consegna dopo spedizione). o Integrità referenziale: insieme di regole del modello relazionale che garantiscono l’integrità dei dati quando si hanno tabelle associate tra loro attraverso la chiave esterna. L’integrità referenziale richiede che, per ogni valore non nullo della chiave esterna, esista un valore corrispondente della chiave primaria nella tabella associata. Servono per rendere valide le associazioni tra tabelle e per eliminare errori di inserimento, cancellazione o modifica di dati collegati tra loro. Bisogna dunque rispettare queste regole: Non si può immettere un valore nella chiave esterna della tabella associata se tale valore non esiste tra le chiavi della tabella primaria. È però possibile immettere un valore nullo nella chiave esterna per rappresentare il fatto che le righe non sono correlate Non si può eliminare riga di tabella primaria se esistono righe ad essa collegata nella tabella associata Non si può modificare il valore della chiave nella tabella primaria se ad essa corrispondono righe nella tabella associata.
o Clic su crea. o Il database viene creato con una tabella vuota e gli viene automaticamente assegnato estensione .accdb. precedenti versioni .mdb. Apertura database esistente: o Selezionare Access o In visualizzazione backstage selezionare il file, poi apri. o All’apertura la finestra si presenta divisa in due parti: sx riquadro di spostamento con gli oggetti del database, dx area di lavoro con oggetti aperti. Creazione applicazione: usa funzione autocomposizione sulla base di modelli generali presenti in Access. CREAZIONE DELLE TABELLE Tabella: insieme di dati relativi ad uno stesso argomento. Dati suddivisi in righe e colonne. Colonne = campi, righe = record. Ogni tabella rappresenta una entità. Per creazione si intende descrizione della struttura della tabella, specificando per ogni colonna: o Nome colonna o Tipo di dati che essa contiene: testo, numero, data/ora, si/no o NB deve contenere un dato elementare non ulteriormente scomponibile Le proprietà del campo sono precisate impostando o Dimensione max in byte o Valori che il campo può assumere o Valore di default (in mancanza di diversa specificazione) o Obbligatorietà. Tabella pag 134 e paragrafo successivo dal libro. CREAZIONE DI UNA TABELLA NELLA VISUALIZZAZIONE FOGLIO DATI Visualizzazione foglio dati crea tabella o Creata automaticamente tabella con nome Tabella1 con campo ID di tipo numerazione automatica che diventa chiave primaria della tabella o Definire tipo del nuovo campo dall’elenco che si apre o Campo con nome provvisorio Campo o Se campo è di tipo testo breve modificare lunghezza preimpostata a 255, lo si può modificare in dimensione campo; se numerico impostare formato dal gruppo formattazione, di default intero lungo (da 4 byte), si può modificare da dimensione campo. o Clic su salva CREAZIONE DI UNA TABELLA NELLA VISUALIZZAZIONE STRUTTURA Visualizzazione struttura crea struttura tabella Nell’area di lavoro viene aperta una finestra con tre colonne: o Intestazioni colonne = nome campo o Tipo di dato contenuto nelle colonne = tipo dati o Facoltativa, note esplicative o promemoria = descrizione Bisogna: o Definire nome campi, tipo e descrizione o Inserisci righe per nuovi campi ed elimina righe per eliminare selezionati.
Per rendere affidabili e precise operazioni di inserimento ed aggiornamento dati Caratteristiche dei campi possono essere precisate in visualizzazione struttura. MASCHERA DI INPUT Semplifica immissione dei dati Attivare proprietà da generale. ASSOCIAZIONI TRA LE TABELLE Associazioni: collegamenti tra tabelle di un database in modo visuale con interfaccia grafica. In Access vengono dette relazioni. Quando la crei, imposta integrità referenziale. QUERY Cosa è? interrogazione sui dati presenti in un database. I dati che forniscono la risposta alla query possono provenire da una o più tabelle. I dati prodotti sono organizzati secondo lo schema di una tabella e possono essere a loro volta oggetto di interrogazioni. In modalità visualizzazione foglio dati è possibile ottenere particolari visualizzazioni di una tabella applicando filtri che condizionano l’output. Un filtro è costituito dalle condizioni definite dall’utente per i campi di una tabella. Per definirlo bisogna aprire tabella in visualizzazione foglio, posizionarsi su una colonna e fare clic su filtro. Query sono lo strumento più utilizzato per interrogare database. Essa può essere costruita in: o QBE = Query By Example o SQL Condizioni query sono combinate con operatori logici o And o Or o Between Join: o In modalità QBE la congiunzione realizzata è equi-join o Opzioni in scheda proprietà join: 1. Includi solo le righe in cui i campi collegati da entrambe le tabelle uguali = equi-join 2. Includi tutti i record di tabella1 e solo i record di tabella2 in cui i campi collegati sono uguali = left join 3. Includi tutti i record di tabelle2 e solo i record di tabella1 in cui i campi collegati sono uguali = right join MASCHERE Creazione: o Selezionare tabella o query selezionata o Seleziona crea maschera o Salva da icona salva Oppure crea da creazione guidata maschera. REPORT
o per inserire in una maschera u8na casella combinata che permetta la scelta da un elenco di dati estratti da una tabella bisogna scrivere una query SQL da inserire tra le proprietà della casella o se scrive query in QBE e vuoi modificare, più semplice farlo in SQL è un linguaggio non procedurale o dichiarativo: l’interrogazione al database si esegue precisando solamente dove stanno i dati e che cosa si vuole ottenere, ovvero specificando solo input ed output. Le diverse implementazioni di SQL sono aderenti allo standard solo per un livello base. Operando con diversi DBMS ci sono delle differenze ma che possono essere facilmente individuate dalla documentazione fornita con gli specifici software. Oracle, MySQL, SQLServer, Access Alcuni sono stati sviluppati per sistemi di elaborazione medi e grandi, solo in un secondo momento per i personal computer Consente all’utente di: o Definire database, struttura della tabelle che lo compongono, indici, associazioni tra tabelle e viste logiche = DDL o Modificare contenuti con operazioni di inserimento, variazione e cancellazione ed effettuare interrogazioni = DML o Gestire e controllare transazioni = TCL (transaction control language) Fornisce comandi per definire i report, recuperare dati in caso in interruzione del programma, guasto o malfunzionamento per garantire la sicurezza dei dati nei confronti degli accessi di più utenti. Istruzioni sono a formato libero e terminano con punto e virgola. Possono essere scritte su una o più righe e indifferentemente si possono usare caratteri maiuscoli o minuscoli. IDENTIFICATORI E TIPI DI DATI Utilizza caratteri alfabetici, cifre, operatori aritmetici e di confronto (+-/*=<>) e caratteri che assumono particolari significati nella sintassi delle istruzioni e che verranno descritti poi. Identificatori (nomi di tabelle e attributi) sono costruiti da sequenze di caratteri di lunghezza massima di 18 caratteri, devono iniziare con una lettera e contenere anche _ Nome attributo è identificato per meZZo della notazione: NomeTabella.NomeAttributo. Nome tabella può essere omesso se non ci sono ambiguità nell’identificazione dell’attributo Dichiarazione struttura bisogna specificare tipo dei dati scelto per gli attributi. Tipi base di SQL o Boolean o Character(n) o Date o Time o Smallint o Integer o Decimal(p,s) o Real o Float (o double precision) Attributi che hanno un valore non disponibile o non definito assumono il valore di null. Questo non èmai uguale a zero o a nessun altro valore
Codice ascii solo nominato, cerca in internet di cosa si tratta COMANDI DDL PER LA DEFINIZIONE DI TABELLE Tabella definite con comando create table seguito da nome tabella e, tra parentesi, dell’elenco degli attributi. Per ogni attributo bisogna specificare nome e tipo di dato. Attributi possono essere qualificati mediante diverse clausole che permettono di definire la chiave primaria, le chiavi esterne, l’obbligatorietà e il valore di default di un campo. Questi comandi fanno riferimento a DDL, cioè il linguaggio che permette di implementare il modello logico dei dati sulle memorie di massa del computer. COMANDI DML PER LA MANIPOLAZIONE DEI DATI I valori degli attributi possono essere inseriti, aggiornati o eliminati rispettivamente con i comandi insert, update e delete. Sono comandi di tipo DML, ovvero per la manipolazione dei dati. INTERROGAZIONI CON IL COMANDO SELECT Comando select estrae le informazioni desiderate dal database mediante interrogazioni. Riflette la natura dichiarativa del linguaggio. Esso implementa le operazioni dell’algebra relazionale, estrae informazioni da una o più tabelle e produce una tabella virtuale con la risposta all’interrogazione. Struttura più semplice espressa: o Select elenco di espressioni separate da una virgola che comporranno la risposta all’interrogazione, se si vogliono inserire tutti gli attributi basta inserire *. o From tabelle, indicati nomi tabelle usate dall’interrogazione. È qui che si realizzano le congiunzioni tra tabelle. o Where condizione logica su una o più attributi. Espressa secondo le modalità abituali dell’informatica componendo confronti con gli operatori and, or, not. È qui che si realizzano le selezioni. Contiene due predicati: o All: si richiede che nel risultato siano incluse tutte le righe che soddisfano le condizioni. Questo è di default. o Distinct: righe duplicate nella tabella risultante sono ridotte a una. Implica che una riga sia inclusa nella tabella risultante solo se non c’è un’altra riga con gli stessi valori. Se si vuole modificare intestazione della tabella risultante bisogna utilizzare comando as. Con select si può anche richiedere il calcolo di espressioni sugli attributi presenti nelle tabelle. In assenza di as, l’intestazione della tabella viene costruita dal sistema in modo differente a seconda dell’implementazione. CODICE SQL NELLA RICERCA GUIDATA DI ACCESS In Access si possono inserire i dati nella colonna di una tabella scegliendoli da un elenco proposto in una casella di riepilogo creata con l’opzione Ricerca guidata dei tipi di dati. I valori elencati nella casella si possono prelevare da un’altra tabella. Questa possibilità è particolarmente utile per inserire valori in una chiave esterna. OPERAZIONI RELAZIONALI NEL LINGUAGGIO SQL Operazioni fondamentali dell’algebra relazionale:
Se in un’interrogazione ci sono dei raggruppamenti, nella clausola select possono comparire solamente gli attributi inseriti nella clausola group by e le funzioni di aggregazione. CONDIZIONI SUI RAGGRUPAMENTI L’interrogazione può essere ulteriormente ampliata con la clausola having che sottopone i gruppi creati con group by di una o più condizioni. La condizione scritta dopo l’having controlla il valore restituito dalle funzioni di aggregazione. Deve esse usata sempre in presenza di group by. Ordine di esecuzione delle clausole del comando select: from, where, group by, having, select, order by. CONDIZIONI DI RICERCA Funzione: where ed having sono utilizzate per determinare I criteri di selezione rispettivamente delle righe e dei raggruppamenti. Nella scrittura delle condizioni si usano i segni del confronto =<> Una condizione di ricerca è costruita anche mettendo insieme più condizioni legate tra loro con gli operatori and e or. Vi sono poi altri operatori come: o Between: controlla se un valore è compreso in un intervallo di valori, inclusi gli estremi. Prima si può specificare l’operatore logico not per indicare la condizione opposta. o In: controlla se un valore appartiene ad un insieme di valori che viene precisato tra parentesi di seguito. Anche esso può essere preceduto da not per indicare la condizione opposta. o Is null: controlla la presenza di un valore nullo in una colonna. È possibile mettere not per esprimere la condizione opposta. o Like: confronta valore di un attributo di tipo carattere con un modello di stringa che può contenere caratteri jolly o metacaratteri. Anche in qeusto caso si può usare l’operatore not prima di like per indicare condizioni opposte. I caratteri jlly sono -%$. INTERROGAZIONI ANNIDATE Comando select che contiene un altro select. Il comando interno è detto sottoquery. Introducono una modalità alternativa per risolvere problemi. Sottoquery devono comparire come secondo termine nei confronti L’elenco generalizzato dalle sottoquery può essere controllato con in, all, any, exists. VISTE LOGICHE Vista: finestra su alcuni o su tutti i dati contenuti in una o più tabelle al fine di decidere le modalità con le quali gli utenti possono vedere le tabelle del database. Essa viene identificata con un nome assegnato in fase di creazione con il comando create view. Sono finestre dinamiche sulle tabelle del database in quanto ogni modifica ai dati sulla tabella primaria è disponibile per l’utente attraverso la vista. Non tutte le viste sono però aggiornabili: quelle che contengono risultati di funzioni di aggregazione non possono essere modificate. Possono semplificare la progettazione di query complesse e ci sono problemi che non si possono risolvere senza esse.
Esempi dal libro.