Вовед во односите со бази на податоци

Терминот за базата на податоци "релациона" или "врска" го опишува начинот на кој се поврзани податоците во табелите.

Новодојденците во светот на бази на податоци често имаат тешко време да ја видат разликата помеѓу базата на податоци и табелата. Тие гледаат табели на податоци и признаваат дека базите на податоци ви дозволуваат да ги организирате и да ги пребарувате податоците на нови начини, но не успеваат да го сфатат значењето на односите меѓу податоците што им даваат на технологијата за релациони бази на податоци неговото име.

Односите ви овозможуваат да ги опишете врските помеѓу различни табели на бази на податоци на моќни начини. Овие односи потоа можат да се искористат за да се извршат моќни пребарувања од вкрстени табели, познати како приклучоци.

Видови врски со бази на податоци

Постојат три различни типови на врски на базата на податоци, секоја именувана според бројот на редови на табели кои можат да бидат вклучени во врската. Секој од овие три типа на односи постои помеѓу две табели.

Односи со само-референцирање: посебен случај

Релациите со само-референцирање се јавуваат кога има само една табела. Еден чест пример е табелата на вработените која содржи информации за супервизорот на секој вработен. Секој претпоставен е исто така вработен и има свој претпоставен. Во овој случај, постои еден-на-многу само-референцирање односи, како секој вработен има еден претпоставен, но секој претпоставен може да има повеќе од еден вработен.

Креирање врски со странски клучеви

Вие создавате врски помеѓу табелите со наведување на странски клуч. Овој клуч ја кажува релациона база на податоци како се поврзани табелите. Во многу случаи, колоната во Табела А содржи примарни клучеви кои се референцирани од Табела Б.

Повторно размислете за примерот на масите на наставниците и учениците. Табелата Наставници содржи само лична карта, име и колона на курсот:

Наставници
InstructorID Teacher_Name Курс
001 Џон До Англиски
002 Јане Шмо Математика

Табелата Студентите вклучува идентификатор, име и странски клуч колона:

Студенти
StudentID Student_Name Teacher_FK
0200 Ловел Смит 001
0201 Брајан Кратко 001
0202 Корки Мендез 002
0203 Моника Џонс 001

Колоната Teacher_FK во табелата Студенти ја реферира примарната клучна вредност на инструктор во табелата Наставници.

Често, дизајнерите на бази на податоци ќе го користат "PK" или "FK" во името на колоната за лесно идентификување на примарен клуч или колона за странски клучеви.

Имајте на ум дека овие две табели ја илустрираат врската меѓу наставниците и учениците еден-на-многу.

Врски и референтен интегритет

Откако ќе додадете странски клуч во табела, тогаш можете да создадете ограничување на база на податоци што ќе го засилува референтниот интегритет помеѓу двете табели. Ова осигурува дека односите меѓу табелите остануваат конзистентни. Кога една табела има странски клуч во друга табела, концептот на референцијален интегритет наведува дека секоја вредност од странски клуч во Табела Б мора да се однесува на постоечки запис во Табела А.

Спроведување односи

Во зависност од вашата база на податоци, ги спроведувате односите меѓу табелите на различни начини. Microsoft Access обезбедува волшебник кој лесно ви овозможува да ги поврзете масите и исто така да наметнете референтен интегритет.

Ако директно пишувате SQL, прво ќе ја креирате табелата Наставници, прогласувајќи колона со идентификација да биде примарен клуч:

КРЕАЦИЈА ТАБЕЛА Наставници (

InstructorID INT AUTO_INCREMENT ПРИМАРЕН КЛУЧ,
Teacher_Name VARCHAR (100),
Курс VARCHAR (100)
);

Кога ја креирате табелата Студенти, прогласувате колона Teacher_FK да биде странски клуч кој се однесува на колоната InstructorID во наставната табела:

КРЕАЦИЈА ТАБЕЛА Студентите (
StudentID INT AUTO_INCREMENT ПРИМАРЕН КЛУЧ,
Student_Name VARCHAR (100), Teacher_FK INT,
СТРАНСКИ КЛУЧ (Teacher_FK) РЕФЕРЕНЦИИ Наставници (InstructorID))
);

Користење на врски за приклучување на табели

Откако ќе создадете една или повеќе врски во вашата база на податоци, можете да ја искористите нивната моќ користејќи SQL JOIN queries за да ги комбинирате информациите од повеќе табели. Најчестиот тип на приклучок е SQL INNER JOIN или едноставно се приклучи. Овој тип на приклучок ги враќа сите записи кои ги исполнуваат условите за приклучување од повеќе табели. На пример, оваа состојба JOIN ќе го врати името на Student_Name, Teacher_Name и курсот, каде што странскиот клуч во табелата Студентите одговара на примарниот клуч во табелата Наставници:

SELECT Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
ОД студенти
ВНАТРЕШНИ ПРИСТАПНИ наставници
ON Students.Teacher_FK = Teachers.InstructorID;

Оваа изјава произведува маса како ова:

Врати табела од изјавата за пристап на SQL

Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish