Skip to main content

Introduktion til databaseforhold

Introduktion til Nordnet Smarte Porteføljer (Juni 2026)

Introduktion til Nordnet Smarte Porteføljer (Juni 2026)
Anonim

Databaset termen "relationel" eller "relation" beskriver måden, som data i tabeller er tilsluttet.

Nybegyndere til databasernes verden har ofte svært ved at se forskellen mellem en database og et regneark. De ser datatabeller og erkender, at databaser giver dig mulighed for at organisere og forespørge data på nye måder, men undlader at forstå betydningen af forhold mellem data der giver relationsdatabaseteknologien sit navn.

Relationer giver dig mulighed for at beskrive forbindelserne mellem forskellige databasetabeller på kraftige måder. Disse relationer kan derefter udnyttes til at udføre magtfulde tværbordsforespørgsler, kendt som sammenføjninger.

Typer af database relationer

Der er tre forskellige typer af database relationer, hver navngivet i henhold til antallet af tabel rækker, der kan være involveret i forholdet. Hver af disse tre relationstyper findes mellem to tabeller.

  • En-til-en-relationer opstår, når hver indtastning i den første tabel har en og kun en modpart i den anden tabel. En-til-en-relationer anvendes sjældent, fordi det ofte er mere effektivt at blot sætte alle oplysningerne i et enkelt bord. Nogle database designere udnytter dette forhold ved at oprette tabeller, der indeholder en delmængde af dataene fra en anden tabel.
  • En-til-mange relationer er den mest almindelige type database forhold. De opstår, når hver post i tabel A svarer til en eller flere poster i tabel B, men hver post i tabel B svarer til kun en post i tabel A. For eksempel er forholdet mellem en lærer-tabel og en elevbord i en grundskole databasen vil sandsynligvis være et enkelt til mange forhold, fordi hver elev kun har én lærer, men hver lærer har flere studerende. Dette one-to-many design hjælper med at eliminere duplikeret data.
  • Mange til mange relationer forekommer, når hver post i tabel A svarer til en eller flere poster i tabel B, og hver post i tabel B svarer til en eller flere poster i tabel A. For eksempel vil forholdet mellem en lærer og en kurser tabel sandsynligvis være mange- til mange, fordi hver lærer kan instruere mere end et kursus, og hvert kursus kan have mere end én instruktør.

Selvrefererende forhold: Et specielt tilfælde

Selvrefererende relationer opstår, når der kun er én tabel involveret. Et almindeligt eksempel er en medarbejderbord, der indeholder oplysninger om hver medarbejders vejleder. Hver vejleder er også en medarbejder og har sin egen vejleder. I dette tilfælde er der en til mange selvreferencer, da hver medarbejder har en vejleder, men hver vejleder kan have mere end én medarbejder.

Oprettelse af forbindelser med udenlandske nøgler

Du opretter relationer mellem tabeller ved at angive en fremmed nøgle. Denne nøgle fortæller relationsdatabasen, hvordan tabellerne er relaterede. I mange tilfælde indeholder en kolonne i tabel A primære nøgler, der refereres fra tabel B.

Overvej igen eksemplet på lærer- og elevtabellerne. Lærerbordet indeholder kun et ID, et navn og en kursuskolonne:

Lærere
InstructorIDTEACHER_NAMERute
001John Doeengelsk
002Jane SchmoeMath

Studerende-tabellen indeholder et ID, navn og en udenlandsk nøglesøjle:

Studerende
StudiekortElevnavnTeacher_FK
0200Lowell Smith001
0201Brian Short001
0202Corky Mendez002
0203Monica Jones001

Kolonnen Teacher_FK I elevens tabel refereres den primære nøgle værdi af en instruktør i lærerens tabel.

Ofte bruger database designere "PK" eller "FK" i kolonnenavnet for nemt at identificere en primærnøgle eller en udenlandsk nøglekolonne.

Bemærk at disse to tabeller illustrerer et forhold mellem lærerne og de studerende.

Forhold og referenceintegritet

Når du har tilføjet en fremmed nøgle til et bord, kan du derefter oprette en databasebegrænsning, der håndhæver referentiel integritet mellem de to tabeller. Dette sikrer, at forhold mellem tabeller forbliver konsistente. Når et bord har en fremmednøgle til en anden tabel, angiver begrebet referentiel integritet, at en fremmed nøgleværdi i tabel B skal referere til en eksisterende post i tabel A.

Gennemførelse af relationer

Afhængigt af din database implementerer du forhold mellem tabeller på forskellige måder. Microsoft Access giver en guide, der let giver dig mulighed for at linke tabeller og også håndhæve referential integritet.

Hvis du skriver SQL direkte, skal du først oprette tabellen Lærere, der erklærer en ID-kolonne for at være den primære nøgle:

CREATE TABLE Lærere (

InstructorID INT AUTO_INCREMENT PRIMARY KEY, Lærer_navn VARCHAR (100), Kursus VARCHAR (100));

Når du opretter tabellen Studerende, erklærer du kolonnen Teacher_FK for at være en fremmed nøgle, der refererer til InstruktørID-kolonnen i lærerens tabel:

CREATE TABLE Studerende ( StudentID INT AUTO_INCREMENT PRIMARY KEY, Student_navn VARCHAR (100), Teacher_FK INT, UDENLANDSKE KEY (Teacher_FK) REFERENCER Lærere (InstructorID)));

Brug af relationer til at deltage i tabeller

Når du har oprettet et eller flere relationer i din database, kan du udnytte deres magt ved hjælp af SQL JOIN-forespørgsler for at kombinere oplysninger fra flere tabeller. Den mest almindelige form for deltagelse er en SQL INNER JOIN, eller en simpel deltagelse. Denne type af deltager returnerer alle poster, der opfylder tilmeldingsbetingelsen fra flere tabeller.F.eks. Vil denne JOIN-betingelse returnere Student_Name, Teacher_Name og Course, hvor den fremmede nøgle i Studenter-tabellen svarer til den primære nøgle i lærerbordet:

SELECT Students.Student_Name, Teachers.Teacher_Name, Teachers.CourseFRA studerendeINNER JOIN LærereON Students.Teacher_FK = Teachers.InstructorID;

Denne erklæring producerer en tabel noget som dette:

Returnerede tabel fra SQL Join statement

Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish