Introduzione e DBMS

Possiamo definire una base di dati come una collezione di dati utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di un organizzazione.

DBMS (DataBase Management System)[modifica | modifica wikitesto]

È il software che si occupa di gestire in maniera intelligente il nostro DB.

Vantaggi di un DB rispetto ad un File System[modifica | modifica wikitesto]

Con un DataBase non dobbiamo accuparci noi di interagire direttamente con la memoria trovandoci nella seguente situazione:

Database1.png

Avere tutti i dati salvati in un unico Database comporta:

  • Non presenza di inutili ridondanze
  • Efficente controllo delle concorrenze
  • Efficente controllo dei permessi (ciascun utente può interagire con certi dati in base ai permessi che possiede)

Architettura Standard di un DBMS (ANSI/SPARC)[modifica | modifica wikitesto]

Possiamo suddividere la struttura di un DataBase in tre schemi:

  • SCHEMA ESTERNO=(vista utente) rappresenta quella parte di database rilevante per un certo utente in base alle autorizzazioni che possiede.
  • SCHEMA LOGICO= Struttura dell'intera base di dati, cioè l'insieme di tutte le tabelle di cui e composto e le varie connessioni tra di esse (questo è il livello al quale siamo interessati noi).
  • SCHEMA FISICO= La struttura di com'è salvato il database fisicamente all'interno della memoria del PC.

Proprietà di Indipendenza[modifica | modifica wikitesto]

Un buon DBMS deve rispettare due proprietà di indipendenza: INDIPENDENZA FISICA:

  • modifiche allo schema logico si devono riflettere sullo schema fisico in maniera trasparente per l'utente.
  • modifiche allo schema fisico (ad esempio ottimizzazioni) devono lasciare inalterato lo schema logico

INDIPENDENZA LOGICA:

  • modifiche alle viste non devono richiedere modifiche a livello logico
  • modifiche a livello logico devono lasciare inalterato lo schema esterno

DBMS Pro-Contro[modifica | modifica wikitesto]

PRO:

  • dati come risorsa comune, base di dati come modello della realtà
  • gestione centralizzata con possibilità di standardizzazione ed "economie di scala"
  • servizi integrati disponibili
  • riduzione ridondanze e campi vuoti
  • indipendenza dei dati (facilità di sviluppo e manutenzione applicazioni)

CONTRO:

  • costo dei prodotti e delle transizioni verso di essi
  • non si possono suddividere (spesso) le funzionalità (riduzione di efficenza
 PrecedenteSuccessivo