Database relazionali, normalizzazione e SQL

Un database è un'applicazione che può archiviare e recuperare dati molto rapidamente. Il bit relazionale si riferisce al modo in cui i dati sono archiviati nel database e al modo in cui sono organizzati. Quando parliamo di un database, intendiamo un database relazionale, in effetti un RDBMS: Sistema di gestione di database relazionali.

In un database relazionale, tutti i dati sono archiviati in tabelle. Questi hanno la stessa struttura ripetuta in ogni riga (come un foglio di calcolo) ed è le relazioni tra le tabelle che lo rendono una tabella "relazionale".

Prima dell'invenzione dei database relazionali (negli anni '70), venivano utilizzati altri tipi di database come i database gerarchici. Tuttavia, i database relazionali hanno avuto molto successo per aziende come Oracle, IBM e Microsoft. Il mondo open source ha anche RDBMS.

Database commerciali

  • Oracolo
  • IBM DB 2
  • Microsoft SQL Server
  • Ingres. Il primo RDBMS commerciale.

Database gratuiti / open source

  • MySQL
  • PostgreSQL
  • SQLite

Non si tratta di database relazionali ma di RDBMS. Forniscono sicurezza, crittografia, accesso utente e possono elaborare query SQL.

instagram viewer

Chi era Ted Codd?

Codd era uno scienziato informatico che ha ideato le leggi della normalizzazione nel 1970. Questo era un modo matematico per descrivere le proprietà di un database relazionale usando le tabelle. Ha inventato 12 leggi che descrivono cosa fanno un database relazionale e un RDBMS e diverse leggi di normalizzazione che descrivono le proprietà dei dati relazionali. Solo i dati che erano stati normalizzati potevano essere considerati relazionali.

Che cos'è la normalizzazione?

Considerare un foglio di calcolo dei record client che deve essere inserito in un database relazionale. Alcuni clienti hanno le stesse informazioni, ad esempio filiali diverse della stessa azienda con lo stesso indirizzo di fatturazione. In un foglio di calcolo, questo indirizzo si trova su più righe.

Nel trasformare il foglio di calcolo in una tabella, tutti gli indirizzi di testo del client devono essere spostati in un'altra tabella e ciascuno assegnato a ID univoco- dire i valori 0,1,2. Questi valori sono memorizzati nella tabella client principale, quindi tutte le righe utilizzano l'ID, non il testo. Un'istruzione SQL può estrarre il testo per un determinato ID.

Che cos'è un tavolo?

Pensalo come un foglio di calcolo rettangolare fatto di righe e colonne. Ogni colonna specifica il tipo di dati memorizzato (numeri, stringhe o dati binari - come immagini).

A differenza di un foglio di calcolo in cui l'utente è libero di avere dati diversi su ogni riga, in una tabella del database, ogni riga può contenere solo i tipi di dati specificati.

In C e C ++, questo è come un Vettore di struct, in cui una struttura contiene i dati per una riga.

  • Per ulteriori informazioni, consultare Normalizzazione di un database nella parte Progettazione database di d database.about.com.

Quali sono i diversi modi di archiviare i dati in un database?

Ci sono due modi:

  • Tramite un server di database.
  • Tramite un file di database.

L'uso di un file di database è il metodo più vecchio, più adatto alle applicazioni desktop. PER ESEMPIO. Microsoft Access, sebbene questo venga gradualmente eliminato a favore di Microsoft SQL Server. SQLite è un eccellente database di dominio pubblico scritto in C che contiene i dati in un file. Esistono wrapper per C, C ++, C # e altre lingue.

Un database server è un'applicazione server eseguita localmente o su un PC in rete. La maggior parte dei grandi database sono basati su server. Questi richiedono più amministrazione ma sono generalmente più veloci e più robusti.

Come comunica un'applicazione con i server di database?

