Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.

Slides:



Advertisements
Presentazioni simili
DB - Modello relazionale dei dati
Advertisements

Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DBMS (DataBase Management System)
Sicurezza e concorrenza nelle basi di dati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Algebra relazionale Presentazione 12.1
Una Introduzione alle Basi di Dati
UNIVERSITÀ DEGLI STUDI DI TERAMO FACOLTÀ DI SCIENZE DELLA COMUNICAZIONE MASTER UNIVERSITARIO DI I LIVELLO - COMUNICAZIONE e DIVULGAZIONE SCIENTIFICA Direttore.
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
Sistemi per Basi di Dati: Introduzione
Semantica delle Informazioni
Basi di Dati prof. A. Longheu
Gestione Dati & Archivi
ESEMPI DI ARCHIVI DI DATI
La Modifica dei Dati in una Base Dati La modifica dei dati contenuti allinterno di una base dati è unoperazione delicata Infatti, ogni potenziale problema.
Microsoft Office: Access OpenOffice: Base
L’uso dei database in azienda
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
Corso di Informatica (Basi di Dati)
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
SQL Per la modifica di basi di dati
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
MODELLO RELAZIONALE.
Le transazioni Itis Max Planck.
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.
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.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Basi di dati Claudia Raibulet
Progettare un database
Docente: Roberto Basili Fond Inf (a.a ) Introduzione alla Progettazione Concettuale R. Basili.
Dottorato di ricerca Nuove Tecnologie e Informazione Territorio – Ambiente Nozioni fondamentali di Basi di Dati Seminario interno.
Introduzione a Oracle 9i
Basi di Dati e Sistemi Informativi
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.
DATABASE Introduzione
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:
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:
DB- Sistemi Informativi
Il modello relazionale (II). Informazione incompleta e valori nulli In una tupla di una relazione un attributo può non avere valore Per esempio: Mario.
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Microsoft Access Query (II), filtri.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
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 :
BASI DI DATI. 2 Sommario Introduzione e obiettivi Introduzione e obiettivi Il modello di dati relazionale Il modello di dati relazionale SQL SQL Software.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
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.
Progettazione di una base di dati relazionale Vincoli.
Basi di dati: introduzione parte prima Ernesto Damiani.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
DB- Sistemi Informativi Insieme di programmi in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
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.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Introduzione alle basi di dati e ai sistemi di gestione di basi di dati.
Transcript della presentazione:

Introduzione alle Basi di Dati

Overview

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 I sistemi informativi delle organizzazioni, le basi di dati

DBMS (database management system) Obiettivo: gestione strutturata di dati, organizzati in modo omogeneo. Base di dati: Collezione di dati organizzati in modo coerente (un insieme casuale di dati non è una base di dati !) Modella alcuni aspetti del mondo reale Costruito con funzionalità ben precise, note fin dallinizio della progettazione.

Basi di dati: operazioni Definizione della base di dati quali informazioni (struttura) quali relazioni tra le informazioni Manipolazione inserimento di dati cancellazione di dati aggiornamento (update) interrogazione Protezione e sicurezza dei dati

Esempio di Tabella NomeCognomeTelefono… MarioRossi050 90…… LuigiBianchi06 499…… GuidoLa Vespa02 009…… Nomi di Attributi Schema tuple Notazione: La tabella Rubrica è anche indicata con la notazione: Rubrica (Nome, Cognome, Telefono, …)

In ogni modello esistono Lo schema: la descrizione della struttura stabile nel tempo Listanza: i valori (cioè i dati) variabile nel tempo MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/ NeriPaolo03/11/ RossiMaria01/02/ VerdiLuisa12/11/1979 studenti

MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/ NeriPaolo03/11/ RossiMaria01/02/ VerdiLuisa12/11/1979 studenti CodiceTitoloDocente 01AnalisiSempronio 02ChimicaBruni 04ChimicaVerdi corsi StudenteVotoCorso esami Relazioni e Attributi: esempio

Relazioni e Attributi: esempio…

Modello relazionale

Modello relazionale dei dati i dati sono organizzati in tabelle la tabella è un insieme di record (ennuple) con un insieme di attributi di tipi opportuni (numeri, stringhe, date …) i dati in tabelle diverse sono correlati sulla base dei valori (chiavi)

Modello relazionale Relazione su due insiemi A e B sottoinsieme del prodotto cartesiano A x B Esempio sposato_con incluso in Persone x Persone figlio_di incluso in Persone x Persone vive_a incluso in Persone x Città

Esempio di relazione Persone= {Paolo, Luca,Mario} Città={Torino,Roma} PersoneCittà PaoloTorino LucaRoma PersonexCittà Vive_a PersoneCittà PaoloTorino PaoloRoma LucaTorino LucaRoma

Relazioni e Attributi Attributi: nomi che specificano un ruolo in una relazione, esempi: sposato_con(Marito, Moglie) figlio_di(Figlio, Genitore) vive_a(Nome,Citta,Provincia) libro(N.Inv, Autore, Titolo, Anno_edizione, Casa_editrice, Collocazione) Gli attributi devono avere nomi differenti

Vincoli

Vincoli sulle relazioni I valori contenuti nelle tabelle possono essere soggetti a vari tipi di vincoli che dipendono dalla realtà che si vuole rappresantare: vincoli di dominio: valori dei singoli Attributi vincoli di tupla: valori di attributi correlati in una tupla vincoli di integrità valori di attributi in tuple diverse (anche in relazioni diverse)

Vincoli di dominio vincoli sui valori dei singoli attributi (vincoli di dominio), es: dato ESAMI(Studente,Voto, Lode,Corso) deve essere: Voto >=18 AND Voto <=30 Vincoli sul valore di un attributo data

Vincoli di tupla vincoli sui valori di attributi correlati, es Data la relazione ESAMI come prima deve essere: not (Lode = Yes) OR Voto = 30 equivalente a Lode= No OR Voto = 30 Data la relazione PAGAMENTI(Data,Importo,Ritenute,Netto) deve essere: Netto = Importo - Ritenute

Esempio complesso di vincoli Supponiamo che STUDENTE contenga anche gli attributi Borsa di Studio: valori {Yes, No} Reddito (della famiglia): euro Residente (nella città sede univ.): {Yes, No} Uno studente ha diritto ad una borsa se: ha una media >= 27 e un reddito <= 20000, Oppure non è residente e ha una media >= 25 e un reddito <=25000

Relazioni tra tabelle In una base di dati relazionale le tabelle sono collegate tra loro tramite attributi comuni Esempio: Il collegamento tra la relazione LIBRI e la relazione CASE_EDITRICI può essere espressa mediante l attributo Numero di inventario. Uso di chiavi primarie per evitare replicazione di dati. Tabelle organizzate per contenere dati omogenei di entità di informazioni ritenute interessanti (Persone, Comuni…).

Funzionalità DBMS

Funzioni per: definizione della base di dati inserimento / rimozione /aggiornamento di informazioni deve soddisfare i vincoli! Interrogazione

Creazione tabelle: Chiavi primarie CREATE TABLE Studenti ( Matricola integer, Cognome string, Nome string, Data di nascita integer, Primary Key (Matricola); );

MatricolaCognomeNomeData di nascitastudenti Creazione Tabelle Chiavi primarie: esempio

Creazione tabelle: Chiavi primarie CREATE TABLE Corsi ( Codice integer, Titolo string, Docente string, Primary Key (Codice); );

MatricolaCognomeNomeData di nascitastudenti CodiceTitoloDocentecorsi Creazione Tabelle Chiavi primarie: esempio

Creazione tabelle: Chiavi primarie e chiavi esterne CREATE TABLE Esami ( ID integer, Studente integer, Voto integer, Corso integer, Primary Key (ID), Foreign Key (Studente) references Studenti(Matricola), Foreign Key (Corso) references Corsi(Codice)); );

MatricolaCognomeNomeData di nascitastudenti CodiceTitoloDocentecorsi StudenteVotoCorso esami Creazione Tabelle Chiavi esterne: esempio Id

MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/ NeriPaolo03/11/ RossiMaria01/02/ VerdiLuisa12/11/1979 studenti CodiceTitoloDocente 01AnalisiSempronio 02ChimicaBruni 04ChimicaVerdi corsi StudenteVotoCorso esami Inserzione dati: esempio Id

Interrogazioni Linguaggio SQL Produce come risultato una tabella Agisce su insiemi (di tuple) e restituisce insiemi (di tuple). Per tale motivo le interrogazioni possono essere annidate. Clausola Base SELECT Lista di attributi FROM Elenco relazioni WHERE Condizione

Esempi di query SELECT Docente FROM Corsi WHERE Titolo=Chimica Docente 01AnalisiSempronio Bruni CodiceTitolo 02Chimica 04Chimica Verdi corsi Quale il nome di tutti i docenti che insegnano chimica?

Esempi di query MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/ RossiMaria01/02/ NeriPaolo03/11/ VerdiLuisa12/11/1979 studenti Quale il nome e il cognome degli studenti con numero di matricola >7000 ?

Esempi di query SELECT Cognome, Nome FROM Studenti WHERE Matricola <7000 MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/ RossiMaria01/02/ NeriPaolo03/11/ VerdiLuisa12/11/1979 studenti Quale il nome e il cognome degli studenti con numero di matricola >7000 ?

Esempi di query SELECT Studente FROM Esami WHERE Corso=01 AND Voto>27 Studente 9283 esami VotoCorso 2801 Id Quale lo studente Che ha superato il corso 01 con voto >27 ?

Join Join: combinare le tuple di più tabelle i cui valori per attributi correlati soddisfano una condizione di confronto Il join di due relazioni è il sottoinsieme del loro prodotto cartesiano specificato dalla condizione di selezione Relazioni tra tabelle e Join Le relazioni tra tabelle sono espresse da valori comuni di attributi correlati

Join: Example SELECT Studenti.Nome, Studenti.Cognome FROM Studenti, Esami WHERE Studenti.Matricola=Esami.studenti AND Esami.corso=01 AND Esami.voto>27 MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/ NeriPaolo03/11/ RossiMaria01/02/ VerdiLuisa12/11/1979 studenti StudenteVotoCorso esami Id

Conclusioni

CONTROLLO DEI DATI: LE TRANSAZIONI Definizione Una transazione è una sequenza di azioni di lettura e scrittura in memoria permanente e di elaborazioni di dati in memoria temporanea, con le seguenti proprietà: Atomicità: Le transazioni che terminano prematuramente (aborted transactions) sono trattate dal sistema come se non fossero mai iniziate; pertanto eventuali loro effetti sulla base di dati sono annullati. Consistenza: i vincoli vengono rispettati. Serializzabilità (isolation): Nel caso di esecuzioni concorrenti di più transazioni, leffetto complessivo è quello di una esecuzione seriale. Persistenza (durability): Le modifiche sulla base di dati di una transazione terminata normalmente sono permanenti, cioè non sono alterabili da eventuali malfunzionamenti.

FUNZIONALITÀ DEI DBMS: MECCANISMI PER IL CONTROLLO DEI DATI Una caratteristica molto importante dei DBMS è il tipo di meccanismi offerti per garantire le seguenti proprietà di una base di dati: Integrità, sicurezza e affidabilità. Integrità: mantenimento delle proprietà specificate in modo dochiarativo nello schema (vincoli dintegrità) Sicurezza: protezione dei dati da usi non autorizzati Affidabilità: protezione dei dati da malfunzionamenti hardware o software (fallimenti di transazione, di sistema e disastri) e da interferenze indesiderate dovute allaccesso concorrente ai dati da parte di più utenti.

RIEPILOGO DEI VANTAGGI DEI DBMS Indipendenza dei dati Recupero efficiente dei dati Integrità e sicurezza dei dati Accessi interattivi, concorrenti e protetti dai malfunzionamenti Amministrazione dei dati Riduzione dei tempi di sviluppo delle applicazioni La riduzione dei costi della tecnologia e i possibili tipi di DBMS disponibili sul mercato facilitano la loro diffusione.