Gagnagrunnurinn "samskiptum" eða "sambönd" lýsir því hvernig gögnin í töflum eru tengdir.
Nýliðar í heim gagnagrunna hafa oft erfitt með að sjá muninn á gagnagrunni og töflureikni. Þeir sjá töflur af gögnum og viðurkenna að gagnagrunna leyfa þér að skipuleggja og spyrja gögn á nýjan hátt, en mistekst að skilja mikilvægi tengslanna milli gagna sem gefa nafnbreytingar gagnasafn tækni nafn sitt.
Sambönd leyfa þér að lýsa tengingum milli mismunandi gagnagrunna á öflugan hátt. Þessar sambönd geta síðan verið skuldsettir til að framkvæma öfluga yfirborðs fyrirspurnir, þekktur sem tengingar.
Tegundir gagnasamskipta
Það eru þrjár mismunandi gerðir gagnasamskipta, hver þeirra heitir í samræmi við fjölda borðregla sem kunna að taka þátt í sambandi. Hver af þessum þremur samskiptategundum er á milli tveggja tafla.
- Einstaklingar eiga sér stað þegar hver færsla í fyrstu töflunni hefur einn og aðeins einn, hliðstæðu í seinni töflunni. Einföld sambönd eru sjaldan notuð vegna þess að það er oft skilvirkara að einfaldlega setja allar upplýsingar í einni töflu. Sumir gagnasafnshönnuðir nýta sér þetta samband með því að búa til töflur sem innihalda undirhóp gagna úr öðru töflu.
- Eitt til margra samskipta eru algengustu tegundir gagnasambandsins. Þeir eiga sér stað þegar hvert skrá í töflu A samsvarar einum eða fleiri færslum í töflu B en hvert met í töflu B samsvarar aðeins einu meti í töflu A. Til dæmis er sambandið milli kennara borð og nemenda borð í grunnskóla Gagnasafn myndi líklega vera eitt til margra samskipta, því að hver nemandi hefur aðeins einn kennara en hver kennari hefur marga nemendur. Þessi einni til margra hönnunar hjálpar útrýma tvíhliða gögnum.
- Mörg til margra sambönd eiga sér stað þegar hvert skrá í töflu A samsvarar einum eða fleiri færslum í töflu B og hvert skrá í töflu B samsvarar einum eða fleiri færslum í töflu A. Til dæmis er sambandið milli kennara og námskeiðs Tafla væri líklega margföld vegna þess að hver kennari gæti kennt meira en eitt námskeið og hvert námskeið kann að hafa fleiri en einn kennara.
Sjálfvísandi tengsl: Sérstök tilfelli
Sjálfsvísindasambönd eiga sér stað þegar aðeins eitt borð er að ræða. Eitt algengt dæmi er starfsfólki töflunni sem inniheldur upplýsingar um umsjónarmann hvers starfsmanns. Hver umsjónarmaður er einnig starfsmaður og hefur eigin yfirmann sinn. Í þessu tilfelli er það eitt til margra sjálfstætt samband, þar sem hver starfsmaður hefur einn umsjónarmann en hver umsjónarmaður getur haft fleiri en einn starfsmann.
Búa til tengsl við erlenda lykla
Þú býrð til tengsl milli tafla með því að tilgreina erlent lykill. Þessi lykill sýnir sambandi gagnagrunninn hvernig borðið er tengt. Í mörgum tilvikum inniheldur súla í töflu A aðallyklar sem vísað er til í töflu B.
Íhugaðu aftur dæmi um kennara og nemenda töflur. Kennaraborðið inniheldur aðeins kennitölu, nafn og námskeiðssúlu:
InstructorID | Kennari_Name | Námskeið |
---|---|---|
001 | John Doe | Enska |
002 | Jane Schmoe | Stærðfræði |
Nemandaborðið inniheldur auðkenni, nafn og erlenda lykil dálk:
StudentID | Nafn nemanda | Kennari_FK |
---|---|---|
0200 | Lowell Smith | 001 |
0201 | Brian Short | 001 |
0202 | Corky Mendez | 002 |
0203 | Monica Jones | 001 |
Dálkinn Teacher_FK í námsmatstöflunni vísar til aðal lykilvirði kennara í kennaraborðinu .
Oft mun gagnasafnshönnuðir nota "PK" eða "FK" í dálkheitinu til að auðkenna aðal lykil eða erlendan lykil dálk.
Athugaðu að þessar tvær töflur sýna eitt til margra tengsl milli kennara og nemenda.
Sambönd og tilvísun heilindi
Þegar þú hefur bætt við erlent lykill í töflu geturðu síðan búið til gagnagrunniþvingun sem fullnægir referential heiðarleika milli tveggja taflna. Þetta tryggir að sambönd milli taflna séu í samræmi. Þegar eitt borð hefur erlent lykil í annað borð, segir hugtakið referential integrity að allir erlendir lykill gildi í töflu B skuli vísa til núverandi skrá í töflu A.
Framkvæmdar sambönd
Það fer eftir gagnagrunni þinni með því að framkvæma tengsl milli tafla á mismunandi vegu. Microsoft Access veitir töframaður sem gerir þér kleift að tengja töflur og einnig til að framfylgja referential heiðarleiki.
Ef þú ert að skrifa SQL beint, þá ættirðu fyrst að búa til töflunni. Kennarar, sem lýsa yfir ID-dálki sem aðal lykillinn:
Búðu til töflu kennara (
InstructorID INT AUTO_INCREMENT PRIMARY KEY,
Kennari_Name VARCHAR (100),
Námskeið VARCHAR (100)
);
Þegar þú býrð til nemendafjöldann lýsir þú dálknum Teacher_FK til að vera erlent lykill sem vísar til InstructorID dálkinn í töflu kennara:
Búðu til töflu nemendur (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
NámsmaðurName VARCHAR (100), Kennari_FK INT,
FRAMLEIÐSLA KEY (Teacher_FK) Tilvísanir Kennarar (InstructorID))
);
Nota sambönd til að taka þátt í töflum
Þegar þú hefur búið til eitt eða fleiri sambönd í gagnagrunninum þínum, getur þú nýtt vald sitt með því að nota SQL JOIN fyrirspurnir til að sameina upplýsingar úr mörgum borðum. Algengasta gerð þátttöku er SQL INNER JOIN, eða einfalt þátttaka. Þessi tegund af þátttöku skilar öllum skrám sem uppfylla þátttökuskilyrði frá mörgum borðum. Til dæmis, þetta JOIN skilyrði mun skila Student_Name, Kennari_Name og námskeið þar sem erlent lykill í nemenda borð passar aðal takkann í kennara borðinu:
SELECT Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
Frá nemendum
INNER JOIN Kennarar
ON Students.Teacher_FK = Kennarar.InstructorID;
Þessi yfirlýsing framleiðir borð eins og þetta:
Skilað borð frá SQL Join Statement
Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish