Home
  • Sql
  • Introduzione ai DBMS - Lezione 3
gioacchino.delprete
pubblicato 8 mesi fa

Introduzione ai DBMS - Lezione 3

I Data Base Management System, i sistemi di gestione delle basi dati, un introduzione

Come descritto nell'introduzione di questa guida SQL è lo strumento che ci permette di accedere alle informazioni di un database gestito da un Database management system(DBMS).

Un DBMS è un sistema software, che consente la creazione e manipolazioni di database. Anche se è un sistema software, un DBMS è differente dal concetto generale di applicazione per database. Infatti i DBMS sono progettati per sistemi multi-utente. La base, quindi, di progettazione di un DBMS è un kernel che supporta nativamente il multitasking e la gestione di un collegamento alla rete.

In passato i DBMS erano diffusi sopratutto in grandi aziende e istituzioni, che potevano permettersi di effettuare un tale investimento essendo fiduciosi/sicuri del ritorno economico che un tale investimento avesse portato. Oggi il loro uso è praticamente diffuso in ogni contesto, infatti quando si sente parlare di applicazione enterprise, implica, quasi sempre, la presenza di uno o più database amministrati utilizzando uno dei DBMS commerciali.
Se agli albori dell'informatica questi sistemi software erano specializzati per l'accesso ad un solo database, oggi invece i moderni DBMS sono progettati costruiti ed utilizzati per compiere operazioni su un gran numero di basi di dati differenti.

In parallelo all'ottica di multitasking e comunque anche per soddisfare l'evoluzione tecnologica informatica, i DBMS si sono evoluti anche secondo i modelli di database che sono stati proposti, partendo dalla gestione di Database Navigazionali arrivando ai giorni nostri a Database ad Oggetto:

  • Database Navigazionali:navigazione manuale in un insieme di dati disposti sotto forma di rete. All'avvio del software esso si posizionava sul primo dato disponibile ed attraverso puntatori si scandivano tutti gli altri dati raggiungibili navigando i puntatori. Non esisteva quindi un'operazione di ricerca, ma se consideriamo che questo tipo di modello era utilizzato negli anni sessanta ed i dati erano memorizzati su nastri magnetici un'operazione di ricerca come la intendiamo noi oggi non era possibile. Un esempio di DBMS per questo tipo di modello era IMS dell'IBM.
  • Database Multidimensionali:I database multidimensionali, ignorano l'indipendenza tra gli aspetti fisici e logici della base di dati insita nel modello relazionale, e al contrario, lasciano la definizione dei puntatori ai programmatori. Invece di cercare l'indirizzo del Signor Rossi in diverse tabelle, il DBMS memorizza un puntatore al record "Indirizzo". In effetti, se il dato "appartiene" ad un certo record nella "tabella padre", questo può essere memorizzato nella stessa area di memoria del primo, ed in tal modo è possibile velocizzare l'accesso. Naturalmente il dato deve appartenere solamente ad un dato-padre.
  • Database Relazionali:con la nascita del modello relazione, i DBMS si sono evoluti in Relational DBMS(RDBMS). Fu ancora l'IBM che progettò e realizzò per prima,un DBMS per il modello relazionale chiamato System R.
  • Database ad Oggetti:detti Object DBMS(ODBMS), questi tipi di sistema permettono di memorizzare in un database direttamente un oggetto, rispettando in un certo modo i principi della programmazione ad oggetto. Oggi sono in sviluppo anche DBMS che mettono in relazione il modello relazionale e il modello ad oggetto creando un così un misto dei due modelli chiamati Object Relational DBMS(ORDBMS).

Architettura di un DBMS
Un DBMS può essere costituito da programmi software anche assai complessi che permettono di controllare l'organizzazione, memorizzazione e reperimento dei dati dalla base di dati. Il DBMS si occupa anche dell'integrità e sicurezza della base di dati.
In generale possiamo dire che un DBMS fornisce agli utenti i seguenti servizi:

  • Persistent storage:permette la memorizzazione di grandi quantità di dati, garantendo un'alta flessibilità.
  • Transaction management:supporta l'accesso concorrente ai dati evitando conseguenze indesiderate dovute a crash del sistema o dell'applicazione.
  • Programming interface:permette di interrogare e accedere i dati con un potente linguaggio di interrogazione:SQL.

Per offrire questi servizi un DBMS è abbastanza complesso e della sua architettura, fanno parte:

  • Dischi e file
  • Il gestore del buffer
  • Execution engine
  • Concurreny control
  • Il gestore dello storage
  • Il gestore degli indici/file/record
  • Query compiler
  • Transaction manager

molto spesso per concentrarsi, sopratutto, sul comportamento di un DBMS l'architettura viene racchiusa in tre macro categorie:

  • Gestore delle interrogazioni
  • Gestore del buffer
  • Gestori dei metodi di accesso

Il gestore delle interrogazioni si occupa di elaborare le richieste dell'utente inoltrate in linguaggio SQL, cerca la soluzione ottima per la query inoltrata e traduce tali richieste in operazioni, che saranno poi eseguite. Il gestore di accesso si occupa di individuare il blocco di memoria dove sono presenti i record(nel modello relaziona chiamate tuple) ricercati. Precedentemente un utente con i privilegi di amministratore dichiara al sistema come gestire gli accessi specificando ciò con una tavola CRUD dei permessi. Il gestore del buffer si occupa principalmente di gestire le operazioni inerenti al salvataggio e il caricamento dei blocchi da e verso la memoria permanente.

E' quindi chiaro che un DBMS permette la gestione di grandi quantità di dati, occupandosi egli stesso della sicurezza, integrità, persistenza, condivisione e accesso concorrente degli stessi. Nasconde all'utente come i dati relativi ad un database sono effettivamente memorizzati sul disco, permettendo di accedere ai dati attraverso un linguaggio standard come l'SQL.

Il goal di un DBMS è quindi quello di creare un'astrazione tra il livello fisico e logico di un database, in modo tale, da permettere che l'utente possa lavorare sui dati come se stesse lavorando sullo schema logico.

Approfondimenti:
Storia di IMS
IMB Book IMS

Condividi su:

Esprimi un voto:

  • Current rating: 5.0/5
  • 1
  • 2
  • 3
  • 4
  • 5

Argomenti chiave:

Ultimi commenti Ultimi commenti

Esegui il Login oppure registrati per scrivere un commento.
Cerca nel sito...
Ultime recipes

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL MySQL Report un tool di shell per tenere tutto sotto controllo

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL


Vai alla recipe

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL MySQLSniffer sniffare il traffico TCP di MySQL

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL


Vai alla recipe

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso myisamchk riparare file MyISAM

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso il file myisamchk


Vai alla recipe

Un tool per comprimere le tabelle MyISAM fino a oltre il 50% myisampack comprimere file MyISAM

Un tool per comprimere le tabelle MyISAM fino a oltre il 50%


Vai alla recipe

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun mysqlshow visualizzare le informazioni sul database MySQL

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun client


Vai alla recipe

Utilizzando UNION / UNION ALL su campi int unsigned zerofill,
ho notato che MysqlUNION / UNION ALL su campi int unsigned zerofill. di DebUsr
Vai al tip

Utilizzo di funzioni come alias di campo tramite l'impiego di prepared statementReport con alias di campo dinamici di john_revelator
Vai al tip

Può capitare che sia necessario eseguire un dump di database in formato Comma SeparatedEsecuzione dump in formato CSV (tabelle in engine MyIsam esportate in formato CSV) di ghigomatto
Vai al tip

E' possibile eseguire le query SQL contenute in un file di testo. Questo è utileEseguire le query da un file di testo di Sante Caserio
Vai al tip

Se vogliamo fare il backup di tutti i database con mysqldump, e ne abbiamo parecchiFare il backup di tutti i database di Sante Caserio
Vai al tip

Salve a tutti. Da poco ho installato mySQL server sul mio muletto di casa. Dopo aver Come collegarsi al DB di Boscagoo Vai al topic

Un buongiorno a tutti, avrei un quesito di ordine generale inerente alle installazioni Upgrade di walter54 Vai al topic

Ciao a tutti,
come faccio a indicare a MySQL, il path, locale, di un oggetto grafico Path di un oggetto di tonyboy00 Vai al topic

Salve a tutti! Mi chiamo Michele, sono uno studente di informatica. Ho 25 anni, scrivo Nuovo arrivato di Boscagoo Vai al topic

Ciao a tutti,
ho un campo BLOB definito come longblob (max 2048 KB) e, tramite PhpMyAdmin Campo BLOB di tonyboy00 Vai al topic