Relational Database Design teknikker

Relasjonsdatabase design er basert på tre hovedteknikker: en-til-mange-relasjon, join tabellen, og mange-til-mange-relasjon. For å forstå relasjonsdatabase design, er det viktig å kjenne disse teknikkene, samt konkrete begreper om nøkkelfeltet.

The One-til-mange relasjon

Den vanligste relasjonsdatabasen teknikk er en-til-mange-relasjon. Dette forbinder en enkelt post i primærtabellen (det vil si en flat-fil database med poster og felt), med en rekke poster i en sekundær tabell. En-til-mange-relasjoner er preget av unike forbindelser i annenhånds bordet; hver av disse poster kan ha mer enn en forbindelse post i hovedtabellen.

Disse tilkoblingene er laget ved hjelp av "nøkkelfelt", som er unike oppføringer i primær bordet; vanligvis disse feltene er opprettet og håndheves av automatisk tildele en sekvensiell serienummer til hver ny rekord. Enhver rekord i sekundærtabellen som deler denne unike data vil bli knyttet til en primær posten.

Nå kan du utforske dette med et eksempel adressebok database. Si at du vil ha en design som gjør at alle i databasen for å ha flere telefonnumre. Dette er den mest vanlige måten å oppnå dette:

Folk tabell:
Post 1: (personId: 1, Navn: "Franklin Roosevelt»)
Record 2: (personId: 2, Navn: "Lyndon Johnson")

Telefoner tabell:
Post 1: (personId: 1, Tlf: "202-555-1932")
Record 2: (personId: 1, Tlf: "202-555-1936")
Record 3: (personId: 2, Tlf: "202-555-1964")

Når disse to tabellene er relatert av personId nøkkelfeltet, vil Franklin ha to telefonnumre, men Lyndon vil bare ha en. Likeledes er hvert telefonnummer entydig knyttet til en enkelt person i People tabellen.

Bli Tabeller

En annen teknikk som kalles en "bli med tabell", som brukes for registreringer som trekkes fra to andre tabeller. Dette er ofte brukt når dataene må velges fra faste tabeller; bli med tabeller kan bare holde relasjonsdata, slik at alle data som skrives inn i dem må trekkes fra eksisterende tabeller.

For eksempel anta at du vil legge til en "jobb" eller "hjem" etikett til hver av telefonnumrene i eksempelet database. Gjør dette ved å skrive om forholdet som et delta tabell:

Folk tabell:
Post 1: (personId: 1, Navn: "Franklin Roosevelt»)
Record 2: (personId: 2, Navn: "Lyndon Johnson")

Telefoner tabell:
Post 1: (PhoneID: 1, Tlf: "202-555-1932")
Record 2: (PhoneID: 2, Tlf: "202-555-1936")
Record 3: (PhoneID: 3, Tlf: "202-555-1964")

TELEFON tabell:
Post 1: (PhoneTypeID: 1, Type: "jobb")
Record 2: (PhoneTypeID: 2, Type: "hjemme")

Bli tabell:
Post 1: (personId: 1, PhoneID: 1, PhoneTypeID: 1)
Record 2: (personId: 2, PhoneID: 2, PhoneTypeID: 2)
Record 3: (personId: 3, PhoneID: 3, PhoneTypeID: 1)

I denne databasen, alle relasjoner koble til delta bord, som gjør alt arbeidet knyttet et navn til et telefonnummer, og begge disse til et telefonnummer type. En mer effektiv versjon kunne bruke to bli med tabeller, siden navnet på personen trenger ikke være direkte knyttet til den type telefon: personId og PhoneID i å bli med tabell 1, PhoneID og PhoneTypeID i delta tabell 2.

Bruke Medlem Tabeller å lage mange-til-mange relasjoner

I delta tabeller, er en-til-mange-relasjon ikke lenger gjennomført. Hvis vi vil, kan vi tildele samme telefonnummer til mange mennesker, eller "hjemme" eller "arbeid" etiketten til så mange telefoner som vi liker. Dette gir oss muligheten til å sette opp mange-til-mange relasjoner, hvor noen post i en tabell kan koble til flere poster i andre tabeller. Dette er et kraftig database teknikk, men ettersom det kan skape kompliserte data relasjoner, bør det bare anvendes hvor en en-til-mange-relasjon ikke vil være tilstrekkelig.