Basi di Dati. Informatica - G. Caminiti

Documenti analoghi
Basi di Dati Concetti Introduttivi

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati

Informatica per l Ambiente e il Territorio

Informatica per l Ambiente e il Territorio

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3

Che cos è l informatica?

Scopo. Informatica. Sistema informativo. Sistema informatico

Introduzione alle basi di dati: Il modello concettuale

Scopo Laboratorio di Informatica

Corso di Basi di Dati e Laboratorio Progettazione Web

Corso Informatica di Base. Basi di Dati

Informatica. per laurea triennale di area non informatica. 1 Le basi di dati

Informatica di Base - 6 c.f.u.

Elena Baralis 2007 Politecnico di Torino 1

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

SISTEMI INFORMATIVI E DATABASE

DataBase Management System - DBMS

Basi di dati (database)

INTRODUZIONE ALLE BASI DI DATI

Le basi di dati. Base di dati = dati + DBMS.

Introduzione alle Basi di Dati

Sistemi informativi D B M G. Introduzione. Introduzione alle basi di dati D B M G 2. Elena Baralis 2007 Politecnico di Torino 1

Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS

Elena Baralis 2007 Politecnico di Torino 1

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Informatica per le Scienze Umane. Introduzione al corso: programma

Basi di dati. Elena Baralis Politecnico di Torino

Elena Baralis 2007 Politecnico di Torino 1

IL PIANO DI QUALITA AZIENDALE

Informatica Introduzione alle basi di dati

PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE

Basi di dati (Sistemi Informativi)

Introduzione alle Basi di Dati

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi

Sistemi di Elaborazione delle Informazioni

Fondamenti di Teoria delle Basi di Dati

Informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere.

DATABASE. Struttura e operazioni. Un database (DB) è un insieme di file che memorizzano dati in modo strutturato

Corso di Basi di Dati/Laboratorio di Basi di Dati

I database. Introduzione alla teoria delle basi di dati

Corso di. Basi di Dati I. 2. Il modello relazionale

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1

Capitolo 13. Interrogare una base di dati

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Introduzione. Basi di Dati. Testo: Azteni e altri. Basi di Dati (II ed.). McGraw Hill. Maurizio Gabbrielli Ricevimento Martedi 14.

INTRODUZIONE AI DBMS. Inoltre i fogli elettronici. Mentre sono poco adatti per operazioni di. Prof. Alberto Postiglione

INTRODUZIONE AI DBMS

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Basi di dati. Concetti introduttivi

Fondamenti di Informatica A. A / 1 9

SQL QUERY: Le interrogazioni del database

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

Sistemi Informativi Corso di Laurea in Ingegneria dell Integrazione d Impresa (E-Business)

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

Mirco Nanni ISTI-CNR, Pisa. CdL in Lettere A.A. 2007/2008

Prof. Pagani corrado SISTEMI INFORMATIVI E DATABASE

DATABASE. Progettare una base di dati. Come organizzare un database?

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

LEZIONE BASI DI DATI I 22/10/2008 XML

SQL: le funzioni di aggregazione

Caratteristiche dei linguaggi per Database

Progettazione di Basi di Dati

BASE DI DATI. (accezione specifica) collezione di dati gestita da un DBMS. Università degli Studi di Cassino

Basi di Dati. Corso di Informatica. Memorizzazione dei Dati. Accesso ai Dati. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Corso di. Basi di Dati I. 1. Introduzione

Il modello relazionale dei dati. modello relazionale 1

QL (Query Language) Alice Pavarani

Corso di. Basi di Dati I. 1. Introduzione

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

GESTIONE DELLE INFORMAZIONI E BASI DI DATI

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Le Basi di Dati per i Beni culturali

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

Basi di dati. Docente Prof. Alberto Belussi. Anno accademico 2009/10

La progettazione concettuale

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno GESTIONE DEI DATI

Informatica II Basi di Dati (08/09) Parte Introduzione. Sistemi informativi e basi di dati. Sistemi informativi e basi di dati

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Corso di Informatica. Software di produttività personale e database. Ing Pasquale Rota

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

INTRODUZIONE AL MODULO DI BASI DI DATI. Patrizio Dazzi a.a

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

Liceo Scientifico V. Volterra Fabriano. Informatica Basi di dati Anno C Scienze Applicate Prof. Amedeo De Amicis

Fondamenti di Informatica

Basi di dati Basi di dati per bioinformatica

Structured Query Language

Informatica Grafica. Basi di dati parte 2

Cap. 1-I 1 I sistemi informatici

Prova Scritta di Basi di Dati

Viste come strumenti di programmazione

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Transcript:

Basi di Dati

Basi di dati e sistemi informativi Una base di dati è un insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente Azienda, ufficio, persona Un sistema informativo è una combinazione di risorse umane, materiali e di procedure per: la gestione la raccolta l archiviazione l elaborazione lo scambio delle informazioni necessarie per le attività di un ente.

Sistema informativo, commenti Ogni organizzazione ha un sistema informativo, eventualmente non esplicitato nella struttura Quasi sempre, il sistema informativo è di supporto ad altri sottosistemi, e va quindi studiato nel contesto in cui è inserito Il sistema informativo è di solito suddiviso in sottosistemi (in modo gerarchico o decentrato), più o meno fortemente integrati

Sistema organizzativo Insieme di risorse e regole per lo svolgimento coordinato delle attività (processi) al fine del perseguimento degli scopi

Risorse le risorse di una azienda (o ente, amministrazione): persone denaro materiali informazioni

Sistema organizzativo e sistema informativo Il sistema informativo è parte del sistema organizzativo Il sistema informativo esegue/gestisce processi informativi (cioè i processi che coinvolgono informazioni)

Sistemi informativi e automazione Il concetto di sistema informativo è indipendente da qualsiasi automatizzazione: esistono organizzazioni la cui ragion d essere è la gestione di informazioni (p. es. servizi anagrafici e banche) e che operano da secoli

Sistema Informatico porzione automatizzata del sistema informativo: la parte del sistema informativo che gestisce informazioni con tecnologia informatica

Sistema Informatico Sistema azienda Sistema organizzativo Sistema informativo Sistema informatico

Gestione delle informazioni Raccolta, acquisizione Archiviazione, conservazione Elaborazione, trasformazione, produzione Distribuzione, comunicazione, scambio

Gestione delle informazioni Nelle attività umane, le informazioni vengono gestite in forme diverse: idee informali linguaggio naturale (scritto o parlato, formale o colloquiale, in varie lingue) disegni, grafici, schemi numeri e codici e su vari supporti mente umana, carta, dispositivi elettronici

Gestione delle informazioni Nelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi nome e cognome estremi anagrafici codice fiscale

Informazioni e dati Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati

Informazioni e dati informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati

Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo e il suo indice (magari solo capitoli numerati) Informazione strutturata Molta struttura, contenuto rigidamente codificato (es. schedario di una biblioteca, elenco telefonico) I sistemi informativi delle organizzazioni, le basi di dati in generale

Dati e informazioni Un esempio: Mario 275 su un foglio di carta sono due dati e non significano molto Se il foglio di carta viene fornito in risposta alla domanda A chi mi devo rivolgere per il problema X; qual è il suo numero di telefono?, allora i dati possono essere interpretati per fornire informazione e arricchire la conoscenza

Perché i dati? La rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile I dati costituiscono spesso una risorsa strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani): ad esempio, i dati delle banche o delle anagrafi

Base di dati (accezione generica, metodologica) Insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente (azienda, ufficio, persona) (accezione specifica, metodologica e tecnologica) insieme di dati gestito da un DBMS

Sistema di gestione di basi di dati DataBase Management System (DBMS) Sistemi software in grado di gestire collezioni di dati che sono Molto grandi Condivise da più utenti e più applicazioni Persistenti: il ciclo di vita dei dati non è limitato alle singole esecuzioni dei dati che li usano

Tabelle come modo per organizzare i dati

Problema: le tabelle non hanno vincoli

Tabelle: un tipo speciale di liste Un database (DB) registra dati Un database relazionale utilizza tabelle e descrive le relazioni fra i differenti tipi di dati In un database le tabelle sono come le liste in uno spreadsheet, ma con l aggiunta di vincoli i vincoli limitano il tipo di dati che possono essere inseriti nel DB, ma rendono possibile eseguire operazioni molto più complesse e potenti

Entità Qualsiasi cosa possa essere identificata da un numero prefissato di caratteristiche (attributi) Gli attributi hanno un nome e un valore I valori rappresentano i dati memorizzati nella tabella Per create una tabella si specifica il nome dell entità (ovvero della tabella), i suoi attributi e il tipo di valore che si può inserire in ogni attributo

Proprietà delle entità Istanze di tabelle: Una tabella è inizialmente vuota. Ha un nome e intestazioni di colonna (i nomi degli attributi) ma le righe sono vuote Ogni riga rappresenta un entità Un istanza di database è una tabella con un insieme specifico di righe

Proprietà delle entità (cont.) Strutture, contenuti e metadati separiamo la struttura dell informazione dall informazione stessa i metadati di una tabella includono almeno il suo nome, i nomi degli attributi, il tipo di valori che ogni attributo può assumere e la chiave primaria alcune proprietà non sono metadati: l ordine delle righe ad esempio non è importante

Proprietà delle entità (cont.) Unicità delle entità una tabella di database non può avere righe duplicate dev esserci almeno una caratteristica distintiva per ogni entità alcune caratteristiche possono essere uguali, ma non tutte

Proprietà delle entità (cont.) Chiavi qualsiasi insieme di attributi per cui le entità sono tutte diverse si chiama chiave candidata ne scegliamo una e la chiamiamo chiave primaria una chiave dev essere in grado di distinguere tutte le possibili entità, non solo quelle presenti nel particolare stato corrente della tabella se nessuna combinazione di attributi si qualifica chiave candidata, occorre assegnare a ogni entità un codice numerico distinto (ID) pensiamo ad esempio ai numeri di matricola assegnati agli studenti dall università

Creare lo schema come si dovrebbe costruire uno schema per le tabelle dell esempio iniziale (arcipelaghi)? Arcipelaghi Nome Oceano Num_Isole Character,20 Character,20 Integer Chiave primaria: Nome

Operazioni sulle tabelle L uso principale dei database è la ricerca di informazioni gli utenti specificano cosa vogliono sapere e il database lo trova le operazioni fondamentali applicabili alle tabelle sono cinque: selezione, proiezione, unione, differenza e prodotto

Operazioni sulle tabelle (cont.) l operazione di selezione prende alcune righe di una tabella per crearne un altra si deve specificare la tabella da cui prelevare le righe e il test di selezione sintassi: Select Test From Tabella il Test è applicato a ogni riga per decidere se includerla o no nella tabella risultato il Test usa nomi degli attributi, costanti numeriche e operatori relazionali se il Test è verificato, la riga è aggiunta nella tabella risultato; altrimenti è ignorata

Select Interesse= Spiagge From Nazioni

Studenti di Giurisprudenza Cognome Nome Matricola CdL Punteggio Rossi Mario 123456 G 90 Verdi Carlo 182839 G 100 Neri Giorgio 162384 SE 70 Bianchi Giuseppe 138927 SE 80

Es. Selezione Select CdL= G From Studenti Cognome Nome Matricola CdL Punteggio Rossi Mario 123456 G 90 Verdi Carlo 182839 G 100

Operazioni sulle tabelle (cont.) L operazione di proiezione prende alcune colonne di una tabella esistente e ne crea un altra si deve specificare il nome della tabella esistente e le colonne (il nome dei campi) da includere nella nuova tabella sintassi: Project Lista_di_campi From Tabella la nuova tabella avrà il numero di colonne specificato e lo stesso numero di righe di quella originale, a meno che la nuova tabella elimini un campo chiave: in questo caso, eventuali righe duplicate nella nuova tabella saranno eliminate

Project Nome, Dom, Interesse from Nazioni

Project Interesse from Nazioni Interesse Spiagge

Es. Proiezione Project Cognome, Nome FROM Studenti Cognome Nome Rossi Mario Verdi Carlo Neri Giorgio Bianchi Giuseppe

Operazioni sulle tabelle (cont.) L operazione di unione combina due tabelle (che hanno gli stessi attributi) sintassi: Tabella1 + Tabella2 L operazione di differenza rimuove da una tabella tutte le righe contenute in una seconda tabella sintassi: Tabella1 - Tabella2 L operazione di prodotto crea una super-tabella che ha tutti i campi di entrambe le tabelle originali combina tutte le righe sintassi: Tabella1 x Tabella2

Es. Unione e Differenza Scienze_Economiche = (Select CdL= SE From Studenti) Giurisprudenza = (Select CdL= G From Studenti) Facoltà = Scienze_Economiche + Giurisprudenza Giurisprudenza = Studenti Scienze_Economiche

Prodotto (Docenti) Cognome Nome Materia CdL Saitta Roberto Dir. Amministrativo G Liguori Pasquale Dir. Civile G Quattrone Antonio Informatica SE Rossi Sandro Dir. Navigazione SE Morabito Nicola Storia Dir. Romano G

Es. Prodotto (Studenti x Docenti) Cognome Nome Matricola CdL Punti Cognome1 Nome1 Materia CdL2 Rossi Mario 123456 G 90 Saitta Roberto Dir. Amm. G Rossi Mario 123456 G 90 Liguori Pasquale Dir. Civile G Rossi Mario 123456 G 90 Quattrone Antonio Informatica SE Rossi Mario 123456 G 90 Rossi Sandro Dir. Nav. SE Rossi Mario 123456 G 90 Morabito Nicola St.Dir.Rom. G Verdi Carlo 182839 G 100 Saitta Roberto Dir. Amm. G Verdi Carlo 182839 G 100 Liguori Pasquale Dir. Civile G Verdi Carlo 182839 G 100 Quattrone Antonio Informatica SE Verdi Carlo 182839 G 100 Rossi Sandro Dir. Nav. SE Verdi Carlo 182839 G 100 Morabito Nicola St.Dir.Rom. G

L operazione di join Combina due tabelle, come il prodotto, ma non produce necessariamente tutte le combinazioni di righe se le tabelle hanno un campo che contiene lo stesso tipo di dato, la nuova tabella concatena solo le righe in cui c è una corrispondenza su quel campo sintassi:

L operazione di join (cont.) Corrispondenza è un confronto che considera un particolare attributo di ogni tabella Il sistema verifica se i campi corrispondenti nelle due tabelle contengono lo stesso dato; in tal caso viene creata una riga nella tabella risultato

Es. Join Studenti Docenti On CdL Cognome Nome Matricola CdL Punti Cognome1 Nome1 Materia Rossi Mario 123456 G 90 Saitta Roberto Dir. Amministrativo Rossi Mario 123456 G 90 Liguori Pasquale Dir. Civile Rossi Mario 123456 G 90 Morabito Nicola Storia Dir. Romano Verdi Carlo 182839 G 100 Saitta Roberto Dir. Amministrativo Verdi Carlo 182839 G 100 Liguori Pasquale Dir. Civile Verdi Carlo 182839 G 100 Morabito Nicola Storia Dir. Romano Neri Giorgio 162384 SE 70 Quattrone Antonio Informatica Neri Giorgio 162384 SE 70 Rossi Sandro Dir. Navigazione Bianchi Giuseppe 138927 SE 80 Quattrone Antonio Informatica Bianchi Giuseppe 138927 SE 80 Rossi Sandro Dir. Navigazione

Lo schema di un database I metadati di una tabella sono chiamati schema del database struttura e progetto Immaginiamo un DB universitario con due tabelle, Studente e Residenza:

Collegare tabelle mediante relazioni Le due tabelle sono distinte, ma non indipendenti Il Num_Matricola le collega si dice che tra le due entità c è una relazione corrispondenza tra le righe le relazioni fanno parte dei metadati la relazione è bidirezionale (possiamo trovare l indirizzo per ogni studente ma anche lo studente per ogni indirizzo)

Ricostruire le tabelle con il join Le relazioni tra due tabelle permettono di costruirne una terza (Lista_Master) che contiene le informazioni combinate di entrambe le tabelle utilizziamo l operazione di join naturale Lista_Master = Studente >< Residenza On Num_Matricola

Linguaggi di interrogazione: SQL SQL (Structured Query Language): è un linguaggio standard di uso larghissimo fornisce una struttura specifica di query per tecniche come join più sfoltimento ogni venditore usa un proprio dialetto SQL, ma le interrogazioni semplici sono più o meno uguali: SELECT FROM WHERE lista di campi tabella/e vincoli sulle righe

La clausola ON di SQL Dopo il SELECT c è una lista di campi Il FROM specifica le tabelle da riunire nel Join, la clausola ON il campo da usare come riferimento per far corrispondere le righe

La clausola WHERE di SQL La clausola WHERE permette di specificare condizioni sulle righe: il Preside ad esempio vuole vedere solo gli studenti con una media uguale o superiore al 28

Diagrammi entità-relazione La creazione di nuove tabelle coinvolge relazioni Le relazioni entrano a far parte dello schema di un database per indicare le connessioni tra le informazioni; i join le realizzano in pratica Se c è una relazione, probabilmente sarà applicata nella costruzione del database logico Gli amministratori di un database ne documentano la struttura riportando su un diagramma le relazioni

Diagrammi entità-relazione (cont.)

Diagrammi entità-relazione (cont.) Relazioni uno-a-uno ogni riga della prima entità è associata al più a una riga della seconda entità Relazioni uno-a-molti molte righe della prima entità possono essere associate a una singola riga della seconda entità Nei diagrammi ER questi tipi di relazione possono essere rappresentati in modi diversi