DBMS distribuito - Concetti
Per il corretto funzionamento di qualsiasi organizzazione, è necessario un database ben mantenuto. Nel recente passato, i database erano di natura centralizzata. Tuttavia, con l'aumento della globalizzazione, le organizzazioni tendono a diversificarsi in tutto il mondo. Possono scegliere di distribuire i dati su server locali invece che su un database centrale. Così, è arrivato il concetto diDistributed Databases.
Questo capitolo fornisce una panoramica dei database e dei sistemi di gestione dei database (DBMS). Un database è una raccolta ordinata di dati correlati. Un DBMS è un pacchetto software per lavorare su un database. Uno studio dettagliato del DBMS è disponibile nel nostro tutorial denominato "Learn DBMS". In questo capitolo, rivediamo i concetti principali in modo che lo studio del DDBMS possa essere svolto con facilità. I tre argomenti trattati sono schemi di database, tipi di database e operazioni sui database.
Database e Database Management System
UN databaseè una raccolta ordinata di dati correlati creata per uno scopo specifico. Un database può essere organizzato come una raccolta di più tabelle, in cui una tabella rappresenta un elemento o un'entità del mondo reale. Ogni tabella ha diversi campi diversi che rappresentano le caratteristiche dell'entità.
Ad esempio, un database aziendale può includere tabelle per progetti, dipendenti, reparti, prodotti e record finanziari. I campi nella tabella Employee possono essere Name, Company_Id, Date_of_Joining e così via.
UN database management systemè una raccolta di programmi che consente la creazione e la manutenzione di un database. DBMS è disponibile come pacchetto software che facilita la definizione, la costruzione, la manipolazione e la condivisione dei dati in un database. La definizione di un database include la descrizione della struttura di un database. La costruzione di un database implica l'archiviazione effettiva dei dati su qualsiasi supporto di memorizzazione. La manipolazione si riferisce al recupero delle informazioni dal database, all'aggiornamento del database e alla generazione di report. La condivisione dei dati facilita l'accesso ai dati da parte di diversi utenti o programmi.
Esempi di aree di applicazione DBMS
- Macchine automatiche di cassiere
- Sistema di prenotazione dei treni
- Sistema di gestione dei dipendenti
- Sistema informativo degli studenti
Esempi di pacchetti DBMS
- MySQL
- Oracle
- server SQL
- dBASE
- FoxPro
- PostgreSQL, ecc.
Schemi di database
Uno schema del database è una descrizione del database specificata durante la progettazione del database e soggetta a alterazioni rare. Definisce l'organizzazione dei dati, le relazioni tra di essi e i vincoli ad essi associati.
I database sono spesso rappresentati tramite three-schema architecture o ANSISPARC architecture. L'obiettivo di questa architettura è separare l'applicazione utente dal database fisico. I tre livelli sono:
Internal Level having Internal Schema - Descrive la struttura fisica, i dettagli della memoria interna e i percorsi di accesso per il database.
Conceptual Level having Conceptual Schema- Descrive la struttura dell'intero database nascondendo i dettagli della memorizzazione fisica dei dati. Questo illustra le entità, gli attributi con i relativi tipi di dati e vincoli, operazioni e relazioni dell'utente.
External or View Level having External Schemas or Views - Descrive la parte di un database rilevante per un particolare utente o un gruppo di utenti mentre nasconde il resto del database.
Tipi di DBMS
Esistono quattro tipi di DBMS.
DBMS gerarchico
Nel DBMS gerarchico, le relazioni tra i dati nel database vengono stabilite in modo che un elemento di dati esista come subordinato di un altro. Gli elementi di dati hanno relazioni padre-figlio e sono modellati utilizzando la struttura dati "ad albero". Questi sono molto veloci e semplici.
DBMS di rete
DBMS di rete in uno in cui le relazioni tra i dati nel database sono di tipo molti-a-molti sotto forma di una rete. La struttura è generalmente complicata a causa dell'esistenza di numerose relazioni molti-a-molti. Il DBMS di rete è modellato utilizzando una struttura dati "a grafo".
DBMS relazionale
Nei database relazionali, il database è rappresentato sotto forma di relazioni. Ogni relazione modella un'entità ed è rappresentata come una tabella di valori. Nella relazione o nella tabella, una riga è chiamata tupla e denota un singolo record. Una colonna è chiamata campo o attributo e denota una proprietà caratteristica dell'entità. RDBMS è il sistema di gestione di database più diffuso.
Ad esempio - Una relazione studentesca -
DBMS orientato agli oggetti
Il DBMS orientato agli oggetti è derivato dal modello del paradigma di programmazione orientato agli oggetti. Sono utili per rappresentare sia dati coerenti come archiviati nei database, sia dati temporanei, come si trovano nell'esecuzione di programmi. Usano piccoli elementi riutilizzabili chiamati oggetti. Ogni oggetto contiene una parte di dati e un insieme di operazioni che lavorano sui dati. L'oggetto e i suoi attributi sono accessibili tramite puntatori invece di essere archiviati in modelli di tabelle relazionali.
Ad esempio: un database orientato agli oggetti di un conto bancario semplificato
DBMS distribuito
Un database distribuito è un insieme di database interconnessi distribuiti sulla rete di computer o su Internet. Un DDBMS (Distributed Database Management System) gestisce il database distribuito e fornisce meccanismi per rendere i database trasparenti agli utenti. In questi sistemi, i dati vengono distribuiti intenzionalmente tra più nodi in modo che tutte le risorse di elaborazione dell'organizzazione possano essere utilizzate in modo ottimale.
Operazioni su DBMS
Le quattro operazioni di base su un database sono Crea, Recupera, Aggiorna ed Elimina.
CREATE struttura del database e popolarlo con i dati - La creazione di una relazione con il database implica la specifica delle strutture dei dati, dei tipi di dati e dei vincoli dei dati da memorizzare.
Example - Comando SQL per creare una tabella studenti -
CREATE TABLE STUDENT (
ROLL INTEGER PRIMARY KEY,
NAME VARCHAR2(25),
YEAR INTEGER,
STREAM VARCHAR2(10)
);
Una volta definito il formato dei dati, i dati effettivi vengono memorizzati in base al formato in un supporto di memorizzazione.
Example Comando SQL per inserire una singola tupla nella tabella degli studenti -
INSERT INTO STUDENT ( ROLL, NAME, YEAR, STREAM)
VALUES ( 1, 'ANKIT JHA', 1, 'COMPUTER SCIENCE');
RETRIEVEinformazioni dal database - Il recupero delle informazioni generalmente implica la selezione di un sottoinsieme di una tabella o la visualizzazione dei dati dalla tabella dopo che sono stati eseguiti alcuni calcoli. È fatto interrogando sul tavolo.
Example - Per recuperare i nomi di tutti gli studenti del flusso di informatica, è necessario eseguire la seguente query SQL:
SELECT NAME FROM STUDENT
WHERE STREAM = 'COMPUTER SCIENCE';
UPDATE informazioni memorizzate e modifica della struttura del database - L'aggiornamento di una tabella implica la modifica dei vecchi valori nelle righe della tabella esistente con nuovi valori.
Example - Comando SQL per cambiare il flusso da Elettronica a Elettronica e comunicazioni -
UPDATE STUDENT
SET STREAM = 'ELECTRONICS AND COMMUNICATIONS'
WHERE STREAM = 'ELECTRONICS';
Modificare il database significa cambiare la struttura della tabella. Tuttavia, la modifica della tabella è soggetta a una serie di restrizioni.
Example - Per aggiungere un nuovo campo o colonna, ad esempio indirizzo alla tabella Studente, utilizziamo il seguente comando SQL:
ALTER TABLE STUDENT
ADD ( ADDRESS VARCHAR2(50) );
DELETE informazioni memorizzate o eliminare una tabella nel suo complesso: l'eliminazione di informazioni specifiche comporta la rimozione di righe selezionate dalla tabella che soddisfano determinate condizioni.
Example- Per eliminare tutti gli studenti che sono attualmente al 4 ° anno quando stanno svenendo, utilizziamo il comando SQL -
DELETE FROM STUDENT
WHERE YEAR = 4;
In alternativa, l'intera tabella può essere rimossa dal database.
Example - Per rimuovere completamente la tabella studenti, il comando SQL utilizzato è:
DROP TABLE STUDENT;