1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
Calcolo Relazionale.
DB - Modello relazionale dei dati
Creazione di archivi tramite Data Base
DBMS (DataBase Management System)
Algebra relazionale Presentazione 12.1
Basi di dati: il modello relazionale
DOCUMENTAZIONE DI SCHEMI E/R
Progettazione Concettuale: Il modello Entità-Relazioni
1 Algebra Relazionale Eugenio Di Sciascio. 2 Introduzione Lalgebra relazionale è un linguaggio procedurale: le operazioni vengono specificate descrivendo.
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu
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
ESEMPI DI ARCHIVI DI DATI
1 Microsoft Access 1. 2 Contenuto Dovete progettare e realizzare, usando Access, una base di dati che riguarda gli esami sostenuti dagli studenti iscritti.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
L’uso dei database in azienda
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Relazionale Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi.
SQL: Lezione 7 Nataliya Rassadko
Appunti informatica- prof. Orlando De Pietro
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni.
Basi di dati Claudia Raibulet
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
Implementare un modello di dati
1)PROGETTAZIONE DI UN DATABASE
SECONDO COMPITO: PRESENTAZIONE DI UN DATABASE
MODELLO LOGICO DEI DATI
Progettare un database
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.
SQL.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Sistemi Informativi Insieme di “strutture” in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DB- Sistemi Informativi
Microsoft Access Query (II), filtri.
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
Progettazione di una base di dati Progettazione logica (modello relazionale)
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Secondo Compito:Progettazione di un database Pinto Vincenzo.
Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Database: Personal Library 2°Compito Abilità Informatiche Av. Docente: Prof. A.Marengo Studente: Leonardo Ciriello Matr Università Degli Studi.
OBJECT ORIENTED DATABASE introduzione. OGGETTO Ha due componenti:  stato: valore di alcune variabili (variabili di istanza)  comportamento: insieme.
BASI DI DATI. 2 Sommario Introduzione e obiettivi Introduzione e obiettivi Il modello di dati relazionale Il modello di dati relazionale SQL SQL Software.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Progettazione di una base di dati relazionale Vincoli.
Progettazione di una base di dati relazionale Terza forma normale.
Database Progettazione Logica
Sistemi di Elaborazione delle Informazioni
Il modello relazionale
Eprogram informatica V anno.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
Il modello relazionale
Progettazione logica: Il modello relazionale
Il modello relazionale
Transcript della presentazione:

1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio

2 Introduzione Basato sul lavoro di Codd (~1970) E attualmente il modello più utilizzato nel mondo dei database (Oracle, Informix, IBM, Microsoft, etc.) E basato su una struttura dati semplice ed uniforme, la relazione. Ha solide basi teoriche.

3 Concetti base del modello Una base di dati è rappresentata come una collezione di relazioni. Possiamo informalmente considerare una relazione come una tabella. Ciascuna riga rappresenta una collezione di valori di dati tra loro collegati Il nome della relazione e quelli delle colonne consentono di comprendere il significato dei valori delle righe. Tutti i valori di una colonna sono del medesimo tipo, appartengono cioè ad un medesimo dominio. NomeCognome MarioRossi PieroBianchi Matr Studente

4 Dominio: un insieme di valori atomici, cioè indivisibili. Es.: voti_università: valori tra 0 e 30. nomi_propri: linsieme dei nomi di persona. A ciascun dominio si associa un tipo di dato o formato. Es: voti_università: interi tra 0 e 30 nomi_propri: stringhe di caratteri rappresentanti nomi propri. Concetti base del modello (2)

5 Concetti base del modello (3) Schema o intensione di una relazione R: è specificato come un nome R e una lista di attributi (A1, A2,..,An). Ciascun attributo Ai corrisponde ad un dominio D(Ai) nello schema relazionale. Es.: Studente(nome, cognome, matricola, data_nascita,data_immatr) Grado della relazione: numero di attributi. Istanza o estensione di R: r(R), è un insieme di tuple r=(t1, t2,..,tm). Ciascuna tupla t è una lista ordinata di valori t=<v1, v2,.., vn); ciascun valore vi dom(Ai) null (dove null rappresenta uno speciale valore, sconosciuto, inapplicabile). Cardinalità: il numero di tuple nella estensione r(R).

