Въведение в релациите на бази данни

Съдържание:

Въведение в релациите на бази данни
Въведение в релациите на бази данни
Anonim

Термините на базата данни релация и връзка описват начина, по който данните в таблиците са свързани. Релационната база данни се състои от поредица от две или повече таблици, свързани с определен ключ. Релационната база данни се различава от неструктурираните бази данни, които са често срещани в инициативите за големи данни. Релационните бази данни обикновено изискват строги правила за това как се дефинират таблиците и какво представлява валидна връзка между таблиците.

Image
Image

Видове релации на бази данни

Връзките ви позволяват да описвате връзките между таблиците на базата данни по мощни начини. След това тези релации могат да бъдат използвани за извършване на мощни кръстосани заявки, известни като JOINs.

Има три типа релации на бази данни, всяка наречена според броя на редовете на таблицата, включени в релацията. Всеки от тези три типа релации съществува между две таблици.

  • Връзки едно към едно възникват, когато всеки запис в първата таблица има само един аналог във втората таблица. Връзките едно към едно рядко се използват, защото често е по-ефективно да поставите цялата информация в една таблица. Някои дизайнери на бази данни се възползват от тази връзка, като създават таблици, които съдържат подмножество от данни от друга таблица.
  • Връзките "един към много" са най-разпространеният тип релации на бази данни. Те възникват, когато всеки запис в Таблица A съответства на един или повече записи в Таблица B, но всеки запис в Таблица B съответства само на един запис в Таблица A. Например връзката между таблица Учители и таблица Ученици в начално училище базата данни вероятно ще бъде връзка "един към много", защото всеки ученик има само един учител, но всеки учител има няколко ученици. Този дизайн "един към много" помага за елиминирането на дублирани данни.
  • Връзки много към много възникват, когато всеки запис в Таблица A съответства на един или повече записи в Таблица B, а всеки запис в Таблица B съответства на един или повече записи в Таблица A. Например връзката между таблица Учители и таблица Курсове вероятно ще бъде много към много, защото всеки учител може да преподава повече от един курс и всеки курс може да има повече от един инструктор.

Долен ред

Самопрепращащите се релации възникват, когато има само една включена таблица. Един често срещан пример е таблица Employees, която съдържа информация за ръководителя на всеки служител. Всеки ръководител също е служител и има ръководител. В този случай има самореферираща връзка "един към много", тъй като всеки служител има един ръководител, но всеки ръководител може да има повече от един служител.

Създаване на връзки с външни ключове

Създавате релации между таблици, като посочите външен ключ. Този ключ казва на релационната база данни как са свързани таблиците. В много случаи колона в таблица A съдържа първични ключове, които са посочени в таблица B.

Разгледайте примера на таблиците Учители и Ученици. Таблицата с учители съдържа идентификатор, име и колона за курс:

InstructorID Име_на учителя Курс
001 Джон Доу английски
002 Джейн Шмоу математика

Таблицата Students включва ID, име и колона с външен ключ:

StudentID Student_Name Teacher_FK
0200 Lowell Smith 001
0201 Брайън Шорт 001
0202 Корки Мендес 002
0203 Моника Джоунс 001

Колоната Teacher_FK в таблицата Students препраща към стойността на първичния ключ на инструктор в таблицата Teachers. Често дизайнерите на бази данни използват PK или FK в името на колоната, за да идентифицират първичен ключ или колона с външен ключ.

Тези две таблици илюстрират връзката "един към много" между учителите и учениците.

Връзки и референтна цялост

След добавяне на външен ключ към таблица, създайте ограничение на базата данни, което налага референтна цялост между двете таблици. Тази стъпка гарантира, че връзките между таблиците остават последователни. Когато една таблица има външен ключ към друга таблица, референтната цялост изисква всяка стойност на външен ключ в Таблица Б да препраща към съществуващ запис в Таблица А.

Внедряване на взаимоотношения

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

Ако пишете SQL директно, първо създайте таблицата Teachers, като декларирате ID колона като първичен ключ:

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

Когато създавате таблицата Students, вие декларирате колоната Teacher_FK като външен ключ, препращащ към колоната InstructorID в таблицата Teachers':

СЪЗДАВАНЕ НА ТАБЛИЦА Студенти (StudentID INT AUTO_INCREMENT PRIMARY KEY, Student_Name VARCHAR(100), Teacher_FK INT, FOREIGN KEY (Teacher_FK) РЕФЕРЕНЦИИ Teachers(InstructorID)));

Използване на релации за свързване на таблици

След като създадете една или повече релации във вашата база данни, използвайте тяхната сила, като използвате SQL JOIN заявки, за да комбинирате информация от множество таблици. Най-често срещаният тип присъединяване е SQL INNER JOIN, което е просто присъединяване. Този тип обединяване връща всички записи, които отговарят на условието за обединяване от една или повече таблици.

Например, това условие JOIN връща Име_на_ученик, Име_на_учител и Курс, където външният ключ в таблицата Ученици съвпада с първичния ключ в таблицата Учители:

ИЗБЕРЕТЕ Students. Student_Name, Teachers. Teacher_Name, Teachers. Course

FROM Students

INNER JOIN TeachersON Students. Teacher_FK=Teachers. InstructorID;

Това изявление създава таблица нещо като това:

Student_Name Име_на учителя Курс
Lowell Smith Джон Доу английски
Брайън Шорт Джон Доу английски
Корки Мендес Джейн Шмоу математика
Моника Джоунс Джон Доу английски

Препоръчано: