Anteprima
Vedrai una selezione di 4 pagine su 14
Riassunto Base Di Dati Pag. 1 Riassunto Base Di Dati Pag. 2
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Riassunto Base Di Dati Pag. 6
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Riassunto Base Di Dati Pag. 11
1 su 14
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

SELECT

Id,

scontrino,

descrizione AS prodotto,

prezzo unitario,

quantità,

prezzo unitario * quantità AS prezzo totale

OPPURE

SELECT

Id,

scontrino,

descrizione AS prodotto,

prezzo unitario,

quantità,

(prezzo unitario – 0.10) * quantità AS prezzo_tot_scont

FROM vendite

Ordinamento del risultato.

Basta aggiungere nella query ORDER BY in maniera ascendente (ASC) e

discendente (DESC).

Esempio:

SELECT corso, data, voto, lode

FROM esami

WHERE studente = ‘001’

ORDER BY voto DESC, lode DESC

Per eliminare le tuple duplicate si specifica con la parola chiave DISTINCT dopo

SELECT:

SELECT DISTINCT corso

FROM esami

La ridenominazione.

Per modificare il nome di un attributo di una tabella attraverso la clausola

SELECT, si usa con AS.

Esempio: Programmi P o Programmi AS P.

Gli operatori insiemistici.

Le relazioni delle basi di dati sono degli insiemi, possono essere combinate tra

loro attraverso gli operatori insiemistici di unione, intestazione e differenza. In

SQL lite combinando il risultato di due o più query SELECT. Inoltre, si basa sulla

posizione e non sul nome degli attributi, quindi che abbiano lo stesso schema e

lo stesso numero di attributi.

Unione = UNION

Intersezione = INTERSECT

Differenza = EXCEPT

SELECT cognome, nome

FROM Amici

INTERSECT

SELECT cognome, nome

FROM Studenti

Manipolazione di dati in SQL.

Si tratta qui di manipolazione dell’istanza: l’inserimento, la cancellazione e

l’aggiornamento di righe. DML.

Cancellazione di righe.

Il comando DELETE consente di cancellare da una tabella le righe che

soddisfano una determinata condizione:

DELETE FROM (tabella)

WHERE (condizione)

Se omessa, l’intero contenuto della tabella è eliminato.

DELETE

FROM Amici

WHERE cognome = ‘Bianchi’

AND nome = ‘Ugo’

Aggiornamento di righe.

Si usa il comando UPDATE

UPDATE (tabella) UPDATE Amici

SET (attributo) = (espressione), SET indirizzo = ‘Via dei ciclamini 200’

(attributo) = (espressione) WHERE cognome = ‘Bianchi’

WHERE (condizione) and nome = ‘Ugo’

Oppure per aumentare di un’unità:

UPDATE Esami

SET voto = voto + 1 (‘=’ non operatore di uguaglianza ma di assegnazione)

WHERE voto < 30

CAPITOLO 4. Lavorare con più tabelle.

La capacità di raggruppare senza ridondanze più elementi sparsi su diverse

tabelle.

La struttura del dominio.

Nel modello relazionale i legami logici sono stabiliti n base all’uguaglianza di

valori di attributi delle tuple, permettendo di rappresentare domini complessi.

Prendendo in esempio le due tabelle ‘Amici’ e ‘Telefoni’, notiamo che ogni tupla

della tabella amici rappresenta una persona con tutti i suoi dati elementari e si

identificano con una chiave, il codice fiscale. Mentre, siccome il numero di

telefono non è un attributo elementare degli amici, si è creata un’altra tabella

che all’interno contiene i dati elementari di un telefono, ovvero il numero di

cellulare e il codice fiscale, che in questo caso non rappresenta un telefono

bensì il suo proprietario.

Relazione: rappresenta una classe di oggetti del dominio con i suoi attributi

indivisibili (atomici) in questo caso il codice fiscale.

Chiavi esterne e vincoli di integrità referenziale.

Le chiavi esterne. RIVEDERE.

I legami tra due relazioni vengono stabiliti attraverso un attributo che abbia

stessi valori.

Una chiave esterna di una relazione è un attributo o un insieme di attributi che

non ha solitamente funzione di chiave primarie della relazione in cuoi compare,

ma è invece chiave primaria in un'altra relazione, alla quale è legata attraverso

un'associazione nello schema concettuale.

Integrità referenziale.

Esistono istanze di basi di dati nel modello relazionale che, pur sintatticamente

corrette, non rappresentano informazioni possibili per l’applicazione di

interesse. Allo scopo di evitare che questo accada è stato introdotto il concetto

di vincolo di integrità. Ogni vincolo può essere visto come un predicato che

associa ad ogni istanza il valore vero o falso. Se il predicato assume valore vero

diciamo che l’istanza soddisfa il vincolo. In generale ad uno schema di base di

dati associamo un insieme di vincoli, e consideriamo corrette solo quelle

istanze che soddisfano tutti i vincoli. Possiamo distinguere due categorie di

vincoli.

Vincolo intrarelazionale: se il suo soddisfacimento è definito rispetto a singole

relazioni della base di dati. Può essere quindi un vincolo su una tupla , ovvero

un vincolo che può essere valutato su ciascuna tupla indipendentemente dalle

altre, o un vincolo su valori, in quanto impone una restrizione sul dominio dell’

attributo. Come per esempio la lode (o sì o no).

Vincoli di integrità referenziale. (saltato4.2)

Il vincolo di integrità referenziale può essere definito nella CREATE TABLE dopo

l’elencazione dei nomi di attributo e si scrive:

