BASI DATI – INTRODUZIONE
I Database sono una componente con cui ci interfacciamo ogni giorno (prenotazioni,
operazioni bancarie ecc).
Il sistema organizzativo è un insieme di risorse (umane e non) e regole che perseguono
obiettivi attività
svolgendo coordinatamente (processi). Esempi di sistemi organizzativi sono
banche, università, aziende ecc. Le risorse di una azienda (o ente) sono persone, denaro,
materiali, informazioni ecc. sistema organizzativo
Il sistema informativo è una porzione del che
esegue, gestisce processi informativi (informazioni) di interesse per
quell’organizzazione.
N.B. Questi sistemi possono essere anche fisici come agende, volumi
cartacei ecc infatti non avere un sistema informativo non significa
avere per forza un sistema informatico .Quindi questo sistema è un
componente o sottosistema di una organizzazione che
informazioni
gestisce/elabora le utilizzate per realizzare gli scopi
dell’organizzazione.
Un Database è una porzione di un sistema informatico, ed ha varie definizioni.
1°Definizione: Un Database (DB) è una collezione di dati correlati (non è un database una
accozzaglia di dati senza una correlazione)
2°Definizione: Un DB è un insieme organizzato di dati per il supporto allo svolgimento di
sistema organizzativo.
attività di un I dati sono dei “fatti noti”, con un significato implicito,
memorizzabili.
I dati dopo essere stati elaborati diventano informazioni.
logicamente
Quindi il DB è una collezione di dati correlati con un significato in un determinato
contesto. La dimensione e la complessità di un Database dipendono dal tipo di sistema
informativo.
Esempio: Database università contenente quattro file: STUDENTE, CORSO,
PREREQUISITI ed ESAME. Questi file corrispondono alle “cose” da gestire; in ogni file è
memorizzato un record per ogni dato, che sono omogenei. Di ogni record bisogna specificare
i campi o attributi e il tipo di campo sono.
STUDENTE CORSO
PREREQUISITI ESAME
Oltre a specificare i dati in file è importante realizzare dei collegamenti tra i record. Però dopo
averlo creato bisogna popolarlo inserendo i dati veri e propri; poi bisogna manipolarlo ed
aggiornarlo.
Concetti base dei DBMS (Database Management System)
Un DBMS è una collezione di programmi (poiché ha vari moduli) che permette di gestire
basi dati (simile al S.O.); è un software general-purpose che supporta l’utente nella
progettazione, manipolazione di un DB. I dati vengono memorizzati in strutture dati
efficienti, scalabili e flessibili. Un DBMS deve permettere di:
- Definire un DB cioè mettere a disposizione strutture e linguaggi per memorizzare tipi,
strutture e vincoli (di dominio e referenziali);
- Costruire il DB supportando la memorizzazione dei dati su memoria di massa con la
quale il DBMS interagisce;
- Manipolare il DB che consente di interrogare (trovare dati), aggiornare il DB e generare
un report dei dati.
DBMS!=DATABASE perché una Base Dati è una collezione di dati gestita dal DBMS
(software).
(word!=file.txt). Esempi di DBMS sono My Access, Oracle, Mysql, ecc.
Un DB può essere gestito anche creando una libreria di programmi per accedere ai dati
nei file, quindi costruendo un DBMS special-purpose (può essere vantaggioso per creare
piccole applicazioni). Però tutta la logica della struttura (come i vincoli) dobbiamo
specificarla noi. Il DBMS tramite dei suoi compilatori separa i dati dalle informazioni
sulla definizione di DB chiamate metadati (come campi, vincoli,
record) che memorizza nel catalogo di sistema. Il DBMS ogni volta
che svolgiamo una operazione consulta sempre il catalogo per
sapere qual è la struttura dei file e per evitare operazioni illecite.
Quindi un DBMS non ha solo un overhead di tempo ma anche di
spazio ma ci aiuta, appunto, per la memorizzazione di metadati. Es.
Type Studente= record Nome: string; matricola:string; anno:string; end;
PROPRIETÀ DI UN DATABASE sopravvivere
- Dati persistenti cioè devono all’esecuzione del programma, a guasti e
disastri;
- Dati condivisi: cioè il database è centralizzato ma più settori di una azienda possono
accedergli ma possono esserci alcuni problemi come ridondanza, incoerenza,
inconsistenza
Un DBMS multiutente, permette a più utenti di accedere contemporaneamente al Database
includendo tra i vari moduli software:
- Controllo dell’accesso (chi può accedere/modificare un DB);
garantire
- Controllo della concorr