Basi di Dati Concetti e Principi Generali Stefania Costantini.

Slides:



Advertisements
Presentazioni simili
DB - Modello relazionale dei dati
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Una Introduzione alle Basi di Dati
Capitolo 1: Introduzione
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Sistemi per Basi di Dati: Introduzione
Semantica delle Informazioni
Basi di Dati prof. A. Longheu
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Gestione Dati & Archivi
Il modello relazionale: strutture e vincoli
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Base di dati Insieme organizzato di dati utilizzati per lo svolgimento delle attività di un ente, azienda, ufficio, persona Es.: elenchi telefonici, elenco.
ESEMPI DI ARCHIVI DI DATI
SQL Structured Query Language
Microsoft Office: Access OpenOffice: Base
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Corso di Informatica (Basi di Dati)
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
MODELLO RELAZIONALE.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Programma del Corso Dati e DBMS DBMS relazionali SQL
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Gestione dell’Informazione: Aspetti Introduttivi
Basi di dati Claudia Raibulet
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Basi di Dati Barbara Catania Aspetti Introduttivi.
DAGLI ARCHIVI AI DATABASE
MODELLO LOGICO DEI DATI
Introduzione a Oracle 9i
LE BASI DI DATI E IL LINGUAGGIO SQL.
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
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
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
I DATABASE.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
SQL (III) Data Definition Language/ Data Manipulation Language.
Basi Dati e Laboratorio (6 + 6) crediti – curriculum Sistemi e Reti Basi dati 1 e Basi dati 2 prec.ordin. docenti: Barbara Demo Giuseppe Berio mail :
Introduzione alle basi di dati
BASI DI DATI. 2 Sommario Introduzione e obiettivi Introduzione e obiettivi Il modello di dati relazionale Il modello di dati relazionale SQL SQL Software.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 1: Introduzione 24/09/2002.
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.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni, Ceri, Paraboschi, Torlone: Basi di dati, Capitolo 1) Introduzione 19/09/2004.
Capitolo 1: Introduzione. Introduzione2 Base di dati  Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,
Vincoli interrelazionali
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Informatica Introduzione alle basi di dati Lezione 1 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Le basi di dati.
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à.
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.
Transcript della presentazione:

Basi di Dati Concetti e Principi Generali Stefania Costantini

Organizzazione dei Dati Archivi o file Procedure di accesso in qualunque linguaggio di programmazione Duplicazione dati: ridondanza incoerenza formati diversi dei dati

Organizzazione dei Dati Sistema di gestione di Basi di Dati Data Base Management System (DBMS) Ha un proprio linguaggio basato su un proprio Modello di dati Evita ridondanza e incoerenza Base di Dati = Insieme di dati gestiti da un DBMS

DBMS Grandi Condivise (no ridondanza) DBMS garantisce: Basi di Dati: Grandi Condivise (no ridondanza) DBMS garantisce: Persistenza (e fault-tolerance) Affidabilità Privatezza Efficienza Efficacia = migliore produttività

Modello dei Dati Insieme di concetti Descrizione dei Dati Organizzazione dei Dati Modello dei dati  meccanismi di strutturazione

Modello dei Dati Modello concettuale dei dati: contenuti struttura significato collegamenti, indipendentemente dall’implementazione Modello logico: rappresentazione formale dei dati implementabile da un DBMS Modello fisico: allocazione sui dispositivi

Modello dei Dati Modelli principali: (Logici) Gerarchico  alberi Reticolare  grafi Relazionale  relazioni A oggetti  relazioni più oggetti Modelli concettuali: descrizione di alto livello dei dati indipendente dal modello logico E – R  Entity – Relationship

Schema BD Invariante nel tempo (salvo riorganizzazione) Descrizione dell’organizzazione dei dati Invariante nel tempo (salvo riorganizzazione) Livelli di astrazione Schema logico: descrizione Schema fisico: implementazione schema logico Schema esterno (Vista): astrazione da schema logico

Istanza BD Definita su un dato schema Insieme dei valori effettivi dei dati Cambia nel tempo Inserzione Cancellazione Modifica

Indipendenza dei dati L’utente interagisce con il DB A un certo livello di astrazione Senza bisogno di conoscere i livelli sottostanti Che possono essere modificati

Indipendenza dei dati Indipendenza logica Interazione con il livello esterno Senza conoscere schema logico Indipendenza fisica Interazione con il livello logico Senza conoscere schema fisico (allocazione dei dati su )

Linguaggi per Basi di Dati Data Definition Language (DDL) Definizione schemi Definizione autorizzazioni di accesso

Linguaggi per Basi di Dati Data Manipulation Language (DML) Aggiornamento istanze DB Inserzione Cancellazione Modifica Estrazione informazioni da DB Interrogazione  Query DML  Query Language SQL  DDL + DML

Linguaggi per Basi di Dati Classi di Linguaggi: Interattivi testuali Interattivi grafici Immersi in altri linguaggi di programmazione

