Basi di Dati

Click here to load reader

  • date post

    15-Mar-2016
  • Category

    Documents

  • view

    69
  • download

    0

Embed Size (px)

description

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. - PowerPoint PPT Presentation

Transcript of Basi di Dati

  • Basi di Dati

    Concetti ePrincipi Generali

    Stefania Costantini

  • Organizzazione dei Dati

    Archivi o fileProcedure di accesso in qualunque linguaggio di programmazioneDuplicazione dati:ridondanzaincoerenzaformati diversi dei dati

  • Organizzazione dei Dati

    Sistema di gestione di Basi di DatiData Base Management System (DBMS)Ha un proprio linguaggio basato su un proprio Modello di datiEvita ridondanza e incoerenza

    Base di Dati = Insieme di dati gestiti da un DBMS

  • DBMSBasi di Dati:GrandiCondivise (no ridondanza)DBMS garantisce:Persistenza (e fault-tolerance)Affidabilit Privatezza EfficienzaEfficacia = migliore produttivit

  • Modello dei DatiInsieme di concetti Descrizione dei DatiOrganizzazione dei DatiModello dei dati meccanismi di strutturazione

  • Modello dei DatiModello concettuale dei dati: contenuti struttura significato collegamenti, indipendentemente dallimplementazioneModello logico: rappresentazione formale dei dati implementabile da un DBMSModello fisico: allocazione sui dispositivi

  • Modello dei DatiModelli principali: (Logici)GerarchicoalberiReticolaregrafiRelazionalerelazioniA oggettirelazioni pi oggettiModelli concettuali:descrizione di alto livello dei dati indipendente dal modello logicoE R Entity Relationship

  • Schema BDDescrizione dellorganizzazione dei datiInvariante nel tempo (salvo riorganizzazione)Livelli di astrazioneSchema logico: descrizioneSchema fisico: implementazione schema logicoSchema esterno (Vista): astrazione da schema logico

  • Istanza BDDefinita su un dato schemaInsieme dei valori effettivi dei datiCambia nel tempoInserzione CancellazioneModifica

  • Indipendenza dei datiLutente interagisce con il DBA un certo livello di astrazioneSenza bisogno di conoscere i livelli sottostantiChe possono essere modificati

  • Indipendenza dei datiIndipendenza logicaInterazione con il livello esternoSenza conoscere schema logicoIndipendenza fisicaInterazione con il livello logicoSenza conoscere schema fisico (allocazione dei dati su)

  • Linguaggi per Basi di DatiData Definition Language (DDL)Definizione schemiDefinizione autorizzazioni di accesso

  • Linguaggi per Basi di DatiData Manipulation Language (DML)Aggiornamento istanze DBInserzione Cancellazione Modifica Estrazione informazioni da DB Interrogazione QueryDML Query Language SQL DDL + DML

  • Linguaggi per Basi di Dati

    Classi di Linguaggi:Interattivi testualiInterattivi graficiImmersi in altri linguaggi di programmazione

  • Linguaggi per Basi di Dati

    Interazione con Basi di DatiProgettisti e programmatoriAmministratore DB Administrator (DBA)Progetto ControlloAmministrazione Utentifinali: utilizzano frequentemente la BD con query predefinitecasuali: query non predefinite

  • Linguaggi per basi di dati Un altro contributo allefficacia: disponibilit di vari linguaggi e interfaccelinguaggi 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 DatiCostrutti 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 logicoSenza riferimenti al livello fisico (struttura realizzativa)

  • Why Study the Relational Model? Most widely used model.

    Legacy systems in older models e.g., IBMs IMSObject-oriented concepts have recently merged inobject-relational modelInformix, IBM DB2, Oracle 8iEarly work done in POSTGRES research project at Berkeley

  • Relazioni

    Insiemi D1, D2,,Dnfiniti o infiniti, detti dominiProdotto cartesianoP = D1 x D2 x x DnP = (v1, v2, , vn): i n vi Din upla o tupla

  • Relazioni

    Relazione R Pn grado o arit della relazionem numero delle tuple di R cardinalit della relazioneNelle Basi di Dati: cardinalit finita

  • TabelleRappresentazione grafica delle relazioniD1 = LAquila, Roma, PescaraD2 = Maria, CarloD1 x D2Una colonna per ogni dominio DiUna riga per ogni tupla

    LAquilaMariaLAquilaCarloRomaMariaRomaCarloPescaraMariaPescaraCarlo

  • TabelleRelazione R Cardinalit 2Le tuple sono distinteLe tuple non sono ordinate

    Residenza

    LAquilaMariaPescaraCarlo

  • AttributiI valori allinterno di una tupla sono ordinati(v1, v2, , vn)Rv1 D1, v2 D2, , vn DnAd ogni valore associamo un Nome, detto AttributoResidenza

    CITTAPERSONALAquilaMariaPescaraCarlo

  • Attributi

    D = D1,,DnDominix = {A1, A2, , An}AttributiDOM: xD associa Ai a Djassegna un dominio ad ogni attributoTupla: (A1,,An) (v1,, vn) vi Di

  • Basi di Dati Relazionali

    Composte da varie relazioniSotto forma di tabelleCollegate fra loro mediante Attributi comuninon necessariamente con lo stesso nomema con lo stesso valore

  • Basi di Dati Relazionali

    Vantaggi: schema logico indipendente dallimplementazioneComprensibilit Usabilit Portabilit Indipendenza fisica

  • Esempio di tabella

  • Basi di dati: schema e istanzaL'istanza della base di datiLo schema 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 istanzaIn ogni base di dati esistono:lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale)es.: le intestazioni delle tabelle listanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale)es.: il corpo di ciascuna tabella Ex

  • Modello RelazionaleSchema di relazioneSimbolo R: Nome della relazioneInsieme X = A1,,An: Nomi degli attributi (ognuno legato a un dominio DiNotazione: R(X)Schema di base di dati R = R1(X1),R2(X2),Rk(Xk)Ri distinti

  • Modello RelazionaleIstanza di Relazione su R(X)Insieme r di tuple su XIstanza di Base di dati su R:Insieme r = r1,,rk di relazioni, ri su Ri(Xi), i k

  • Modello RelazionaleTerminologia Attributi: lettere finali alfabeto X, Y, Z Insiemilettere iniziali alfabeto A, B, C attributi singoli X = A B C X = A, B, CRelazioni: R, S

    t[Y]: tupla t ristretta agli attributi dellinsieme Y

  • Modello RelazionaleValore nullo:Valore distinto, aggiuntivo rispetto ai dominiNULL = assenza di informazioni Valore non notoValore inesistente (non definito)Valore non significativo

  • (super) chiave

    Insieme di attributi che identifica univocamente una tuplaIn 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 minimalenon esiste K1 K superchiave

  • Chiavi

    Notare che:Nota1: per relazione R(X), X sempre superchiaveNota2: 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 ununica chiave primarianon sono ammessi valori nulli sugli attributi di KP

  • KeysKeys are a way to associate tuples in different relationsKeys are one form of integrity constraint (IC)

    EnrolledStudentsPRIMARY KeyFOREIGN Key

  • Vincoli di IntegritPropriet che devono essere soddisfatte dalle istanzePredicati (valore vero/falso)Selezionano istanze ammissibiliIntroducono Limitazione sui dominiCollegamenti obbligatori fra tabelleProibizione di valori nulliLimitazioni 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!

  • KeysKeys are a way to associate tuples in different relationsKeys are one form of integrity constraint (IC)

    EnrolledStudentsPRIMARY KeyFOREIGN Key

  • Vincoli di IntegritEsempio: vincolo di chiave relazione deve esistere una chiave primariaNo valori coincidenti per tuple diverseNo valori nulli su attributi componenti le chiavi

  • Classi diVincoli

    I vincoli di integrit possono essereIntrarelazionali (su singole relazioni)Interrelazionali (coinvolgono varie relazioni)

  • Classi diVincoli

    Classi di vincoli intrarelazionali:di Tupla: verificabili sulla tupla singoladi Dominio: restrizione sul dominio dellattributoGlobali: occorre considerare lintera istanza

  • Vincoli di Integrit Referenziale

    Vincolo interrelazionale: relazioni in correlazione fra loroMediante attributi comuniModello relazionale: basato su valo