Esercizi di database relazionali

March 8

In questi esercizi, esploreremo l'uso di campi chiave il numero di serie di mettere in relazione le tabelle di dati, e la creazione di relazioni tra tabelle secondarie di migliorare la nostra capacità di memorizzare e molteplici processi e le voci di dati estesi.

Il numero di serie I campi chiave

Il modo più semplice per creare un rapporto di database è quello di utilizzare i campi chiave il numero di serie in cui un numero univoco viene assegnato a ogni record in una determinata tabella. Ad esempio, creeremo una rubrica con più rapporti, che consente ingressi multipli record di ogni persona.

Tabella 1, Gente:
Notizia 1: (UserID: 1, nome: "Jane Doe")
Record 2: (UserID: 2, nome: "Joseph Brown")

Tabella 2, E-mail:
Notizia 1: (UserID: 1, E-mail: "[email protected]")
Record 2: (UserID: 2, E-mail: "[email protected]")
Record 3: (UserID: 2, E-mail: "[email protected]")

Tabella 3, Telefono:
Notizia 1: (UserID: 2, telefono: "202-555-8213")

Il rapporto è stato creato utilizzando il campo chiave UserID, che riguarda la UserID nella tabella 1 con la UserID in Tabella 2 e Tabella 3. Le tabelle email e per telefono, però, non hanno alcuna relazione tra loro che non si connette di nuovo al UserID , quindi non abbiamo bisogno di assegnare loro numeri di identificazione unici. Per recuperare le informazioni complete, il vostro rapporto o script di database (chiamato anche un "metodo") sarebbe attraversare questi rapporti: a partire con il record di persone nome, sarebbe prima recuperare tutti i numeri di telefono con lo stesso ID utente, quindi tutti gli indirizzi e-mail che UserID e il formato per la visualizzazione o la stampa.

È importante notare che UserIDs nella tabella primaria devono essere univoci; è accettabile per saltare numeri (di solito, questo si verifica quando i record vengono eliminati), ma lo stesso numero può mai essere utilizzato due volte. Nelle tabelle secondarie, tuttavia, è possibile utilizzare tale ID primario tutte le volte che è necessario creare più record; Joseph Brown ha due indirizzi e-mail, così lui ha due voci nella tabella e-mail con la UserID.

Secondari relazioni campo chiave

Spesso, si vuole creare una seconda serie di relazioni in aggiunta alla prima. Se si desidera memorizzare, ad ogni indirizzo di posta elettronica, una serie di istruzioni su come l'indirizzo e-mail deve essere utilizzato: ad esempio, HTML contro le email di testo normale, e un'etichetta lavoro o casa. Si potrebbe fare questo con un database di file flat con l'aggiunta di più campi per ogni record, ma che possono causare la progettazione di database inefficiente quando la tabella cresce di grandi dimensioni. Utilizzare una relazione di chiave secondaria, invece.

Tabella 2, E-mail:
Notizia 1: (EmailID: 1, UserID: 1, E-mail: "[email protected]")
Record 2: (EmailID: 2, UserID: 2, E-mail: "[email protected]")
Record 3: (EmailID: 3, UserID: 2, E-mail: "[email protected]")

Tabella 4, EmailInstructions:
Notizia 1: (EmailID: 1, Tipo: "HTML", Tipo: "lavoro")
Record 2: (EmailID: 2, Tipo: "pianura", Tipo: "lavoro")
Record 3: (EmailID: 3, tipo: "pianura", Tipo: "casa")

Con una tabella secondaria, è possibile memorizzare dati arbitrari per ogni record, pur mantenendo la massima efficienza dei richiami nell'ambito del tavolo iniziale, che non ha bisogno dei dati secondaria.