Linguaggi per Basi di Dati Interazione con Basi di Dati Progettisti e programmatori Amministratore DB Administrator (DBA) Progetto Controllo Amministrazione Utenti finali: utilizzano frequentemente la BD con query predefinite casuali: query non predefinite

Linguaggi per basi di dati Un altro contributo all’efficacia: disponibilità di vari linguaggi e interfacce  linguaggi testuali interattivi (SQL)  comandi (SQL) immersi in un linguaggio ospite (Pascal, Java, C ...)  comandi (SQL) immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es. per grafici o stampe strutturate)  con interfacce amichevoli (senza linguaggio testuale)

Basi di Dati Il Modello Relazionale Concetti Generali

Modello dei Dati Schema di rappresentazione dati: visione dei dati secondo un certo formalismo (ad es. alberi, grafi, tabelle) Modello dei dati: costrutti e linguaggi per descrivere e manipolare lo schema

Modello dei Dati Costrutti e linguaggi per descrivere: Conceptual and external schema Data definition language (DDL) Integrity constraints, domains (DDL) Operations on data Data manipulation language (DML) Directives that influence the physical schema (affects performance, not semantics) Storage definition language (SDL)

Modello Relazionale Introdotto nel 1970 Si è affermato negli anni ’80 Si basa sul concetto matematico di relazione (teoria degli insiemi) Descrive in modo efficace il livello logico Senza riferimenti al livello fisico (struttura realizzativa)

Why Study the Relational Model? Most widely used model. “Legacy systems” in older models e.g., IBM’s IMS Object-oriented concepts have recently merged in object-relational model Informix, IBM DB2, Oracle 8i Early work done in POSTGRES research project at Berkeley

Relazioni Insiemi D1, D2,…,Dn finiti o infiniti, detti domini Prodotto cartesiano P = D1 x D2 x … x Dn P = (v1, v2, …, vn): i  n vi  Di n – upla o tupla

Relazioni Relazione R  P n  grado o arità della relazione m  numero delle tuple di R  cardinalità della relazione Nelle Basi di Dati: cardinalità finita

Tabelle Rappresentazione grafica delle relazioni D1 = L’Aquila, Roma, Pescara D2 = Maria, Carlo D1 x D2 Una colonna per ogni dominio Di Una riga per ogni tupla L’Aquila Maria Carlo Roma Pescara

Tabelle L’Aquila Maria Pescara Carlo Relazione R Cardinalità 2 Le tuple sono distinte Le tuple non sono ordinate Residenza L’Aquila Maria Pescara Carlo

Attributi I valori all’interno di una tupla sono ordinati (v1, v2, …, vn)R v1  D1, v2  D2, …, vn  Dn Ad ogni valore associamo un Nome, detto Attributo Residenza CITTA’ PERSONA L’Aquila Maria Pescara Carlo

Attributi D = D1,…,Dn Domini x = {A1, A2, …, An} Attributi DOM: xD associa Ai a Dj assegna un dominio ad ogni attributo Tupla: (A1,…,An)  (v1,…, vn) vi  Di

Basi di Dati Relazionali Composte da varie relazioni Sotto forma di tabelle Collegate fra loro mediante Attributi comuni non necessariamente con lo stesso nome ma con lo stesso valore

Basi di Dati Relazionali Vantaggi: schema logico indipendente dall’implementazione Comprensibilità Usabilità Portabilità Indipendenza fisica

Esempio di tabella Orario Insegnamento Docente Aula Ora Analisi matem. I Luigi Neri N1 8:00 Basi di dati Piero Rossi N2 9:45 Chimica Nicola Mori Fisica I Mario Bruni 11:45 Fisica II N3 Sistemi inform.

Basi di dati: schema e istanza Lo schema della base di dati Orario Insegnamento Docente Aula Ora Analisi matem. I Luigi Neri N1 8:00 Basi di dati Piero Rossi N2 9:45 Chimica Nicola Mori Fisica I Mario Bruni 11:45 Fisica II N3 Sistemi inform. L'istanza della base di dati

Instance of Students Relation Cardinality = 3, arity = 5 , all rows distinct Do all values in each column of a relation instance have to be distinct?

Schema e istanza In ogni base di dati esistono: lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale) es.: le intestazioni delle tabelle l’istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale) es.: il “corpo” di ciascuna tabella Ex

