Introduksjon til databaserelasjoner

Innholdsfortegnelse:

Introduksjon til databaserelasjoner
Introduksjon til databaserelasjoner
Anonim

Databasebegrepene relasjonell og relasjon beskriver måten data i tabeller henger sammen. En relasjonsdatabase består av en serie med to eller flere tabeller koblet sammen med en bestemt nøkkel. En relasjonsdatabase skiller seg fra ustrukturerte databaser, som er vanlige i big data-initiativer. Relasjonsdatabaser har en tendens til å kreve strenge regler for hvordan tabeller defineres og hva som utgjør et gyldig forhold mellom tabeller.

Image
Image

Typer av databaserelasjoner

Relasjoner lar deg beskrive forbindelsene mellom databasetabeller på kraftige måter. Disse relasjonene kan deretter utnyttes til å utføre kraftige krysstabellspørringer, kjent som JOINs.

Det er tre typer databaserelasjoner, hver navngitt i henhold til antall tabellrader som er involvert i relasjonen. Hver av disse tre relasjonstypene eksisterer mellom to tabeller.

  • En-til-en-relasjoner oppstår når hver oppføring i den første tabellen har bare én motpart i den andre tabellen. En-til-en-relasjoner brukes sjelden fordi det ofte er mer effektivt å sette all informasjon i en enkelt tabell. Noen databasedesignere utnytter dette forholdet ved å lage tabeller som inneholder et delsett av dataene fra en annen tabell.
  • En-til-mange-relasjoner er den vanligste typen databaserelasjoner. De oppstår når hver post i tabell A tilsvarer én eller flere poster i tabell B, men hver post i tabell B tilsvarer bare én post i tabell A. For eksempel forholdet mellom en lærertabell og en elevtabell på en barneskole database vil sannsynligvis være en en-til-mange-relasjon fordi hver elev har bare én lærer, men hver lærer har flere elever. Denne en-til-mange-designen bidrar til å eliminere dupliserte data.
  • Mange-til-mange-relasjoner oppstår når hver post i tabell A tilsvarer én eller flere poster i tabell B, og hver post i tabell B tilsvarer én eller flere poster i tabell A. For eksempel vil forholdet mellom en lærertabell og en kurstabell sannsynligvis være mange-til-mange fordi hver lærer kan instruere mer enn ett kurs, og hvert kurs kan ha mer enn én instruktør.

bunnlinjen

Selvrefererende relasjoner oppstår når det bare er én tabell involvert. Et vanlig eksempel er en Ansatte-tabell som inneholder informasjon om lederen til hver ansatt. Hver veileder er også en ansatt og har en veileder. I dette tilfellet er det et en-til-mange selvrefererende forhold, ettersom hver ansatt har én veileder, men hver veileder kan ha mer enn én ansatt.

Opprette relasjoner med utenlandske nøkler

Du oppretter relasjoner mellom tabeller ved å spesifisere en fremmednøkkel. Denne nøkkelen forteller relasjonsdatabasen hvordan tabellene er relatert. I mange tilfeller inneholder en kolonne i tabell A primærnøkler som er referert til fra tabell B.

Tenk på eksemplet med tabellene for lærere og elever. Lærertabellen inneholder en ID, et navn og en kurskolonne:

InstructorID Teacher_Name Course
001 John Doe engelsk
002 Jane Schmoe Math

Studenter-tabellen inneholder en ID, navn og en fremmednøkkelkolonne:

StudentID Student_Name Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

Kolonnen Teacher_FK i elevtabellen refererer til primærnøkkelverdien til en instruktør i lærertabellen. Databasedesignere bruker ofte PK eller FK i kolonnenavnet for å identifisere en primærnøkkel eller fremmednøkkelkolonne.

Disse to tabellene illustrerer et en-til-mange forhold mellom lærerne og elevene.

Relasjoner og referanseintegritet

Etter å ha lagt til en fremmednøkkel til en tabell, lag en databasebegrensning som fremtvinger referanseintegritet mellom de to tabellene. Dette trinnet sikrer at relasjoner mellom tabeller forblir konsistente. Når en tabell har en fremmednøkkel til en annen tabell, krever referanseintegritet at enhver fremmednøkkelverdi i tabell B må referere til en eksisterende post i tabell A.

Implementering av relasjoner

Avhengig av databasen din, vil du implementere relasjoner mellom tabeller på forskjellige måter. Microsoft Access tilbyr en veiviser som lar deg koble tabeller og også håndheve referanseintegritet.

Hvis du skriver SQL direkte, lag først tabellen Lærere, og erklær en ID-kolonne som primærnøkkel:

CREATE TABLE Teachers (InstructorID INT AUTO_INCREMENT PRIMARY KEY, Teacher_Name VARCHAR(100), Course VARCHAR(100));

Når du oppretter Elev-tabellen, erklærer du Teacher_FK-kolonnen som en fremmednøkkel som refererer til InstructorID-kolonnen i Teachers'-tabellen:

CREATE TABLE Studenter (StudentID INT AUTO_INCREMENT PRIMARY KEY, Student_Name VARCHAR(100), Teacher_FK INT, FOREIGN KEY (Teacher_FK) REFERENCES Teachers)(InstructorID));

Bruke relasjoner for å bli med i tabeller

Etter å ha opprettet en eller flere relasjoner i databasen din, utnytte kraften deres ved å bruke SQL JOIN-spørringer for å kombinere informasjon fra flere tabeller. Den vanligste typen join er en SQL INNER JOIN, som er en enkel join. Denne typen sammenføyning returnerer alle poster som oppfyller sammenføyningsbetingelsen fra én eller flere tabeller.

For eksempel returnerer denne JOIN-betingelsen Student_Name, Teacher_Name og Course, der fremmednøkkelen i Students-tabellen samsvarer med primærnøkkelen i Teachers-tabellen:

SELECT Students. Student_Name, Teachers. Teacher_Name, Teachers. Course

FROM Students

INNER JOIN TeachersON Students. Teacher_FK=Teachers. InstructorID;

Denne setningen produserer en tabell som dette:

Student_Name Teacher_Name Course
Lowell Smith John Doe engelsk
Brian Short John Doe engelsk
Corky Mendez Jane Schmoe Math
Monica Jones John Doe engelsk

Anbefalt: