Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 5



Documenti analoghi
Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

MODELLO RELAZIONALE. Introduzione

Organizzazione degli archivi

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Progettazione di Basi di Dati

Introduzione alla teoria dei database relazionali. Come progettare un database

Il Modello Relazionale

DBMS (Data Base Management System)

Sistemi Informativi e Basi di Dati


Il Modello Relazionale

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Vincoli di integrità

Basi di Dati e Microsoft Access

Lezione V. Aula Multimediale - sabato 29/03/2008

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

TEORIA sulle BASI DI DATI

Elena Baralis 2013 Politecnico di Torino 1

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Il modello relazionale

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

LA NORMALIZZAZIONE. Introduzione

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Data Base. Prof. Filippo TROTTA

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Database. Si ringrazia Marco Bertini per le slides

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

5.2.1 RELAZIONI TRA TABELLE Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

BASE DI DATI: sicurezza. Informatica febbraio ASA

Access. P a r t e p r i m a

Archivi e Basi di Dati

I database relazionali (Access)

Informatica (Basi di Dati)

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Modulo 2 Data Base 2

Progettazione di un Database

I Sistemi Informativi

DATABASE RELAZIONALI

Basi di dati 9 febbraio 2010 Compito A

Progettazione di Database. Un Esempio

Partite string string int int. Perché studiare il Modello Relazionale? Capitolo 2. Relazione: tre accezioni. Basi di dati relazionali: definizioni

Il modello relazionale dei dati e stato introdotto da Codd. nel 1970 (E.F. Codd, \A relational model of data for large

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Le Basi di Dati. Le Basi di Dati

BASI DI DATI - : I modelli di database

Corso di Informatica (Basi di Dati)

Operazioni sui database

DATABASE. A cura di Massimiliano Buschi

Rappresentazione grafica di entità e attributi

Lezione 8. Motori di Ricerca

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Database 3 affitto veicoli. Testo del quesito

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

I DATABASE Database relazionale

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

disponibili nel pacchetto software.

I database. Cosa sono e a cosa servono i Database

database: modello entityrelationship

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Base Dati Introduzione

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Il database management system Access

Informatica per le discipline umanistiche 2 lezione 10

Esercizio sui data base "Gestione conti correnti"

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Organizzazione delle informazioni: Database

Definizione di domini

Database (Base di dati)

DATABASE.

ITI Galilei Salerno Corso Database ed SQL

Introduzione ai database relazionali

Basi di dati. Le funzionalità del sistema non vanno però ignorate

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

Data Base Relazionali

Capitolo 2. Esercizio 2.1. Esercizio 2.2

MODULO 5 Appunti ACCESS - Basi di dati

Corso di Informatica

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Database. Francesco Tapparo Informatica e Bioinformatica /16

Introduzione all Algebra Relazionale

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Transcript:

Data Base Master "Bio Info" Reti e Basi di Dati Lezione 5

Sommario I concetti fondamentali Database e DBMS Tipi di Database Database Relazionale Attributi, Tupla, Vincoli di integrità, Chiavi, Vincolo di integrità referenziale,relazioni Query e SQL MySql I Data Base e la Bioinformatica Master "Bio Info" Reti e Basi di Dati Lezione 5

Sezione 1 I concetti fondamentali Master "Bio Info" Reti e Basi di Dati Lezione 5

Database e DBMS Database insieme di dati correlati tra loro, memorizzati su un supporto di memoria di massa, costituenti un tutt'uno, che possono essere manipolati da più programmi applicativi DBMS insieme di dati tra loro collegati e in aggiunta un sistema software per la gestione, quindi per l'aggiornamento, la manutenzione e la consultazione dei dati contenuti in un supporto di memoria di massa. DBMS = Database+ Programmi per la gestione dei dati Per gestione dei dati si intende: Immissione, cancellazione e modifica di dati già introdotti ricerca di dati attraverso criteri definiti dall'utente ordinamento e classificazione dei dati singolarmente o secondo vari criteri, stampa di rapporti o relazioni Master "Bio Info" Reti e Basi di Dati Lezione 5

Tipi di Database Database gerarchici Sviluppati negli anni 60 un database gerarchico è un insieme di archivi composti da record (segmenti) che sono in rapporto gerarchico tra loro attraverso legami di tipo padre-figlio (struttura ad albero) Nel modello gerarchico si individua un segmento principale (padre o radice) dal quale dipendono n segmenti figli, che a loro volta sono padri per altri figli e così via, i figli possono essere raggiunti solo attraverso il padre, non è possibile dal figlio risalire al padre. Master "Bio Info" Reti e Basi di Dati Lezione 5

Database reticolari Nel modello reticolare sviluppato nei primi anni 70, contrariamente al DB gerarchici dove un figlio può avere solo un padre, ogni record può avere un numero qualsiasi di record subordinati e di record precedenti, i legami avvengono attraverso record di collegamento (member) ll modello reticolare utilizza due tipi di strutture il record ed il set che permette di correlare i record.

Database relazionali Il modello relazionale, nato negli anno 70, si basa su due concetti relazione e tabella. La nozione di relazione proviene dalla teoria degli insiemi, mentre il concetto di tabella è semplice ed intuitivo. Dati due insiemi D1 e D2 si chiama prodotto cartesiano di D1 e D2 (D1xD2), l insieme delle coppie ordinate (v1, v2), con v1 elemento di D1 e v2 è un elemento di D2. Una relazione sugli insiemi D1 e D2 è un sottoinsieme del prodotto cartesiano di D1xD2. Esempio: Dati gli insiemi A={1, 2,4} e B={a, b} A x B= {(1, a), (1, b), (2, a), (2, b), (4, a), (4, b)} una possibile relazione su A e B è R1= {(1, a), (1, b), (4, b)}

Database relazionali Le relazioni possono esse rappresentate graficamente, in maniera utilmente espressiva, sotto forma tabellare. Esempio: NAPOLI MILAN 2 0 PALERMO INTER 7 0 La relazione precedente è un sottoinsieme del prodotto cartesiano: Stringa x Stringa x Intero x Intero L ordine con cui compaiono i dati nelle righe è fondamentale (cambiando l ordine di alcune colonne i risultati vengono stravolti), a ciò si ovvia utilizzando gli attributi come intestazioni per le colonne. Squadra di casa Squadra ospitata Reti casa Reti ospitata NAPOLI MILAN 2 0 PALERMO INTER 7 0

Database relazionali Modificando la definizione di relazione con l introduzione degli attributi, l ordinamento delle colonne risulta irrilevante. Una tupla su un insieme di attributi X (con x insieme di attributi della relazione) è una funzione t che associa a ciascun attributo A di X un valore del dominio DOM(A) Nell esempio X= {Squadra di casa,squadra ospitata,reti casa,reti ospitata} A1=Squadra di casa DOM(A1)= (Palermo,Milan,Juventus ) A2=Squadra ospitata DOM(A2)=(Palermo,Milan,Juventus ) A3=Reti casa DOM(A3)=N=(0,1,2, ) A4=Reti ospitata DOM(A4)=N=(0,1,2, )

Database relazionali La struttura del modello relazionale è molto semplice e potente e al tempo stesso impone un certo grado di rigidità poiché in ogni relazione possiamo rappresentare solo tuple corrispondenti allo schema della relazione stessa. In moti casi, i dati disponibili possono non corrispondere esattamente al formato previsto. Ad esempio: Persone (Cognome, Nome, Indirizzo, Telefono) Il valore dell attributo Telefono potrebbe non essere disponibile per tutte le tuple, Per rappresentare la non disponibilità di valori, viene assunto un particolare valore per quel attributo detto valore nullo. In genere quando si definisce una relazione bisogna specificare quali saranno gli attributi in cui è possibile inserire il valore nullo.

Vincoli di integrità In una database si deve evitare di inserire dati privi di senso o sbagliati, per limitare che ciò accada, durante la creazione del database vengono stabiliti dei vincoli. Un vincolo è un predicato assume valore vero se l istanza soddisfa il vincolo falso viceversa. In generale, ad uno schema di database associamo un insieme di vincoli e consideriamo corrette le istanze che soddisfano tutti i vincoli. Esempi di vincoli di integrità: Non permettere l inserimento del codice di avviamento postale usando lettere invece di cifre numeriche o non accettare che vengano inseriti più di 5 cifre. Non consentire la cancellazione di un capo vendite senza che i suoi subalterni (venditori) siano gerarchizzati ad altro capo vendita o cancellati precedentemente..

Le Chiavi Chiave candidata l attributo o l insieme di attributi che individuano univocamente la tupla all interno della relazione. Chiave primaria la chiave con minor numero di attributi Chiave esterna l attributo, o l insieme di attributi, che può essere usata come chiave primaria per un'altra relazione.

Auto Targa IDProp Indirizzo RM 1A2396 1 Via Tigli FI 1A2300 1 Via Tigli TV 2F4560 2 Via Migli Proprietati IDProp Nome Cognome 1 Giuseppe Verdi 2 Carlo Felice Si possono considerate chiavi candidate della tabella Auto i tre attributi insieme, o gli attributi Targa e Proprietario insieme. Gli attributi Proprietario e Indirizzo, non possono essere considerati chiave candidata della relazione Auto sia da soli che insieme. È decisamente chiave primaria della tabella Auto l attributo Targa. L attributo IDProp comparendo come chiave primaria nella relazione Proprietari è chiave esterna.

Vincolo di integrità referenziale: Si ha un vincolo di integrità referenziale quando uno o più attributi di una relazione R1 compaiano come valori della chiave primaria in un altra relazione R2. Esempio: Cani Proprietati ID_Cane Nome Razza Proprietario 56 Fido Setter 134 93 Birillo Meticcio 356 21 Diana Cocker 356 IDProp Nome Cognome 134 Giuseppe Verdi 356 Carlo Felice Nelle due tabelle abbiamo rispettato il vincolo di integrità in quanto le tutte le tuple sono correlate tra di loro. Tutti i cani hanno un proprietario

Tipi di relazioni tra tabelle: Un database in genere è composto da diversi tipi di informazione collegati tra loro. Per relazione tra tabelle si indica appunti una corrispondenza tra dati di due tabelle. I tipi di relazioni sono: uno a uno: relazioni tra elementi che hanno una corrispondenza univoca, ad un elemento di una tabella ne corrisponde uno soltanto in un'altra e viceversa; uno a molti: sono relazioni che si stabiliscono tra un record di una tabella e più records di un'altra tabella, ma non il contrario; molti a molti: un record può essere relazionato a più di un record di un'altra tabella e viceversa; questo tipo di relazione è normalmente definita tramite una terza tabella "ponte" tra le due da relazionare.

Tipi di relazioni tra tabelle: Per associazioni tra tabelle si indica una corrispondenza tra dati di due tabelle. I tipi di associazioni (dette anche relazioni) che possiamo avere sono: uno a uno: relazioni tra elementi che hanno una corrispondenza univoca, ad un elemento di una tabella ne corrisponde uno soltanto in un'altra e viceversa; uno a molti: sono relazioni che si stabiliscono tra un record di una tabella e più records di un'altra tabella, ma non il contrario; molti a molti: un record può essere relazionato a più di un record di un'altra tabella e viceversa; questo tipo di relazione è normalmente definita tramite una terza tabella "ponte" tra le due da relazionare.

Esempio di relazione uno a uno Email ID_mail ID_pers Indirizzo 1 4 verdi@unipa.it 2 8 cfel@hotmail.it 3 12 pax@unipa.it Persone ID Nome Cognome 4 Giuseppe Verdi 6 Carlo Felice 12 Filippo Pace Queste due tabelle hanno una relazione uno a uno, infatti per ogni elemento di Persone esiste uno ed un solo elemento di Email e viceversa. Nel caso di una relazione uno-a-uno tutto può essere rappresentato con una singola tabella ID Nome Cognome Indirizzo 4 Giuseppe Verdi verdi@unipa.it 6 Carlo Felice cfel@hotmail.it 12 Filippo Pace pax@unipa.it

Esempio di relazione uno a molti Persone ID Nome Cognome citta Citta ID Reg Citta 4 Giuseppe Verdi Palermo 6 Carlo Felice Roma 12 Filippo Pace Palermo 1 Sicilia Palermo 2 Sicilia Agrigento 3 Lazio Roma Queste due tabelle hanno una relazione uno a molti, infatti per ogni elemento di Citta possono esistere più elemento di EPersone. Nel caso di una relazione uno a molti nella tabella molti si toglie l attributo in comune e si sostituisce con la chiave primaria della relazione uno ID Nome Cognome ID_Citta 4 Giuseppe Verdi 1 6 Carlo Felice 2 12 Filippo Pace 1

Esempio di relazione molti a molti Libri ID Titolo Autore1 Autore2 4 Reti di Calcolatori Smith Carson 6 Mamma ho perso Lucarelli Fini 12 Il cavaliere Smith ID Autore Autore 1 Smith 2 Carson 3 Lucarelli 4 Fini Le tabelle hanno una relazione molti a molti, ogni elemento di Libri può avere lo stesso Autore che può avere scritto più Libri. Nel caso di una relazione molti a molti si deve creare una tabella di lookup che non contiene dati reali, ma solo le coppie in relazione ID Titolo 4 Reti di Calcolatori 6 Mamma ho perso 12 Il cavaliere IDlibro IDAutore 4 1 4 2 6 3 6 4 12 1 ID Autore 1 Smith 2 Carson 3 Lucarelli 4 Fini