Sei sulla pagina 1di 36

Introduzione alle basi di dati

Definizioni fondamentali

Docente: Prof. William FORNACIARI


fornacia@elet.polimi.it

Informatica IV anno

Introduzione
La raccolta, lorganizzazione e la conservazione dei dati sono sempre stati uno dei principali compiti dei sistemi informatici. Esempi:
Dati degli utenti di una banca Prenotazione dei voli aerei di una compagnia

I sistemi informatici devono garantire:


Memorizzazione (grandi quantit di dati) Aggiornamento Accesso (a molteplici utenti contemporaneamente)

Le basi di dati servono a risolvere questi problemi: oggi vedremo cosa sono e quali caratteristiche presentano...

Definizioni fondamentali per le basi di dati

-2-

Informatica IV anno

Sistemi informativi e informatici


Nello svolgimento di unattivit essenziale la disponibilit di informazioni e la loro gestione efficace Un sistema informativo organizza e gestisce le informazioni necessarie per perseguire gli scopi dellinformazione stessa
NOTA. Non necessariamente automatizzato. Es. Le banche, gli ospedali e i medici stessi hanno archivi da molto pi tempo dellesistenza dei computer!

Definizioni fondamentali per le basi di dati

-3-

Informatica IV anno

Sistemi informativi e informatici


Un sistema informatico la porzione automatizzata di un sistema informativo La diffusione dellinformatica fa si che spesso i sistemi informativi siano anche sistemi informatici necessario strutturare e organizzare la conoscenza per poi poterla rappresentare

Definizioni fondamentali per le basi di dati

-4-

Informatica IV anno

Dati e informazioni
Le informazioni sono elementi che consentono di arricchire la nostra conoscenza del mondo e spesso devono essere organizzate e rappresentate
Es. lingua scritta, disegni, numeri,...

Nei sistemi informatici le informazioni vengono rappresentate per mezzo di dati


...i dati da soli non hanno alcun significato, ma una volta interpretati e correlati opportunamente essi forniscono informazioni... Es. Fornaciari e 269 scritti su un foglio sono due dati, se il foglio lelenco degli interni del palazzo ne otteniamo una informazione
Definizioni fondamentali per le basi di dati -5Informatica IV anno

Prima definizione di Base di Dati


Base di Dati (Database): Collezione di dati

utilizzati per rappresentare le informazioni di interesse di un sistema informativo


NOTA
I dati hanno caratteristiche pi stabili rispetto alle procedure/processi che operano su di essi Questa stabilit dimostra
limportanza dei dati: sono una risorsa fondamentale dellazienda Limportanza delle Basi di Dati

Definizioni fondamentali per le basi di dati

-6-

Informatica IV anno

Sistemi tradizionali
Lapproccio convenzionale alla gestione dei dati sfrutta i file (archivi) per memorizzare i dati su memorie di massa I file consentono di memorizzare in modo semplice, ma non hanno meccanismi adeguati per laccesso e la condivisione dei dati Esempio 1: archivio anagrafico in un file di testo. Problemi: gestione modifiche, ricerche, ...
Definizioni fondamentali per le basi di dati -7-

Le basi di dati vogliono superare questo inconveniente...


Informatica IV anno

Sistema di gestione di basi di dati Una BASE DATI una collezione di dati gestita da un DBMS Un Sistema di gestione di basi di dati (DBMS - Data Base Management System) un sistema software...
In grado di gestire collezioni di dati che siano Grandi, Condivise, Persistenti Assicurando Affidabilit, Privatezza In modo Efficiente ed Efficace

Definizioni fondamentali per le basi di dati

-8-

Informatica IV anno

Caratteristiche (1)
Grandi I dati hanno dimensioni maggiori della memoria centrale I DBMS devono gestire i dati in memoria secondaria Condivise I dati devono poter essere usati da applicazioni e utenti diversi secondo proprie modalit Persistenti I dati durano nel tempo, oltre le singole applicazioni
Definizioni fondamentali per le basi di dati -9Informatica IV anno

Caratteristiche (2)
Affidabilit I DBMS devono conservare i dati anche in caso di malfunzionamenti HW e SW (backup e recovery) Privatezza I DBMS devono consentire ad ogni utente solo le azioni di sua competenza (meccanismi di autorizzazione) Efficienza I DBMS devono operare in modo da richiedere risorse (tempo e spazio) accettabili per gli utenti Efficacia I DBMS devono rendere produttive le attivit degli utenti (fornendo i servizi di cui necessitano)

Definizioni fondamentali per le basi di dati

- 10 -

Informatica IV anno

Confronto File System e DBMS


Non esiste una linea netta di separazione fra file system e DBMS I DBMS estendono le funzioni di un file system fornendo accesso condiviso da parte di diversi utenti e applicazioni e numerosi altri servizi in modo integrato (efficacia)
DATI FILE SYSTEM DATI
PROGRAMMA PROGRAMMA APPLICATIVO APPLICATIVO

DATI

PROGRAMMA PROGRAMMA APPLICATIVO APPLICATIVO

PROGRAMMA PROGRAMMA APPLICATIVO APPLICATIVO

DBMS DATI
PROGRAMMA PROGRAMMA APPLICATIVO APPLICATIVO

DATI

DATI

DATI
- 11 PROGRAMMA PROGRAMMA APPLICATIVO APPLICATIVO Informatica IV anno

Definizioni fondamentali per le basi di dati

RICORDA... I dati sono una risorsa preziosissima


Linformazione potere (e le informazioni sono estratte dai dati...) I dati sono alla base del lavoro di molte aziende (praticamente tutte...) Internet si basa fortemente sui dati e sulle informazioni che ne derivano

Per questo motivo le basi di dati e i sistemi che li gestiscono (DBMS) hanno un importanza fondamentale
Definizioni fondamentali per le basi di dati - 12 Informatica IV anno

Riassumendo...

Fattura Scheda fornitore Ordine Scheda cliente Scheda prodotto

Informazioni
Definizioni fondamentali per le basi di dati - 13 -

Dati

Servizi
Informatica IV anno

Modello dei dati Per gestire i dati tramite un sistema informatico necessario organizzarli e descriverne la struttura Il modello logico dei dati un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo che essa sia comprensibile ad un elaboratore
Ogni modello fornisce i meccanismi di strutturazione per questo processo

Definizioni fondamentali per le basi di dati

- 14 -

Informatica IV anno

Cronologia dei modelli logici dei dati Modello gerarchico (anni 60) Modello reticolare (anni 70)
GERARCHICO RETICOLARE

Modello relazionale (anni 80) Modello a oggetti (anni 90) Modello XML (anni 00)
Definizioni fondamentali per le basi di dati - 15 Informatica IV anno

RELAZIONALE

Modello relazionale Il Modello Relazionale dei dati si basa sul costrutto di Relazione e consente di organizzare i dati per mezzo di record a struttura fissa
I dati sono organizzati in relazioni (Tabelle) Righe!record Libri Colonne!campi
Titolo I Promessi Sposi La Divina Commedia Harry Potter Autore Alessandro Manzoni Dante Alighieri J.K. Rowling

Definizioni fondamentali per le basi di dati

- 16 -

Informatica IV anno

Altri modelli logici (approfondimento) 1/2


Gerarchico I dati sono rappresentati come record Le associazioni tra i dati sono rappresentate con puntatori in una struttura ad albero
Studenti Nome Cognome Matricola Indirizzo Corsi Corso A.A. Docente Piani Di Studio Esame Docenti Nominativo Dipartimento
Definizioni fondamentali per le basi di dati - 17 -

Reticolare I dati sono rappresentati come record Le associazioni tra i dati sono rappresentate con puntatori in una struttura a grafo complesso

Studenti Voti Esami

101020;Cesare

28;10-10-1999

Geometria
Informatica IV anno

Altri modelli logici (approfondimento) 2/2


Oggetti
I dati sono rappresentati come oggetti aventi un uno stato e un comportamento
lo stato linsieme dei valori assunti dalle propriet delloggetto in generale un valore a struttura complessa il comportamento descritto dallinsieme dei metodi che possono essere applicati alloggetto

XML - eXtended Markup Language


Concezione originale: un meta linguaggio per la specifica di linguaggi di markup XML oggi: lanello di congiunzione tra HTML e i sistemi informativi
Definizioni fondamentali per le basi di dati - 18 Informatica IV anno

Modelli dei dati 1/2


Le strutture usate dai Modelli Logici riflettono una particolare organizzazione dei dati I DBMS commerciali usano i meccanismi forniti dal modello logico per organizzare i dati Es: DBMS relazionale rappresenta i dati usando le tabelle fondamentale che il modello logico sia Potente (espressivo) e Semplice (intuitivo) Esistono anche i Modelli Concettuali Usati per descrivere i concetti del mondo reale, non i dati utili a rapresentarli Sono usati in fase di analisi preliminare e poi mappati su un modello logico

Definizioni fondamentali per le basi di dati

- 19 -

Informatica IV anno

Modelli dei dati


1. Proget. Concettuale
Fatture Ordini dei clienti Indirizzi dei clienti Archivio prodotti in magazzino

2. Proget. Logica

Fatture

Ordini

Clienti

Magazzino

Requisiti

Modello concettuale (COSA)


- 20 -

Modello logico (COME)


Informatica IV anno

Definizioni fondamentali per le basi di dati

Schemi e istanze Le basi di dati sono costituite da: Schema


Parte invariante nel tempo Caratteristiche dei dati

DBMS relazionale Schema: struttura delle tabelle Istanza: righe delle tabelle
Libri
Titolo I Promessi Sposi La Divina Commedia Harry Potter Autore Alessandro Manzoni Dante Alighieri J.K. Rowling

Istanza o stato
Parte variabile nel tempo Valori effettivi dei dati
Definizioni fondamentali per le basi di dati

- 21 -

Informatica IV anno

Livelli di astrazione in un DBMS (1)

Con le nozioni di modello e schema possiamo esaminare come fatto un DBMS Esiste una proposta di architettura standard (ANSI/SPARC) per descrivere un DBMS articolata su tre livelli
Livello Esterno Livello Logico Livello Interno o Fisico

Per ogni livello esiste uno schema che lo descrive


Definizioni fondamentali per le basi di dati - 22 Informatica IV anno

Livelli di astrazione in un DBMS (2)

Utenti Livello Esterno Livello Logico Livello Fisico Amministratore

Vista esterna 1

Vista esterna 2

Vista esterna 3

Schema Logico

Schema Fisico

Definizioni fondamentali per le basi di dati

- 23 -

Informatica IV anno

Livello logico Descrive lintera base di dati secondo il modello logico adottato dal DBMS
In DBMS relazionali, lo schema logico espresso in termini di tabelle e loro struttura
Libri
Titolo I Promessi Sposi La colonna Infame La Divina Commedia Harry Potter Autore Alessandro Manzoni Alessandro Manzoni Dante Alighieri J.K. Rowling

Definizioni fondamentali per le basi di dati

- 24 -

Informatica IV anno

Livello Esterno Descrive una parte della base di dati secondo il modello logico adottato dal DBMS il livello a cui i vari utenti vedono la base di dati
Nei moderni sistemi costituito da un insieme di viste (visioni parziali e personalizzate)
Libri di Alessandro Manzoni
Titolo I Promessi Sposi La colonna Infame

NOTA: le viste riducono sia lo schema che listanza


- 25 Informatica IV anno

Definizioni fondamentali per le basi di dati

Livello Interno o Fisico Rappresenta lo schema logico per mezzo di strutture fisiche di rappresentazione
Utilizza file di tipo differente per rappresentare su memoria di massa il modello logico dei dati
Libri
Titolo Autore

NOTA: alla base si hanno comunque file, il DBMS consente di lavorare ad un livello di astrazione elevato...
Definizioni fondamentali per le basi di dati - 26 Informatica IV anno

Perch pi livelli?
Larchitettura a pi livelli garantisce lindipendenza dei dati Utenti e programmi possono lavorare ad un elevato livello di astrazione senza preoccuparsi dei dettagli implementativi Indipendenza Fisica Liv. Logico indipendente da Liv. Fisico Capacit di astrarre completamente dai meccanismi di gestione dei dati Posso interagire con il DBMS senza sapere come sono fisicamente memorizzati i dati (in quali file, su quali dischi,...) Indipendenza Logica Liv. Esterno indipendente da Liv. Logico Capacit di offrire una visione dei dati differente ad utenti differenti Posso creare nuove viste senza dover modificare la struttura logica e fisica dei dati
Definizioni fondamentali per le basi di dati - 27 Informatica IV anno

Linguaggi per le basi di dati (1) I linguaggi per le basi di dati servono ad effetuare operazioni su schemi e istanze
Linguaggi di Definizione dei Dati (DDL)
Definiscono gli schemi logici, esterni e fisici e le autorizzazioni per laccesso

Linguaggi per la Manipolazione dei Dati (DML)


Utilizzati per linterrogazione e laggiornamento delle istanze di basi di dati

Definizioni fondamentali per le basi di dati

- 28 -

Informatica IV anno

Linguaggi per le basi di dati (2)


Possono esserci diverse forme di linguaggi:
Linguaggi Interattivi
Es. SQL

Comandi interattivi in linguaggi di programmazione (Pascal, C, Cobol, Java, etc.)


Es. SQL embedded in Java

Comandi interattivi in linguaggi ad-hoc (per la creazione di form, menu, stampati,...)


Es. PL/SQL in ORACLE

Interfacce grafiche
Es. Interfacce di Access

Definizioni fondamentali per le basi di dati

- 29 -

Informatica IV anno

Linguaggi per le basi di dati (3)


Esempio SQL
Selezionare le aule dove si tengono i corsi di Patologia

SQL immerso in Java


// Load the driver (registers itself) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection c = DriverManager.getConnection( dbUrl, user, password); Statement s = c.createStatement(); // SQL code: ResultSet r =s.executeQuery( SELECT EMAIL + FROM PEOPLE WHERE + (EMAIL Is Not Null)); while(r.next()) { // Capitalization doesn't matter: System.out.println( r.getString("EMAIL") ); } s.close();

SELECT Aula FROM Corsi WHERE Nome=Patologia


Corsi Nome Aula Fisiologia Patologia N3 N3
- 30 -

Definizioni fondamentali per le basi di dati

Informatica IV anno

Utenti di un DBMS (1)


Progettisti e realizzatori di DBMS Progettisti della base di dati Definiscono lo schema della base di dati secondo il modello logico supportato dal DBMS Amministratori della base di dati (Data Base Administrator) Responsabile del controllo centralizzato e della gestione del sistema, delle prestazioni, dellaffidabilit, delle autorizzazioni Le funzioni del DBA includono anche (parte di) quelle di progettazione Programmatori delle applicazioni Definiscono e realizzano i programmi che accedono alle basi di dati

Definizioni fondamentali per le basi di dati

- 31 -

Informatica IV anno

Utenti di un DBMS (2)


Utenti
Utenti finali, eseguono applicazioni predefinite (transazioni) (es. loperatore di una banca) Utente casuale, che esegue interrogazioni (query) per mezzo di un linguaggio interattivo o tramite interfacce opportune

Definizioni fondamentali per le basi di dati

- 32 -

Informatica IV anno

Vantaggi di un DBMS I dati sono visti come una risorsa comune accessibili a tutti (con opportune forme di autorizzazione) I dati sono organizzati con un modello unificato e preciso I dati sono condivisi evitando ridondanze e inconsistenze Lindipendenza dei dati favorisce lo sviluppo di applicazioni pi flessibili e facilmente modificabili
Definizioni fondamentali per le basi di dati - 33 Informatica IV anno

Svantaggi di un DBMS I DBMS sono normalmente prodotti costosi e complessi in termini di


Risorse finanziarie necessarie per lacquisto Risorse informatiche per il loro utilizzo Risorse umane per saperli utilizzare

In situazioni con pochi utenti e pochi dati da gestire si possono utilizzare meccanismi convenzionali (file) o DBMS con funzionalit ridotte e utilizzabili da tutti

Definizioni fondamentali per le basi di dati

- 34 -

Informatica IV anno

Database relazionali Prodotti 1/2 (approfondimento)

Oracle MS SQL Server Costo Enterprise Edition Costo Enterprise Edition IBM DB2 Oracle 10i ~35.000 x proc. MySQL IBM DB2 ~20.000 x proc. PostgreSQL MS SQLServer2000 ~20.000 x proc.

Definizioni fondamentali per le basi di dati

Nota: per abbassare i costi si stanno anche affermando contratti di affitto annuale
- 35 -

Informatica IV anno

Database relazionali prodotti 2/2 (approfondimento)


RDBMS on the Windows server platform showed a slight improvement in 2003 with new license revenue reaching $2.8 billion, a 3.8 percent increase from 2002 The fastest growing segment in 2003 was RDBMS on the Linux platform. New license revenue for Linux RDBMS totaled $299.3 million in 2003, a 158 percent increase from 2002

Definizioni fondamentali per le basi di dati

- 36 -

Informatica IV anno