Relational Database Model Tutorial

I denne øvelsen skal vi utvikle en relasjonsdatabasemodell som skaper en adressebok. Vi begynner med en flat-fil database (dvs. en enkelt tabell av data), og utvide den med datarelasjoner på tvers av flere tabeller. Denne opplæringen utforsker begrepet unike database nøkler, og hvordan du velger dem.

Den Flat-File Adressebok

Vi begynner med en enkel adressebok, i et flatt bord. Hvis du vil, kan du bygge dette på noen regnearket; et regneark bruker kolonner og rader for å lage en todimensjonal representasjon av data, som er definisjonen på en flat fil.

Øverst, vil vi lage disse etikettene: navn, adresse, by, stat, postnummer, telefon og e-post. Dette skaper syv felt for våre registre, som vi deretter kan gå inn på påfølgende rader av databasen.

Men hva skjer hvis en enkelt person har mer enn én e-postadresse, eller hvis to mennesker har samme navn? I en flat fil, kan dette lett føre til problemer i datalagrings eller utnyttelse; for eksempel hvis du skohorn to e-postadresser i en enkelt e-post adresse celle, du vil ikke lenger være i stand til å programmatisk hente en enkelt e-postadresse for hver person. (Denne begrensningen på data - kalt "normalisering" - er avgjørende for å bygge gode databaser, en database der alle felt er et sammensurium av informasjon raskt blir ubrukelig.)

Den enkleste måten å endre dette på er å holde flat fil, men å legge til nye felt (dvs. EMAIL2, Email3). Dette er også dårlig database design; en rapport eller skript som forsøker å hente en e-postadresse vil mislykkes hvis E-post er blank, men Email2 eller Email3 er fylt ut, med mindre stadig kompliserte programmer brukes.

The Simple Relational Database Model

I stedet oppretter en relasjon mellom to flate filer. I den første tabellen, legge til et felt merket ID, og ​​fyll den med sekvensielle tall. Hvert nummer må være unikt i hver post. I en annen tabell, lage to felt: ID og e-post. Tabellene vil se slik ut:

Flat: (Navn: "John Smith", e-post: «[email protected]")

relasjons~~POS=TRUNC:
Tabell 1: (ID: "31415", Navn: "John Smith")
Tabell 2: (ID: "31415", e-post: «[email protected]")

ID-nummeret er "nøkkelfeltet" som relaterer de to tabellene. For å legge til flere e-postadresser til denne posten i tabell 1, vil du legge til flere poster til den andre tabellen, hver med samme ID som John Smith. De fleste database programvare vil håndtere disse relasjonene for deg. Legge inn flere e-postadresser til en form vil skape ID relasjoner bak kulissene, forut databasen modellen er satt opp riktig.

Avansert Relasjons Teknikker

Noen ganger kan det være lurt å bruke viktige felt som er seg selv meningsfylt. La oss si at du ønsker å sette opp en ansatt bord, men du har to personer både navn John Smith i samme selskap. Du kan bruke unike IDer for dette, men du kan også bruke andre former for unike data. E-postadresser blir ofte anvendes for dette formål, ettersom de vanligvis er garantert å være unik. Et samfunnshus, men der hvor noen mennesker kan dele en e-postadresse, vil ikke være en god bruk av denne teknikken.