6 Note sulla definizione Le tuple sono definite come insieme. Ciò implica lassenza di un particolare ordinamento sulle tuple stesse. I valori allinterno di una tupla sono stati definiti come lista ordinata, quindi esiste un ordinamento. N.B. Le relazioni sono definite a livello logico, quindi ha senso non avere ordinamento predefinito sulle tuple; è inoltre possibile, fornendo una diversa definizione di tupla, prescindere anche dallordinamento allinterno della tupla stessa. Intuitivamente è sufficiente considerare ogni valore allinterno della generica tupla direttamente associato al nome di attributo corrispondente. NomeCognome MarioRossi PieroBianchi Matr Studente NomeCognome PieroBianchi MarioRossi Matr Studente

7 Note sulla definizione (2) E possibile interpretare uno schema di relazione come una dichiarazione o asserzione: ciascuna tupla può essere pertanto vista come un esempio di asserzione. E anche possibile interpretare uno schema di relazione come un predicato: i valori di ciascuna tupla soddisfano il predicato.

8 Vincoli del modello Vincolo di dominio: i valori di ciascun attributo sono valori atomici appartenenti al corrispondente dominio. Vincolo di chiave: per ogni relazione R esiste un sottoinsieme di attributi sk tale che t1 sk] t2[sk]. –Il sottoinsieme sk dicesi superchiave. –Dicesi chiave un sottoinsieme di attributi che goda della ulteriore proprietà di essere minimo, cioè privo di attributi ridondanti. Es.: studente(nome, cognome, matricola, data_nascita) Il sottoinsieme nome, cognome, matricola è superchiave, come pure cognome, matricola. Matricola è chiave (non ridondante) –In genere possono esserci più sottoinsiemi di attributi che verificano le due proprietà: chiavi candidate –La chiave designata è detta chiave primaria.

9 Vincoli del modello (2) Integrità di entità: nessuna chiave primaria può assumere valore null. Integrità referenziale: una tupla in una relazione R1 che si riferisca ad unaltra relazione R2 deve riferirsi ad una tupla esistente in R2. Il precedente vincolo è normalmente espresso mediante il concetto di chiave esterna (foreign key). Un sottoinsieme di attributi FK di una relazione R1 è una chiave esterna se: 1. Gli attributi di FK hanno lo stesso dominio degli attributi della chiave primaria PK di unaltra relazione R2 2. Un valore di FK in una tupla t1 di R1 o è presente identicamente come valore di PK di qualche tupla t2 in R2 o è nullo. Nel primo caso si avrà t1[FK]=t2[PK] e si dice che t1 referenzia t2.

10 Esempio DipNomeId_dipData_inizioDir_dip Dipartimento NomeCognomeSuperio_idId_dipData_nindirizzoCFStip_annuo Impiegato Id_dipIndirizzo Sedi_dip Nome_progN_progId_dipSede Progetto CFN_progOre_lav Lavora_su CFINomeData_nsesso Famigliare

11 Mapping E-R relazionale Creare una relazione per ogni entità con gli attributi semplici della stessa entità, scegliendo come chiave primaria una delle chiavi dellentità. Per le entità deboli, creare una relazione con gli attributi dellentità e includere, inoltre, come chiave esterna, la chiave primaria dellentità proprietaria. La chiave primaria della nuova relazione sarà la combinazione della chiave esterna più la chiave parziale.

12 Mapping E-R relazionale (2) Per ogni associazione binaria 1:1, identificare le entità partecipanti S e D. Scegliere una entità S con partecipazione totale ed includere in essa, come chiave esterna, la PK di D. Includere in S anche eventuali attributi dellassociazione. Per ogni associazione binaria 1:N, identificare le entità partecipanti. Scegliere l entità S dal lato N ed includere in essa, come chiave esterna, la PK dellaltra. Includere in S anche eventuali attributi dellassociazione.

13 Mapping E-R relazionale (3) Per ogni associazione R di tipo M:N creare una nuova relazione R. Includere le chiavi esterne delle entità partecipanti; la loro combinazione formerà la PK di R; includere eventuali attributi di R. Per ogni attributo multivalore A, creare una nuova relazione che include A e la chiave primaria della entità di partenza come chiave esterna. La PK sarà la combinazione della chiave esterna e di A.

14 Mapping E-R relazionale (4) Per ogni associazione con grado > 2 creare una nuova relazione. Includere come chiavi esterne le PK delle entità partecipanti nonché eventuali attributi dellassociazione. La PK sarà la combinazione delle chiavi esterne.