Modello Relazionale Schema di relazione Simbolo R: Nome della relazione Insieme X = A1,…,An: Nomi degli attributi (ognuno legato a un dominio Di Notazione: R(X) Schema di base di dati R = R1(X1),R2(X2),…Rk(Xk) Ri distinti

Modello Relazionale Istanza di Relazione su R(X) Insieme r di tuple su X Istanza di Base di dati su R: Insieme r = r1,…,rk di relazioni, ri su Ri(Xi), i  k

Modello Relazionale Terminologia Attributi: lettere finali alfabeto X, Y, Z Insiemi lettere iniziali alfabeto A, B, C attributi singoli X = A B C  X = A, B, C Relazioni: R, S t[Y]: tupla t ristretta agli attributi dell’insieme Y

Modello Relazionale Valore nullo: Valore distinto, aggiuntivo rispetto ai domini NULL = assenza di informazioni Valore non noto Valore inesistente (non definito) Valore non significativo

(super) chiave Insieme di attributi che identifica univocamente una tupla In generale, esistono varie superchiavi Insieme K di attributi di una relazione R: K superchiave se non esiste t1,t2  r tali che t1[K] = t2[K] K chiave se è una superchiave minimale non esiste K1 K superchiave

Chiavi Notare che: Nota1: per relazione R(X), X è sempre superchiave Nota2: una superchiave perde di significato se le tuple contengono valori nulli sui suoi attributi

Chiave Primaria (Primary key) Chiave primaria KP: viene scelta fra le chiavi possibili (dette “chiavi candidate”) si può (e si deve) definire un’unica chiave primaria non sono ammessi valori nulli sugli attributi di KP

Keys Keys are a way to associate tuples in different relations Keys are one form of integrity constraint (IC) Enrolled Students FOREIGN Key PRIMARY Key

Vincoli di Integrità Proprietà che devono essere soddisfatte dalle istanze Predicati (valore vero/falso) Selezionano istanze ammissibili Introducono Limitazione sui domini Collegamenti obbligatori fra tabelle Proibizione di valori nulli Limitazioni sui valori degli attributi

Integrity Constraints (ICs) IC: condition that must be true for any instance of the database; e.g., domain constraints. ICs are specified when schema is defined. ICs are checked when relations are modified. A legal instance of a relation is one that satisfies all specified ICs. DBMS should not allow illegal instances. If the DBMS checks ICs, stored data is more faithful to real-world meaning. Avoids data entry errors, too!

Keys Keys are a way to associate tuples in different relations Keys are one form of integrity constraint (IC) Enrolled Students FOREIGN Key PRIMARY Key

Vincoli di Integrità Esempio: vincolo di chiave  relazione deve esistere una chiave primaria No valori coincidenti per tuple diverse No valori nulli su attributi componenti le chiavi

Classi diVincoli I vincoli di integrità possono essere Intrarelazionali (su singole relazioni) Interrelazionali (coinvolgono varie relazioni)

Classi diVincoli Classi di vincoli intrarelazionali: di Tupla: verificabili sulla tupla singola di Dominio: restrizione sul dominio dell’attributo Globali: occorre considerare l’intera istanza

Vincoli di Integrità Referenziale Vincolo interrelazionale: relazioni in correlazione fra loro Mediante attributi comuni Modello relazionale: basato su valori

Il modello è basato su valori i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle ennuple

Vincoli di Integrità Referenziale Stesso nome? Non necessariamente Stessi valori? Si, è necessario che i valori che l’attributo comune assume nelle relazioni correlate siano consistenti Come assicurarlo? I valori dell’attributo comune devono essere significativi e univoci

Un esempio di incroci su valori Corso Aula Docente Rossi Basi di dati DS3 Bruni Reti N3 Neri Sistemi Controlli G Corsi Nome Piano Edificio OMI DS1 Terra Pincherle G Primo N3 Aule Aula DS3 non compare fra le Aule: vincolo intra-relazionale violato

Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 studenti esami Studente Voto Corso 3456 30 04 3456 24 02 9283 28 01 6554 26 01 Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi corsi

Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 studenti esami Studente Voto Corso 30 24 28 26 Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi corsi

Foreign Keys, Referential Integrity Foreign key : Set of fields in one relation that is used to `refer’ to a tuple in another relation. Must correspond to the primary key of the other relation. Like a `logical pointer’. If all foreign key constraints are enforced, referential integrity is achieved (i.e., no dangling references.)

Foreign Keys E.g. Only students listed in the Students relation should be allowed to enroll for courses. sid is a foreign key referring to Students: Enrolled Students 11111 English102 A

Vincoli di Integrità Referenziale FOREIGN KEY Date le relazioni R1 ed R2 Dato un insieme di attributi X di R1 Date due istanze di R1 ed R2 Il vincolo impone che: I valori di X in ciascuna tupla dell’istanza data di R1 Compaiano come valori della chiave primaria di una qualche tupla dell’istanza di R2

Vincoli di Integrità Referenziale Caso Base: chiave di R2 unica, con un solo attributo B X è composto da un solo attributo A  tupla t1  R1  tupla t2 R2: t1[A] = t2[B] Caso generale K = A1,A2,…,AR ordinati chiave di R2 X = B1,B2,…,BR ordinati  tupla t1  R1  tupla t2 R2: i  r t1[Bi] = t2[Ai]

Chiavi: Sommario Primary key Candidate key Alternate key Foreign key A unique identifier of a row in a relation Can be composite Candidate key An attribute (or set of attributes) that could be a primary key Alternate key A candidate key that is not selected as the primary key Foreign key An attribute of a relation that is the primary key of a relation