Anteprima
Vedrai una selezione di 2 pagine su 14
Teoria Basi di dati Pag. 1 Teoria Basi di dati Pag. 2
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

INTRODUZIONE

BASE DI DATI

collezione di dati che rappresentano le informazioni di interesse per un sistema informativo. Collezione di dati gestita da un DBMS.

DBMS: sistema per la gestione di basi di dati, soluzione in grado di gestire collezioni di dati che siano: grandi, condivise, persistenti assicurando affidabilità e prestazioni. Caratteristiche:

  • Dimensioni maggiori: volume massivo, dimensione dispositivi disponibile.
  • Condivisione dei dati: persistenza dei dati tra applicazioni e utenti (ISO/OSI INTEGRATA, condivisa da più settori aziendali)
  • Affidabilità: integrità dei dati
  • Aggiornamento dei dati: in caso di malfunzionamenti hardware e software
  • Accesso ai dati
  • Riferimento
  • Efficacia

FILE SYSTEM e DBMS

Approccio "semplificato": gestione dei dati: dati memorizzati in modo persistente nella memoria di massa.

I DBMS: Estendono le funzionalità offerte dai file system, fornendo funzionalità più sofisticate.

MODELLO DEI DATI

insieme dei costrutti per organizzare i dati di interesse e descrivere la struttura fisica e concettuale delle basi di dati

MODELLO RELAZIONALE

rappresenta dati mediante tabelle

Un modello basato su: dati persistenti (base di dati); dati aggiornabili; dati realizzati in modo omogeneo (struttura fisica).

Il tipo di modello di dati determina le caratteristiche fondamentali di un dbms.

LISTARIA

costruita da: colonne e righe; vincoli di chiave; riferimenti

LIVELLI DI ASTRAZIONE IN UN DBMS

  • Scheda Logica: comprende il modello dei dati. Descrive la strutturazione dei dati, interfaccia con il dbms
  • Scheda Interna: rappresentazione sistema logica mediante strutture fisiche di memorizzazione
  • Indipendenza dei dati: qualora di gestione e programmi applicativo delle basi di dati, è consentita la programmazione su codici e dati a alto livello senza dover interferire con la struttura fisica, fornendo un sistema robusto

INTEGRAZIONE FISICA

consente di memorizzare dati fisicamente in memoria di massa

INDIPENDENZA FISICA

consente di memorizzare con lo stesso modo indipendente struttura fisica dei dati

INTEGRAZIONE LOGICA

  • consolidamento dei dati in modo logico semantico interfaccia universale di memorizzazione

LINGUAGGI DI ACCESSO AI DATI

  • Lingua di definizione dei dati: fa per definire gli schemi logico, esterno e fisico e autorizzazioni accesso
  • Linguaggi di manipolazione dei dati: interrogazione e aggiornamento delle tabelle della base di dati
  • Database Administrator: responsabile del controllo e della gestione della base di dati
  • Progettisti e programmatori: insieme e creazione
  • Utenti: utilizzano la base di dati per le proprie attività

MODELLO RELAZIONALE

Attributo: nome di una colonna della tabella, non sono ordinati

Dominio: insieme dei valori che possono essere assunti da un attributo

n-upla (tupla): elaborato, ogni n-upla non ordinate ma sono distinte tra loro

Cardinalità: numero di n-upe della relazione

Grado: numero di attributi della relazione

Modello relazionale: basato sui valori. Strutture fisica indipendente, rappresentazione solo dell'informazione rilevante e portabilità dei dati. È possibile rappresentare l'assenza di un valore mediante un apposito "segnaposto" denominato valore nullo (NULL)

Vincoli di integrità: proprietà che devono essere soddisfatte da tutte le istanze corrette della base di dati. Vincolata è inter-relazione.

  • Chiave: insieme di attributi delle definizione che soddisfano due precise condizioni: 1) K unico. È insieme K di attributi di una chiave di una relazione R e:
  • la relazione non contiene 2 n-upla distinte con gli stessi valori per K (unicità)
  • K è minima
  • (nessun sottoinsieme K' di attributi ha gli annunci valori di K annunci univocità)

Attributo: matematico, è vincolo e minimo (chiave)

Chiave: concetto, item, lingue, condomini è vincolo e minima (chiave)

Insieme di attributi: insieme, evento, condomini è vincolo e minima (chiave)

Unicità: non ci sono due n-upla di una relazione con K

Superchiave: insieme di attributi, ha stessi valori per K (unicità) = superchiave

  • K è minima

Chiave candidata: chiave e non minima (è l'attributo matematico e è vincolo anche da solo!); superchiave ma non una chiave

CHIAVE PRIMARIA

è un vincolo (è l'attributo matematico e vincolo anche da solo); la sua principale è vincolo

CHIAVI CANDIDATE

CHIAVI CON VIOLAZIONE

  • Chiave candidata: insieme con unica con vincolo della base di barra della base di dati
  • Vincoli di integrità di riferimento: Date relazione R1, R2 si considera la minore è misura delle attributi X1 valori associati di insieme. X di S possono essere esclusivamente valori assunti e effettivamente della chiave primaria di R
  • È insieme di attributi X ed è costituisce una chiave esterna di S

Algebra Relazionale

L'algebra relazionale estende l'algebra degli insiemi per il modello relazionale. Definisce un insieme di operatori che operano su relazioni e producono come risultato una relazione. Godo dagli operatori di divisione.

  • Operatori Unari:
    • Selezione: σ (R)
    • Proiezione: π (R)
  • Operatori Binari:
    • Prodotto Cartesiano: × (R)
    • Join: ⋈ (R)
    • Unione: ∪ (R)
    • Intersezione: ∩ (R)
    • Differenza: − (R)
    • Divisione: ÷ (R)
  • Operatori Insieristici: (I)
  • Operatori Relazionali: (R)

Selezione:

Estrae un sottinsieme "orizzontale" della relazione R ⟶ R': σpred A. La selezione genera una relazione R':

  • Avente lo stesso schema di A.
  • Contenente le tuple soddisfano A per cui e vero il predicato (espressione booleana).

Proiezione:

Estrae un sottinsieme "verticale" della relazione R ⟶ R': πlistaAtt A. La proiezione genera una relazione R':

  • Contenente lo stesso schema di A.
  • Contenente tutte le tuple presenti in A, private di certi attributi (il sottinsieme degli attributi noti in A).

Prodotto Cartesiano:

Di 2 relazioni A e B: genera una relazione R avente per schema l'unione degli schemi di A e B. Enuncia tutte le coppie formate da una tupla di A e una tupla di B. R': A × B B. Genera una relazione R:

  • Avente lo schema AC = A X B x.
  • Associativo: (A × B) × C = A × (B × C)

Join:

Di 2 relazioni A e B seleziona tutte le tupla A e una tupla di A e una tupla di B "semanticamente legate". È un operatore derivato ed è definibile essenzialmente perché esprime sinteticamente molte operazioni ricorrenti nelle interrogazioni. Esistono diversi tipi di Join:

Natural Join:

A ⋈ B genera una relazione R avente per schema il coniugato schema A B.

Avente come schema:

  • Gli attributi presenti nello schema di A non presenti nello schema di B.
  • Gli attributi presenti nello schema di B non presenti nello schema di A.
  • Gli attributi presenti negli attributi comuni (e stesso nome sia in A e B).

Conveniente tutte le coppie costituite da una tupla di A e una di B che soddisfa gli attributi comuni e divulgati con gli stessi valori. A ⋈ B Generalità: le coppie formate da tupla di A e B soddisfano una generica "condizione di legame".

Theta-Join:

A ⋈θ B Comutativo e associativo

Genera una relazione R avente come schema l'unione degli schemi di A e B.

  • Conveniente tutte le coppie formate da una tupla di A e una tupla di B per cui e vero il predicato e l'enfasi.

Join: A ⋈pred B (predicato) (non per equalità).

B E equivale a commutativo 1.

Equi-Join:

R: A ⋈ B Caso particolare per il Theta-Join non può contenere gli attributi di @y.

Semi-Join:

Di 2 relazioni A e B selezionano tutte le tupla di "semanticaemente legate" almeno uno in schema b da r(P). ci ospiti i predicati di espressione: (R ⋈ A= B) ⟶ espresso in formula del theta-join.

Non gode associatività commutativa

Outer-Join:

Variante del Join, che permette di conservare un'informazione relativa alle tuple non semantacemente legate al predicato a b, (non presente tra le tupla di confronto). Esistono 3 tipi:

LEFT

completate solo le tuple del 1o operando ⟶ R: A ⟕ B

Genera R completamente legato

  • Una tupla di A è semanticamente legata
  • Una tupla di A e non semanticamente legata a B è completata con valori nulli.

RIGHT

completate solo le tuple del 2o operandi ⟶ R: A ⟖ B (non è commutativo)

FULL

completate se le tuple dei due operandi ⟶ R: A ⟗ B (è commutativo)

Unione:

Di 2 relazioni A e B selezionano tutte le tuple presenti in almeno una delle 2 relazioni ⟶ R: A ∪ B (commutativa e associativa) A e B.

  • Compatibilità: le relazioni A e B devono avere lo stesso schema A ∪ B.
  • Le tuple duplicate sono eliminate.

Intersezione:

Di 2 relazioni A e B selezionato tutte le tuple presenti in entrambi le A e B relazioni.

  • Genera una relazione R avente lo stesso schema A e B.
  • Compatibilità: le relazioni A e B devono avere lo stesso schema di A e B.

Differenza:

Di 2 relazioni A e B seleziona tutte le tuple presenti esclusivamente in A.

  • Genera una relazione R avente lo stesso schema.
  • Compatibilità: le relazioni A e B devono avere lo stesso schema.
Dettagli
A.A. 2023-2024
14 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher isabella190000000 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à Politecnico di Torino o del prof Cagliero Luca.