In genere, questi richiedono i seguenti dettagli.

  • IP o nome di dominio del server. Se si trova sullo stesso PC utilizzato, utilizzare 127.0.0.1 o localhost come il nome DNS.
  • Porta del server Per MySQL questo è di solito 3306, 1433 per Microsoft SQL Server.
  • Nome utente e password
  • Nome del database

Esistono molte applicazioni client che possono comunicare con un server di database. Microsoft SQL Server dispone di Enterprise Manager per creare database, impostare la sicurezza, eseguire lavori di manutenzione, query e, naturalmente, progettare e modificare tabelle di database.

Che cos'è SQL?:

SQL è l'abbreviazione di Structured Query Language ed è un linguaggio semplice che fornisce istruzioni per la creazione e la modifica della struttura dei database e per la modifica dei dati memorizzati nelle tabelle. I principali comandi utilizzati per modificare e recuperare i dati sono:

  • Selezionare - Recupera i dati.
  • Inserire - Inserisce una o più righe di dati.
  • Aggiornare - Modifica le righe di dati esistenti
  • Elimina - Elimina le file di dati.

Esistono diversi standard ANSI / ISO come ANSI 92, uno dei più popolari. Questo definisce un sottoinsieme minimo di istruzioni supportate. La maggior parte dei fornitori di compilatori supporta questi standard.

Conclusione

Qualsiasi applicazione non banale può utilizzare un database e un database basato su SQL è un buon punto di partenza. Una volta padroneggiata la configurazione e l'amministrazione del database, allora devi imparare SQL per farlo funzionare bene.

La velocità con cui un database può recuperare i dati è sorprendente e i moderni RDBMS sono applicazioni complesse e altamente ottimizzate.

Database open source come MySQL si stanno rapidamente avvicinando alla potenza e all'usabilità dei concorrenti commerciali e guidano molti database sui siti Web.

Come connettersi a un database in Windows utilizzando ADO

A livello di programmazione, ci sono varie API che forniscono l'accesso ai server di database. In Windows, questi includono ODBC e Microsoft ADO. [h3 [Uso di ADO Finché esiste un software provider che interfaccia un database ad ADO, è possibile accedere al database. Windows dal 2000 ha questo incorporato.

Prova quanto segue. Dovrebbe funzionare su Windows XP e su Windows 2000 se hai mai installato MDAC. Se non lo hai fatto e vuoi provare questo, visita Microsoft.com, cerca "MDAC Download" e scarica qualsiasi versione, 2.6 o successiva.

Crea un file vuoto chiamato test.udl. Fare clic destro in Esplora risorse sul file e fare "apri con", dovresti vedere Microsoft Data Access - OLE DB Core Services ". Questa finestra di dialogo ti consente di connetterti a qualsiasi database con un provider installato, persino fogli di calcolo Excel!

Selezionare la prima scheda (Provider) come si apre per impostazione predefinita nella scheda Connessione. Seleziona un provider quindi fai clic su Avanti. Il nome dell'origine dati mostra i diversi tipi di dispositivo disponibili. Dopo aver inserito nome utente e password, fai clic sul pulsante "Verifica connessione". Dopo aver premuto il pulsante ok, puoi aprire test.udl con il file con Wordpad. Dovrebbe contenere testo come questo.

 [Oledb]
; Tutto ciò che segue questa riga è un initstring OLE DB
Provider = SQLOLEDB.1; Persist Security Info = False; ID utente = sa; Catalogo iniziale = dhbtest; Fonte dei dati = 127.0.0.1

La terza riga è quella importante, contiene i dettagli di configurazione. Se il tuo database ha una password, verrà mostrato qui, quindi questo non è un metodo sicuro! Questa stringa può essere integrata in applicazioni che utilizzano ADO e consentirà loro di connettersi al database specificato.

Utilizzando ODBC

ODBC (Open Database Connectivity) fornisce un'interfaccia basata su API ai database. Ci sono driver ODBC disponibili per quasi tutti i database esistenti. Tuttavia, ODBC fornisce un altro livello di comunicazione tra un'applicazione e il database e ciò può causare penalizzazioni delle prestazioni.

instagram story viewer