|
|
Una base di dati è semplicemente una raccolta di informazioni organizzata. Permette che molti tipi differenti di dati siano memorizzati e richiamati in un modo altamente efficiente. Le informazioni all'interno di una base di dati sono organizzate nelle tabelle. Una tabella è semplicemente una collezione di campi, che possono ciascuno avere loro proprio tipo di dati unico. Per esempio, potreste avere una singola tabella nella vostra base di dati che contiene il nome del giocatore, l'età e l'indirizzo di E-mail. Una volta che fate definire le tabelle nella vostra base di dati, potete allora aggiungere le annotazioni nelle tabelle. Un'annotazione è un'entrata unica in una tabella che contiene i dati per ciascuno dei campi specificati nella tabella.
Ci sono molti tipi differenti di basi di dati, ma quello che siamo i più interessati dentro è la base di dati relazionale. Una base di dati relazionale è una base di dati che contiene le tabelle delle informazioni che si riferiscono l'un l'altro in qualche modo o un altro e le informazioni nelle tabelle possono essere raggiunte ed organizzate in molti sensi. Ciò è compiuta solitamente per mezzo di numeri di identificazione unici, anche se questa identificazione può essere fatta con qualunque tipo di dati, ma il senso più efficace deve farlo con i tipi di numero. Di conseguenza, ad ogni annotazione che è aggiunta ad una tabella in una base di dati relazionale sarà assegnata automaticamente un numero unico se il campo è numerico e se una sequenza e un innesco è definita alla tabella per fare quella. Ci sono pacchetti della base di dati che possono fare quasi automaticamente questo definendo che il campo è un campo di identità. Questo campo unico lo differenzierà da tutte le altre entrate nella stessa tabella (ma non dalle entrate in altre tabelle). Ciò permette che noi ottimizziamo i dati all'interno della base di dati come possiamo semplicemente rendere ad un campo in una tabella un il numero intero (o qualunque tipo di dati—realmente, a volte ci sono situazioni dove i campi varchar (della stringa) sono campi migliori di riferimento che il numero intero).
Un buon esempio di dove una base di dati relazionale potrebbe essere usata è in un applet semplice di chiacchierata. Le informazioni dell'utente potrebbero essere memorizzate in una tabella denominata userinfo, che conterrebbe il nome di inizio attività, la parola d'accesso e l'indirizzo di E-mail. Inoltre, ad ogni annotazione (delle informazioni dell'utente) sarebbe assegnata automaticamente un numero di identificazione unico dalla base di dati, così là sempre sarebbe un campo nella tabella di userinfo (il campo unico di numero) che potrebbe identificare una singola annotazione da tutto il resto. Ora la nostra base di dati conterrebbe una singola tabella che ha tenuto le informazioni dell'utente. Che cosa faremmo, benchè, se desiderassimo gli utenti avere una lista dei contatti in cui potrebbero aggiungere i loro soci al sistema di chiacchierata? Potremmo avere una tabella separata che sarebbe chiamata usando il nome di inizio attività dell'utente (per esempio, se l'utente fosse chiamato "bobby," la tabella sarebbe chiamata "bobby_contacts") per ogni utente. Ciascuna di queste tabelle per gli utenti conterrebbe le annotazioni duplicate delle informazioni dei loro contatti per tutti gli utenti che hanno aggiunto alla loro lista dei contatti.
Come potete vedere, questo sarebbe un metodo molto inefficiente di memorizzare le informazioni del contatto, poichè le stesse informazioni sarebbero ripiegate molte volte e la base di dati potrebbe avere centinaia delle tabelle in esso (cioè, una per ogni utente), che sarebbe inefficiente da un punto di vista di accesso e di immagazzinaggio di dati.
Il senso ideale occuparsi di questo problema dovrebbe usare le caratteristiche della base di dati relazionale. Cioè usi il campo unico di numero che è stato assegnato automaticamente ad ogni utente dalla base di dati. Invece di generazione della tabella specifica per ogni utente, tutto che dobbiamo fare deve generare una singola tabella ad uso di tutti gli utenti, che "accoppia" sugli utenti con altri utenti che sono stati aggiunti alla loro lista del contatto. Denomineremo questo nuovi relate_contacts_to_users della tabella. Questo genere di tabella si riferisce a spesso come tabella di collegamento. La tabella conterrà due campi di numero intero per immagazzinare due numeri unici degli utenti ed anche il relativi propri assigned number per essere conformi unicamente ad essere una base di dati relazionale. Così quando un utente aggiunge un amico alla sua lista del contatto, il applet aggiungerà un'entrata in questa nuova tabella aggiungendo il numero unico dell'utente nel primo campo ed allora il numero unico dell'amico nel secondo campo. Ciò costituisce un'annotazione completa nella nuova tabella. Di conseguenza, possiamo aggiungere molti amici ad un monoutente con la spesa di soltanto tre valori di numero intero, piuttosto che di duplicare le molti stringhe e numeri interi che rappresentano i particolari degli utenti.
Di conseguenza, usando questo metodo migliore, se allora desiderassimo aggiungere il bobby e John come ci mettiamo in contatto con per il jenny, tutto che abbiamo dovuto fare deve aggiungere due annotazioni supplementari nella tabella di relate_contacts_to_users per collegare i numeri unici di identificazione di bobby e di John all'identificazione unica del jenny.
Questa tecnica ha molte applicazioni quando viene a memorizzare i dati in un senso ottimale e può anche condurre ai dati d'accesso più velocemente. Inoltre, rimuove la limitazione dei campi predefiniti, come i giocatori possono avere altretanti amici mentre desiderano dovuto ogni nuovo amico che è aggiunto semplicemente come annotazione alla tabella relazionale.
Online: 873 users browsing the articles directory
|
|