|
Appunti informatica |
|
Visite: 2285 | Gradito: | [ Medio appunti ] |
Leggi anche appunti:Le basi di datiLe basi di dati Con il termine basi di dati indichiamo archivi organizzati Database & MysqlDatabase & Mysql La gestione dei dati è da sempre una delle attività più I Database RelazionaliI Database Relazionali allora cosa sono questi famigerati Database relazionali? |
Le basi di dati
Con il termine basi di dati indichiamo archivi organizzati in modo integrato attraverso tecniche di modellazione di dati gestiti dalle memorie di massa attraverso apposito software con l'obbiettivo di raggiungere la migliore efficienza nel trattamento e ritrovamento dei dati.
In pratica si costituisce una base di lavoro per utenti diversi con programmi diversi.
Di questi però deve essere garantita la consistenza degli archivi cioè devono essere effettivamente utilizzabili nelle applicazioni, inoltre devono essere protetti da qualsiasi danno ed è importantissima l'integrità, cioè le operazioni effettuate devono essere garantite in modo che possano accedere solo utenti autorizzati.
I prodotti software per la gestione dei database sono indicati con il termine DBMS(database management system).
L'importanza dei database è data dal fatto che favorisce l'utente, nel suo modo di vedere i dati liberandolo degli aspetti riguardanti la collocazione fisica delle registrazioni.
Inoltre dobbiamo tenere presenta la differenza tra database, come insieme di dati , e i DBMS come sistema per la gestione dei database.
I database inoltre possono anche non essere accentrati su un unico computer ma possono anche essere distribuiti su più memorie massa fisicamente lontane(in questo caso si parla di database distribuiti) ciò a patto che tutti siano collegati alla stessa rete aziendale
Il database è una collezione di dati logicamente correlati e condivisi, che ha lo scopo di soddisfare i fabbisogni informativi di una specifica organizzazione , i dati congiuntamente con la loro descrizione, sono gestiti da un unico sistema chiamato DBMS, che permette la gestione e ne regola gli accessi.
Un DBMS deve:
permettere la creazione di una nuova base di dati, definendo gli archivi che la compongono, la loro articolazione ecc.. ,attraverso un apposito linguaggio di definizione dei dati, ovvero DDL(data definition languege).
Facilitare gli utenti all'inserimento, cancellazione ecc.. ,Sfruttando uno specifico linguaggio di manipolazione dei dati detto DML(data manipulation language)
In fine l'astrazione delle informazioni, interrogando il database con l'apposito linguaggio di interrogazione,QL (query language)
Inoltre deve avere la:
facilita d'accesso: ritrovamento dei dati a grandi velocità anche se provengono più richieste da più utenti.
Indipendenza dalla struttura fisica dei dati: e possibile modificare i supporti con cui i dati sono registrati e le modalità di accesso alla memoria di massa.
Eliminazione della ridondanza: gli stessi dati non devono comparire più volte sugli archivi.
Eliminazione della inconsistenza: non può presentare campi uguali.
Integrità dei dati: previsti i controlli e operazioni sui dati per assicurarne la consistenza.
Utilizzo da parte di più utenti:i dati sono organizzati in un database e possono essere utilizzati da più utenti con i loro programmi consentendo una visione anche solo parziale del database.
Controllo della consistenza: le operazioni svolte avvengono in modo concorrente.
Sicurezza dei dati: sono previste procedure di controllo per la protezione dei dati.
Per comporre un database abbiamo bisogno dei dati che chiameremo metadati. Questi formeranno un catalogo di dati.
Il DBMS attinge alle informazioni e :
Realizza i controlli per garantire l'integrità dei dati.
Autorizza gli utenti agli accessi ai dati in base alle politiche di accesso.
Fornisce servizi per il controllo della consistenza.
I modelli per i database
Il database e un modello della realtà consideratà, proprio per questo ha bisogno di essere idealizzato con il modello concettuale, il modello migliore e il modello entità/associazione o E/R che individuano gli oggetti che la compongono dette entità, gli attributi che
rappresentano le caratteristiche delle entità e infine le associazioni che individuano le correlazioni logiche tra entità.
Un database inoltre può essere realizzato passando al modello logico.
Il database può essere immagazzinato in un unico file con un'unica struttura di dati, questa struttura è detta flat file che però è addatta solo per basi di dati semplici quindi per lo sviluppo di un database si devono distinguere:
Il modello gerarchico è particolarmente adatto per rappresentare situazioni nelle quali è possibile fornire all'insieme dei dati una struttura nella quale ci sono entità che stanno in alto ed entità che stanno in basso, secondo lo schema ad albero, nel quale i nodi rappresentano le entità e gli archi che a loro volta rappresentano le associazioni.
Un database gerarchico consiste in una collezione di record collegati da archi che rappresentano le associazioni.
Il modello reticolare : e entità rappresentano i nodi e le associazioni rappresentano gli archi di uno schema a grafo orientato: si tratta di un'estensione del modello ad albero gerarchico essendo consentite anche associazioni tra entità che stanno in basso, e non solo dall'alto verso il basso come avviene nel modello gerarchico
il Modello Relazionale rappresenta il database come un insieme di tabelle. Esso viene considerato attualmente il modello più semplice ed efficace perché è più vicino al modo consueto di pensare i dati e si adatta in modo naturale alla classificazione e alla strutturazione dei dati.
Le operazioni sui data base gerarchici e reticolari sono complesse, agiscono su singoli record che vengono identificati ti specificano i percorsi per ritrovarli. Questo tipo di approccio e chiamato procedurale. I sistemi relazionali adottano invece un approccio di tipo dichiarativo. Cioè viene spiegato cosa si vuole trovare.
I database orientali agli oggetti (oodb) sono database che gestiscono oggetti e classi. Sono diversi dai tradizionali database perché accettano sotto casi di oggetti, ogni oggetto ha una propria identità e utilizzano concetti tipici della programmazione ad oggetti, quali il metodo e l'ereditarietà.
Naturalmente i programmi rappresentano l'aspetto elaborato di una applicazione a i database l'aspetto informativo.
I database orientali agli oggetti consentono prestazioni avanzate rispetto alle caratteristiche relazionali.
La gestione dei database
Il DBMS(Database Managemen System) è il software che consente di costruire e gestire una base di dati, realizzandola nella pratica su memoria di massa a partire da un progetto a uno schema dei dati definiti a livello concettuale e tradotto poi in un modello logico dei dati.
Le figure che il DBMS, attraverso i suoi modelli software, è in grado di offrire agli utenti del data base sono raggrupate secondo i seguenti aspetti.
1) implementazione del modello logico sul sistema di elaborazione
definizione dei dati e delle strutture derivante dallo schema logico ( modello relazionale le tabelle) e definizioni di viste.
definizione dei sottoschemi legati alle applicazioni degli utenti di accedere ai soli dati che servono.
2) Organizzazione e interrogazione sulla base di dati
inserimento dei dati nel database (con operatori di modifica e cancellazione)
interfacciamento tra i programmi degli utenti e la base di dati
accesso ai dati contenenti nel database attraverso le interrogazioni.
3) controllo dell'integrità dei dati
4) sicurezza e protezione
5) garanzia che tutte le operazioni che compongono la transizione siano completamente e correttamente eseguite oppure che non ne sia eseguita nessuna.
Una transizione consiste in un insieme di operazioni di interrogazione o modifica del database che devono essere eseguite come se fosse un'unica operazione.
Inoltre il DBMS si occupa della gestione di un dizionario contenente informazioni su :
nomi e tabelle nelle colonne
associazioni
utenti e proprietari
autorizzazioni ed accessi ecc.
i linguaggi per il database
i comandi che il DBMS mette a disposizione possono essere classificati nelle seguenti categorie di linguaggi:
DDL(data definition language) viene usato per descrizioni dei dati, delle tabelle e delle viste.
Inoltre rappresenta lo strumento attraverso il quale l'utente, ordina al DBMS la struttura fisica del database.
Il DML(data multiplation language) tratta i dati contenuti nel database
Il linguaggio per le interrogazioni è chiamato Query language
A questo punto si parla di linguaggio per database intendendo un insieme si comandi che consente la facilità le operazioni di identificazione del database, manipolazione dei dati e di interrogazione. I linguaggi non procedurali per database sono SQL(structured query language) QBE( query by esemple)
Modellazione dei dati
L'UML, linguaggio unificato di modellazione, è u linguaggio grafico per visualizzar, specificare, costruire e documentare tutte le costruzioni di sistemi software.
L'UML (unifield modellin language) e la forma grafica che utilizzeremo.
La modellazione dei dati
Modellare i dati significa costruire una rappresentazione semplificata della realtà osservata o di un problema aziendale, individuando gli elementi caratterizzati e i legami intercorrenti fra essi.
La progettazione avviene a livelli diversi
Livello concettuale rappresenta la realtà dei dati e le relazioni tra essi attraverso uno schema.
Livello logico rappresenta in modo attraverso il quale i dati sono organizzati negli archivi elettronici.
Livello fisico rappresenta l'effetiva istallazione su archivi elettronici.
Il modelle concettuale viene definito attraverso lo schema dei dati, cioè una rappresentazione sintetica degli elementi fondamentali, ciò indipendentemente da:
i valori che verranno assegnati ai dati
dalle applicazioni degli utenti
il modello logico facilitò la struttura attraverso
la manipolazione dei dati(inserimento, modifica, cancellazione,ecc..)
l'interrogazione cioè la possibilità di ritrovare i dati.
Il modello concettuale viene rappresentato graficamente dello schema E/R(entità/relation ship)
Gli elementi di un modello entità/associazione sono
L'entità è un oggetto (concreto o astratto )che ha un significato anche quando viene considerato in modo isolato ed è di interesse per la realtà che si vuole modellare.
Le entità possono essere classificate secondo un criterio di omogeneità definendo il tipo di entità attraverso un nome ciò che è all'interno dell'entità è chiamato istanza.
L'associazione è un legame che stabilisce un'interazione tra le entità
Gli attributi sono le proprietà delle entità e delle associazioni.
All'interno delle entità dobbiamo inserire una chiave o chiave primaria un insieme minimale di attributi che permettono di distinguere tra loro le istanze di una stessa entità.
Le associazioni tra entità
La cardinalità è ciò che classifica i tipi di associazioni che possono essere:
associazioni 1:1
un'associazione si dice uno a uno, quando ogni istanza della prima entità si deve associare a una sola istanza delle seconda entità o viceversa.
Associazione 1: N
Un'associazione uno a molti, quando ogni istanza della prima entità si può associare a più istanze della seconda entità, mentre a ogni istanza della seconda entità si deve associare una sola istanza della prima entità.
Associazione molti : molti
Un'associale si dice molti a molti quando ogni istanza della prime entità si può associare a più istanze della seconda entità e a ogni istanza della seconda entità si possono associare una o più istanze della prima.
Per entrambi i versi di ciascuna associazione si usano le due regole cioè:
ogni
nome dell'entità di appartenenza: deve o può.
Nome dell'associazione : uno solo o uno o più
Nella corrente terminologia dei database relazionali si usano spesso anche i termini record e campo, al posto di tupla e attributo, il termine tabella viene inoltre usato come sinonimo di relazione.
Il modello relazionale di un database è un'insieme di tabelle sulle quali si possono effettuare delle operazioni e stabilire associazioni.
I requisiti che caratterizzano il modello relazionale sono:
A. Tutte le righe della tabella contengono lo stesso numero di colonne, corrispondenti agli
attributi.
B. Gli attributi rappresentano informazioni elementari, non scomponibili ulteriormente, cioè
non ci sono campi di gruppo che contengono per ogni riga un'insieme di valori.
C. I valori assunti da un campo appartengono al dominio dei valori possibili per quel campo e
quindi sono valori omogenei tra loro, cioè delle stesso tipo.
D. In una relazione, non ci possono essere due righe con gli stessi valori dei campi : questo significa che esiste u attributo o una combinazione di attributi che identificano la n-upla e che assumono perciò la funzione di chiave primaria della relazione (PK)
E. Le n-uple compaiono nella tabella secondo un ordine non precisato, percui non è rilevante il criterio con il quale le righe sono sistemate nella tabella.
La derivazione delle relazioni del modello E/R
Quando si usano i database relazionali le tabelle che costituiscono il modello logico dei dati vengono ricavate dal modello E/R mediante alcune semplice regole di derivazione:
1. Ogni entità diventa relazione
2. Ogni attributo di entità diventa attributo della relazione
3. Ogni attributo della relazione edita le caratteristiche dell'attributo entità de cui deriva.
4. L'identificazione univoco di un'entità diviene la chiave della relazione derivata
5. L'associazione uno a uno diventa un'unica relazione che contiene gli attributi della prima e
della seconda.
6. L'associazione uno a molti viene rappresentata aggiungendo,gli attributi dell'entità che
svolge il ruolo a uno nell'associazione. Quest'identificatore è la chiave esterna dell'entità
associata, costituito dall'insieme di attributi che compongono la chiave dell'entità a uno
della chiave interna.
7. L'associazione molti a molti diventa una nuova relazione composta dagli identificatori univoci delle entità e degli eventuali attributi dell'associazione. La chiave della nuova relazione è formata dall'insieme di attributi che compongono le chiavi delle due entità, oltre agli attributi dell'asscociazione nella relazione ottenuta.
La normalizzazione delle relazioni
Come sappiamo:
la chiave primaria è l'insieme di uno o più attributi che identificano in modo univoco una n-upla (riga della tabella);
la chiave candidata è ogni insieme minimale di uno o più attributi che possono svolgere la funzione chiave.
L'attributo non-chiave è un campo che non fa parte della chiave primaria.
Prima forma normale
Una relazione è in prima forma normale quando rispetta i requisiti fondamentali del modello relazionale quindi:
le tutte le righe contengono lo stesso numero di colonne.
Gli attributi sono informazioni elementari
Non ci possono essere due righe con gli stessi valori nelle colonne
L'ordine con il quale le righe compaiono nella tabella è irrilevante.
Seconda forma normale
Una relazione e in seconda forma normale quando è in prima forma normale e tutti i sui attributi dipendono dall'intera chiave, cioè non possiede attributi che dipendono soltanto da una parte della chiave.
Terza forma normale
Una relazione è in terza forma normale quando è in seconda forma normale e tutti gli attributi non-chiave dipendono direttamente dalla chiave cioè non possiede attributi che dipendono da altri non-chiave.
Appunti su: |
|