MODELLO LOGICO DEI DATI

Slides:



Advertisements
Presentazioni simili
DB -Algebra Relazionale
Advertisements

Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
DB - Modello relazionale dei dati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B2 Il modello relazionale.
Estendere i linguaggi: i tipi di dato astratti
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Algebra relazionale Presentazione 12.1
Basi di dati: il modello relazionale
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
Basi di Dati prof. A. Longheu
4 – Progettazione – Introduzione e Modello E-R
Unità didattica 2: Basi di dati MODULO DIDATTICO: I DATABASE
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Il modello relazionale: strutture e vincoli
Operazioni Relazionali
ESEMPI DI ARCHIVI DI DATI
L’uso dei database in azienda
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Basi di dati Università Degli Studi Parthenope di Napoli
Gestione condominio by Prete Paolo Entra
Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Modello E-R Generalizzazioni
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Modello E-R Generalizzazioni
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
INFORMATICA Corso Base Modulo G: I DataBase  Access.
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Dottorato di ricerca Nuove Tecnologie e Informazione Territorio – Ambiente Nozioni fondamentali di Basi di Dati Seminario interno.
Introduzione a Oracle 9i
LE BASI DI DATI E IL LINGUAGGIO SQL.
Gerarchie Ricorsive Una gerarchia ricorsiva deriva dalla presenza di una ricorsione o ciclo (un anello nel caso più semplice) nello schema operazionale.
Sistemi di Elaborazione delle Informazioni Mod.I.
DATABASE Introduzione
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
I DATABASE.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Algebra relazionale. Accesso ai dati di un DB Aggiornamento di DB: funzione che, data istanza di DB, produce altra istanza di DB, sullo stesso schema.
1 Il modello relazionale. 2 Introduzione Il modello relazionale, sebbene non sia stato il modello usato nei primi DBMS, e' divenuto lentamente il modello.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Vincoli interrelazionali
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Eprogram informatica V anno.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Cloud informatica V anno.
Approfondimenti SQL.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Operazioni Relazionali
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
1. CASO BIBLIOTECA ANALISI DEI REQUISITI Si vuole automatizzare la gestione prestiti dei libri di una biblioteca personale. La progettazione deve tener.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Transcript della presentazione:

MODELLO LOGICO DEI DATI

MODELLO LOGICO DEI DATI Un Modello logico di dati è un formalismo utilizzato per descrivere la realtà che si intende modellare mediante un DB Modello gerarchico - IBM Modello reticolare - Codasyl (Conference on Data System Language) Modello relazionale - Egdar F. Codd anni 70 Modello a oggetti - anni 80-90 Ogni modello comprende entità, attributi, relazioni fra i dati

Modello gerarchico Non esiste un preciso modello gerarchico riconosciuto dalle case costruttrici di DBMS. Lo schema del modello gerarchico è caratterizzato dal possedere una struttura ad albero detto ALBERO DI DEFINIZIONE. Ciascun nodo di un albero di definizione rappresenta una Categoria di dati. Da un punto di vista estensionale un nodo è costituito da una sequenza di record di uno stesso tipo. L’albero di definizione è ordinato (l’ordine dei figli di un nodo è rilevante) Ogni arco dell’albero rappresenta un’associazione surgettiva di tipo 1:N, diretta dal nodo padre (dominio, owner) al nodo figlio (codominio, member). E’ difficile la traduzione di uno schema concettuale in uno schema gerarchico (mapping) equivalente. Si adatta bene er quei dati che tendono naturalmente ad una suddivisione in sottocategorie. Per rappresentare una relazione molti-a-molti occorrono due uno a- molti e un segmento addizionale

Modello gerarchico

Modello reticolare Gli schemi generabili secondo questo modello hanno la caratteristica di presentarsi come grafi orientati in cui gli archi rappresentano associazioni 1:N. Esistono oggi diversi sistemi reticolari che implementano una parte più o meno ampia della proposta Codasyl (IDS/II Honeywell; DBMS-10 Digital). il modello reticolare rimuove molti dei limiti imposti dal modello gerarchico. Il “mapping” di uno schema concettuale in uno schema reticolare è pressoché immediato , per contro la navigazione è complessa e difficilmente implementabile.

Modello relazionale Il modello relazionale è stato introdotto da Codd nel 1970 ed è basato sul concetto matematico di relazione fra insiemi. Ciò ha consentito una formulazione del modello completamente libera da considerazioni di tipo pratico pertinenti, ad esempio, l’efficienza dell’implementazione DEFINZIONE : Una relazione R su una sequenza di insiemi D1, D2, ..., Dn (non necessariamente distinti) è un sottoinsieme finito del prodotto cartesiano D1xD2... xDn . Il numero n ( n > 1) è detto grado della relazione. D1, D2, ..., Dn = domini Gli elementi di R sono n-uple (d1, d2, ..., dn) con d1ЄD1 , d2Є D2 , ..., dnЄ Dn. Si usa di più il termine tupla. Una relazione non può contenere tuple uguali. A differenza delle relazioni matematiche, le relazioni nel modello relazionale sono variabili nel tempo : le tuple possono essere inserite, aggiornate, cancellate. Il numero di tuple presenti in un dato istante si dice cardinalità della relazione.

Modello relazionale PERSONA(NOME:STRING*20; ETA:INTEGER; SEX:CHAR) Da un punto di vista intensionale una relazione è caratterizzata da un nome e dalla lista dei suoi attributi : <nome relazione> (<attr1>:t1,<attr2>:t2, ......,<attrn>:tn) Da un punto di vista estensionale si può rappresentare una relazione mediante una tabella di m righe ed n colonne, dove ogni riga rappresenta una tupla ed ogni colonna rappresenta la sequenza dei valori assunti corrispondentemente da un attributo. L’ordine delle righe e colonne non è significativo. Tutte le definizioni del modello relazionale prevedono di specificare come vincolo quello relativo alla presenza di una chiave primaria per ogni relazione. PERSONA(NOME:STRING*20; ETA:INTEGER; SEX:CHAR) PERSONA(NOME,ETA,SEX) NOME ETA SEX

OPERAZIONI SUI DB RELAZIONALI Ci soffermeremo sulle operazioni che consentono di interrogare una base di dati relazionale poiché quelle di aggiornamento (inserimento, cancellazione, modifica) non differiscono concettualmente da quelle già note per gli archivi. Sono stati proposti diversi linguaggi per l’interrogazione dei DB relazionali, tutti in genere NON PROCEDURALI. I linguaggi non procedurali hanno operatori indipendenti dal concetto di posizione di un record, ma trattano invece i dati in modo collettivo. Uno dei linguaggi non procedurali più usati è quello dell’Algebra Relazionale : impiega operatori dell’algebra relazionale che vengono composti fra loro per produrre il risultato desiderato. Si formula l’interrogazione specificando una composizione di operatori da applicare alle relazioni del DB per fornire la relazione desiderata. Occorre scegliere un insieme di operatori funzionalmente completo cioè che consenta di ottenere tutti i risultati ottenibili con altri linguaggi relazionali

ALGEBRA RELAZIONALE UNION(R,S) = R U S = {t / tЄR or tЄS} Si può dimostrare che un insieme funzionalmente completo è composto dalle seguenti operazioni : Unione di relazioni (UNION) : Dette R ed S 2 relazioni compatibili (cioè aventi lo stesso numero di attributi ordinatamente dello stesso tipo, l’unione di R con S è la relazione ottenuta dall’unione insiemistica delle relazioni: UNION(R,S) = R U S = {t / tЄR or tЄS} Differenza di relazioni(DIFFERENCE) : Dette R ed S 2 relazioni compatibili la differenza fra R ed S è la relazione ottenuta dalla differenza insiemistica fra le relazioni: DIFFERENCE(R,S) = R - S = {t / tЄR and tЄS}

Algebra relazionale Prodotto cartesiano : Date R ed S 2 relazioni qualunque di grado rispettivamente n1 ed n2 e cardinalità m1 ed m2, il prodotto R x S è la relazioni di grado n1+n2 e cardinalità m1 x m2 le cui tuple si ottengono concatenando ogni tupla di R con ogni tupla di S. r = { a1,a2,...an1 } s = { b1,b2,...bn2 } r conc s = { a1,a2,...an1, b1,b2,...bn2} R X S = {t / t = r conc s , r ЄR and sЄS} Proiezione di una relazione (PROJECT) : Data una relazione R ed un suo sottoinsieme B = {A1,A2,..,Ak} dei suoi attributi , si definisce proiezione di R su B la relazione di grado k che si ottiene da R ignorando le colonne relative agli attributi non contenuti in B ed eliminando le eventuali tuple duplicate. PROJECT R ON A1,A2,..,Ak oppure π A1,A2,..,Ak R

Algebra relazionale Restrizione di una relazione (RESTRICT) : Data una relazione R ed un predicato P semplice o composto sui suoi attributi, l’operazione di restrizione di R a P è la relazione costituita dalla tuple di R che soddisfano P. Restrict R where P = {t / t ЄR and P(t)} oppure σP(t)R Esistono poi 2 operatori derivati molto usati : Intersezione di 2 relazioni (INTERSECT) : Date R ed S 2 relazioni compatibili, l’intersezione di R d S restituisce la relazione costituita da tutte le tuple presenti sia in R che in S. INTERSECT(R,S) = R ∩S ={t / t ЄR and t ЄS}

Algebra relazionale Giunzione naturale (JOIN) : Sia data una relazione R di grado n1 ed una relazione S di grado n2; l’operazione di giunzione naturale di R ed S su un attributo A di R e un attributo B di S (aventi lo stesso tipo) restituisce una relazione di grado n1+n2-1 le cui tuple si ottengono con il seguente procedimento : si calcola R x S su tale relazione si effettua una restrizione volta a selezionare le tuple aventi lo stesso valore degli attributi A e B ottenendo così una relazione con le colonne A e B uguali eliminando una di queste 2 colonne si ottiene la giunzione naturale R S A=B