CREATE TABLE Telefoni (

Codice fiscale CHAR (16),

numero VARCHAR (25),

PRIMARY KEY (codice fiscale, numero)

FOREIGN KEY (codice fiscale) REFERENCES Amici (codice fiscale)

Reazione alla violazione dei vincoli.

I vincoli di integrità rappresentano delle condizioni definite per uno schema

delle basi di dati. Il DBMS si occupa di controllare che questi vincoli siano

rispettati. I comandi che possono violare ciò sono: INSERT, UPDATE, DELETE

oppure nelle righe UNIQUE, NOT NULL e PRIMARU KEY nel caso il DBMS non

esegue la query o comunque segna errore. Per impedire tutto ciò, compreso

l’errore bisogna inserire:

-DO NOTHING: impedisce il comando di cancellazione.

-CASCADE: cancellare a cascata alcune righe delle tabelle (nell’esempio se si

cancellano le persone, vanno cancellate anche le macchine che le

appartengono.

-SET NULL: porre a NULL i valori dell’attributo in questo caso proprietario, per le

righe della tabella automobili.

-SET DEFAULT: sostituire i valori che diventerebbero inconsistenti. In sql lite:

ON (azione)(reazione) dove Azione: UPDATE, DELETE mentre Reazione: DO

NOTHING, CASCADE, SET NULL, e SET DEFAULT.

Il Join. Fare esercizi pagine 95 in poi

È uno strumento che consente di trovare specifiche tuple conoscendo solo lo

schema delle tabelle relazionali, collegandole tra loro anche se non hanno in

comune alcun nome di attributo, anzi è richiesto che non ci sia poiché è

possibile nel caso rinominare attributi omonimi con l’operatore della

ridenominazione. Il Join viene espresso nella clausola WHERE Il DBMS quindi

moltiplica ogni tupla della tabella per la corrispettiva dell’altra, distinguendo

poi così solo le tuple che ci interessano, specificate all’interno della query.

In sql lite: Quella generale è

SELECT distinct (lista attributi)

FROM (lista tabelle)

WHERE (condizioni)

ORDER BY (lista attributi ordinamento)

Quando l’interrogazione coinvolge numerose tabelle esse vengono scritte al

posto della clausola (lista tabelle) separate dalla virgola oppure opzionalmente

ridenominate con ALIAS : AS. L’alias va usato nel from solamente se c’è

omonimia negli attributi.

Esempio:

SELECT DISTINCT voto

FROM Studenti, Esami

WHERE matricola = studente

And cognome= ‘Studiosi’

And nome = ‘Sandra’

Varianti dell’operatore di Join. Esterno.

A differenza del join ordinario fa sì che i valori non si perdono nella relazione o

a destra o a sinistra, oppure entrambe (FULL).

Join Naturale.

Si utilizza su attributi omonimi, con lo stesso nome.

SELECT *

FROM Amici A NATURAL JOIN Telefoni T

In SQL lite.

Si effettuano nella clausola FROM e si scrive: Se vogliamo far apparire tutti gli

amici anche quelli privi di numero di

telefono, join esternoxs

SELECT tabella AS alias SELECT *

FROM tipo join JOIN tabella AS alias FROM Amici A LEFT JOIN Telefoni

T

ON predicato join ON A.codice_fiscale = T.codice_fiscale

Viste e indipendenza logica.

Il DBMS consente di definire delle interrogazioni permanenti che permettono di

aggiungere, ulteriori relazioni chiamate viste, le cui tuple dipendono da tuple

di altre relazioni. Utili per interrogazioni frequenti, punto di partenza per

interrogazioni complesse, visione limitata dell’istanza e modifiche allo schema

di dati (in quanto grazie al modello relazionale è possibile modificare la

rappresentazione logica interna dei dati senza intaccare la rappresentazione

logica esterna, chiamata indipendenza logica dei dati). Una sorta di

‘relazione virtuale’ che non dispone di tuple proprie ma sono aggiornate in base

all’istanza che cambia, una volta definite e dotate di nome possono essere

usate per la lettura oppure all’interno di interrogazioni o per creare altre viste:

CREATE VIEW (nome vista) AS

(select SQL)

Capitolo 5. Progetto di basi di dati.

Operatori di aggregazione.

Sintetizzano tutto in un'unica tupla

Avg(attributo) valore medio solo numeri

Min.(attributo)

Max(attributo)

Sum(attributo) somma solo numeri

Count(attributo*) conteggio

Having(attributo) seleziona alcune tuple dopo il raggruppamento

Group by(attributo)

Per operare sulla collezione di dati occorre:

-Interpretare una base di dati esistente, identificando le entità e le relazioni.

-progettare una base di dati, con la sua struttura, partendo dall’osservazione

della realtà.

-interagire aggiungendo caratteristiche.

-modificare correggendo eventuali manchevolezze.

Ciclo di vita delle applicazioni.

I sistemi operativi e i device driver fanno parte anche loro dei software di base,

detto anche applicativo o applicazione. Esso è concepito per consentire agli

utenti di svolgere un determinato compito. Ovviamente quest’applicazione

deve:

-richiedere determinate capacità, che siano banali o complesse, concepita per

un determinato utente detto finale.

-caratterizzata da una interfaccia utente che consente all’utente di svolgere

attività che devono soddisfare esigenze specifiche come per i giochi online, per

esempio vedere gli altri giocatori online.

-utilizzo di hardware dedicato, un dispositivo per un uso specifico come un

navigatore per lo smartphone.

-può richiedere l’utilizzo di informazioni preesistenti all’avvio dell’applicazione.

Fasi di sviluppo e versioni.

La creazione di un’applicazione, ovvero la metodologia di progetto, ha le

seguenti fasi:

1.Raccolta di requisiti: definizione degli obbiettivi dell’applicazione.

Dettagli
A.A. 2018-2019
14 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher patrizi.alessia di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma Tor Vergata o del prof Allulli Luca.