Anteprima
Vedrai una selezione di 11 pagine su 50
Basi di dati Pag. 1 Basi di dati Pag. 2
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 6
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 11
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 16
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 21
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 26
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 31
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 36
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 41
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 46
1 su 50
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

LINGUAGGI E UTENTI, VANTAGGI E SVANTAGGI

DBMS

In un è possibile specificare operazioni di vario tipo, suddivise in due

operazioni di tipo DDL - Data Description Language

grosse categorie: per

la definizione di schemi (logici, esterni, fisici) e altre operazioni generali, agendo

DB. Operazioni di tipo DML - Data Manipulation

sulla struttura del

Language per l’interrogazione e l’aggiornamento delle istanze di basi di dati,

SQL

agendo sul contenuto del DB. In i due linguaggi coesistono.

DML e DDL,

È possibile mandare in esecuzione le operazioni in quattro differenti

SQL); (QBE, Query-

modalità: linguaggi testuali interattivi ( interfacce amichevoli

by-Example); SQL)

comandi (simili a immersi in un linguaggio di programmazione

(Java, C, …); SQL)

tradizionale, detto ospite comandi (simili a immersi in un

ad hoc,

linguaggio di programmazione con altre funzionalità (es.: per grafici o

report) e con l’ausilio di strumenti di sviluppo (es.: gestione di maschere).

(DBA);

I protagonisti: amministratori della base di dati progettisti e

implementatori della struttura del database (a volte questa figura è svolta

DB

dall'amministratore della base di dati o administrator); programmatori di

applicazioni; utenti divisi in utenti finali o terminalisti (eseguono applicazioni

predefinite) e utenti avanzati o casuali (eseguono operazioni non previste a

priori). MODELLO RELAZIONALE

Modello (logico) dei dati: insieme di concetti utilizzati per organizzare i dati e

descriverne la struttura in modo comprensibile a un computer. Il più diffuso è il

modello relazionale, basato sul concetto di relazione matematica, che

organizza i dati in insiemi di record a struttura fissa.

anni ‘70 Codd, E. F. (June 1970), "A

Definito formalmente agli inizi degli 

Relational Model of Data for Large Shared Data Banks" . Affermatosi a partire

anni ‘80 System R

dagli un precursore è stato (non completamente

 anni '70 presso l’IBM San Jose Research Lab

relazionale), sviluppato nei primi . Il

DBMS relazionale fu RDMS, anni ‘70 l’MIT,

primo vero sviluppato nei primi presso

Ingres (1974) sviluppato all’Università di Berkeley

seguito da .

Una relazione è spesso rappresentata per mezzo di una tabella: numero variabile

di righe (record), che rappresentano gli oggetti; numero fisso di colonne (campi),

che corrispondono a proprietà degli oggetti.

(facoltativo):

Altri modelli logici gerarchico, reticolare, a oggetti e semi strutturati

(XML).

I modelli logici sono legati ad una particolare struttura dati utilizzata per

rappresentare i dati, quali tabella, albero, grafo, etc.; esistono modelli

concettuali, non legati a strutture dati particolari, che descrivono concetti del

entity-

mondo reale, piuttosto che i dati che li rappresentano: modello

relationships e modello usato in fase preliminare della progettazione di una base

di dati (per analizzare la realtà di interesse senza dover pensare alle modalità di

DB

effettiva sua realizzazione pratica). In un dell'ufficio anagrafe di un ente,

vogliamo rappresentare il fatto che una persona (prima entità) è in relazione a

una città (seconda entità) in tre modalità differenti: vi risiede attualmente, vi ha

risieduto in passato e vi è nata. Modello molto generale: pone enfasi sui

"concetti" del mondo reale e non su come questi vadano rappresentati. Più vicino

alla mentalità dell'uomo che a quella del computer, utilizzato anche in altri

ambiti (es.: progettazione siti web).

IL MODELLO RELAZIONALE SISTEMI INFORMATIVI

MODELLO RELAZIONALE, STRUTTURE

1970,

Formulato da Codd nel perché i modelli logici allora esistenti non

“A

permettevano di realizzare efficacemente la indipendenza dei dati. Codd, E.F.

Relational Model of Data for Large Shared Data Banks”, Communications of the

ACM, vol. 13, n. 6, Jun 1970, pp. 377-387.

Prototipi iniziali '70: 1985:

primi anni primi sistemi relazionali “reali” a causa

della difficoltà tecnica di implementare efficientemente le tabelle, l’espansione

1985 stato attuale:

effettiva è partita dal molte applicazioni sono basate sul

modello relazionale.

Il modello relazionale si basa sul concetto formale di relazione matematica,

dalla teoria degli insiemi. Il modello deve il successo alla compresenza di: forte

base teorica, la quale ha permesso di studiare approfonditamente l'argomento

permettendo di raggiungere dei risultati teorici a supporto che si sono poi

trasformati in implementazioni; semplicità di uso, dove l’utente lavora su

strutture semplici (le tabelle) usando un linguaggio dichiarativo molto intuitivo,

SQL. La relazione matematica, di conseguenza, è implementata tramite una

struttura molto semplice e intuitiva, la tabella.

MR (modello relazionale)

Il permette l'indipendenza fisica dei dati: gli utenti non

conoscono l'implementazione fisica dei dati, ma ne fanno riferimento solo al

MR

livello logico (le tabelle). Il è basato su valori: i collegamenti fra dati in tabelle

diverse sono realizzati per mezzo dei valori presenti nelle tabelle stesse; altri

modelli logici prevedono riferimenti espliciti alla sottostante struttura fisica,

MR

tramite l’uso di puntatori “fisici” (indirizzi di memoria). Il presenta linguaggi

semplici e dichiarativi: si dice “cosa” si vuole, ma non “come” il computer deve

MR

operare. Nel le operazioni su tabelle danno come risultato ancora una tabella;

a cascata

è, quindi, possibile combinare più operazioni .

RELAZIONI E TABELLE

Il dominio (di un insieme) è l’insieme di tutti i valori che possono essere

effettivamente assunti dagli elementi dell’insieme; es.: insieme dei numeri interi,

insieme dei numeri interi compresi tra 1 e 30, insieme delle stringhe di caratteri,

insieme delle stringhe di caratteri lunghe 20, insieme dei numeri reali. I domini

(teoricamente) possono presentare infiniti valori (in realtà ne presentano finiti);

c’è un limite al numero di valori che possono essere rappresentati in un dominio,

DBMS

dato dalla dimensione della memoria che il dedica a tale oggetto; es.:

bytes

quattro per gli interi.

Relazioni (tabelle) hanno cardinalità (numero di righe) finita (la memoria del

computer è finita). Ogni riga della relazione contiene valori che vengono

memorizzati nel computer; il numero di righe è quindi limitato (a causa dalla

dimensione fisica della memoria). D1 e D2 D1xD2

Il prodotto cartesiano di due insiemi è l’insieme ( ) di tutte le

v1, v2 v1 D1 v2

coppie ordinate ( ) tali che: è un elemento di e è un elemento di

D2; es.: D1= {0,1} e D2={a,b,c}, allora D1 x D2 è dato da: {(0,a), (0,b),

se

(0,c), (1,a), (1,b), (1,c)} D1 e D2

. Una relazione matematica su due insiemi, , è un

D1xD2.

qualunque sottoinsieme del prodotto cartesiano Una relazione su due

insiemi si dice di arità (o grado) 2. Il numero di elementi della relazione (cioè il

numero totale delle righe in essa presenti) è detto cardinalità della relazione.

D1 e D2: D1 × D2 e

Dunque, dati due insiemi il loro prodotto cartesiano è una

r D1 × D2.

possibile relazione matematica è

k D1, D2, …, Dk (D1 x D2 x D3, …, DK-1 x DK)

Il prodotto cartesiano di insiemi è

k-uple (v1, v2, …, vk v1

l’insieme di tutte le ordinate ) tali che: è un elemento di

D1 v2 D2 vk Dk.

e è un elemento di , …, è un elemento di Una relazione

k D1, D2, …, Dk

matematica su insiemi è un qualunque sottoinsieme del prodotto

k D1 x D2 x D3, …, DK-1 x DK.

cartesiano sui insiemi Una relazione matematica è

n-uple (v1, …, vk) v1D1, …,

un insieme di ordinate (dette anche tuple): tali che

vk Dk. k k.

 Una relazione su insiemi si dice di arità (o grado)

RELAZIONI CON ATTRIBUTI

Relazione con struttura posizionale: ogni dominio ha un ruolo che dipende

dalla posizione, cioè esiste un ordine tra i domini che è importante ai fini

dell'interpretazione dei dati; l'i-esimo valore proviene dall'i-esimo dominio

(posizionale). Non c'è ordinamento fra le righe e due relazioni con le stesse righe,

ma in ordine diverso, rappresentano la stessa relazione. Le righe sono distinte

l'una dall'altra e per definizione un insieme non può contenere due elementi

uguali.

Ad esempio, vogliamo memorizzare i risultati di partite di calcio: creiamo una

relazione con quattro campi che memorizzano le informazioni sulla squadra di

casa, quella in trasferta e i relativi gol fatti. Consideriamo una relazione

testo × testo ×

matematica costruita sul prodotto cartesiano di quattro domini:

intero × intero. Il senso dell'informazione è dato dal fatto che nella prima

colonna abbiamo inserito la squadra di casa e nella seconda quella in trasferta e

così anche per i gol. Se nella relazione scambiassimo le posizioni delle colonne 3

e 4, cambierebbe l'informazione memorizzata (i risultati delle partite verrebbero

invertiti). (v1, …, vk)

Una relazione matematica è un insieme di n-uple ordinate*: tali che

v1D1, …, vk Dk. k

 Ogni relazione su domini si dice di arità (o grado) k.

Ciascuna n-upla contiene dati fra loro collegati; la prima riga (n-upla) della

“Juventus “, “Lazio”, “3“, “1”,

relazione seguente stabilisce un legame tra i valori 3-1;

e indica che il risultato della partita Juventus-Lazio è si noti che

l'ordinamento è relativo alle colonne.

DB

In un relazionale la struttura di base è la relazione matematica, quindi di tipo

Come rendere una relazione indipendente

posizionale, ma questo è fastidioso.

dalla posizione delle colonne (e quindi dal loro ordine)?

È possibile far riferimento a strutture non posizionali se attribuiamo a ciascun

"significato",

campo un nome (detto attributo), che ne descrive il passando così

dal concetto di relazione a quello di tabella. Dunque, nella relazione matematica

l’ordine delle colonne è importante; invece, nella tabella (= relazione + nomi alle

colonne) l’ordine delle colonne non è importante.

RELAZIONI E BASI DI DATI

Il modello relazionale è basato su valori, questo significa che le corrispondenze

fra dati in tabelle diverse sono rappresentate per mezzo di valori (comuni)

presenti nelle tabelle stesse.

Tabelle

Dettagli
A.A. 2024-2025
50 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher francesco.caputo.2001 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 Salerno o del prof Postiglione Alberto.