Деректер базасы мамилелерине киришүү

Мазмуну:

Деректер базасы мамилелерине киришүү
Деректер базасы мамилелерине киришүү
Anonim

Деректер базасынын реляциялык жана байланыштык терминдери таблицалардагы маалыматтардын туташуу жолун сүрөттөйт. Реляциялык маалымат базасы белгилүү бир ачкыч менен байланышкан эки же андан көп таблицалардан турат. Реляциялык маалымат базасы чоң маалымат демилгелеринде кеңири таралган структураланбаган маалымат базаларынан айырмаланат. Реляциялык маалымат базалары таблицалар кантип аныктала тургандыгы жана таблицалардын ортосундагы жарактуу мамилени түзүүчү катуу эрежелерди талап кылат.

Image
Image

Маалымат базасынын мамилелеринин түрлөрү

Мамилелер база таблицаларынын ортосундагы байланыштарды күчтүү жолдор менен сүрөттөөгө мүмкүндүк берет. Андан кийин бул байланыштарды JOIN деп аталган күчтүү кайчылаш таблица сурамдарын аткаруу үчүн колдонсо болот.

Деректер базасы мамилелеринин үч түрү бар, алардын ар бири байланышка катышкан таблица саптарынын санына жараша аталышат. Бул үч байланыш түрүнүн ар бири эки таблица ортосунда бар.

  • Бирден-бир мамилелер биринчи таблицадагы ар бир жазуу экинчи таблицада бир гана окшоштукка ээ болгондо пайда болот. Бирден-бир мамилелер сейрек колдонулат, анткени бардык маалыматты бир таблицага коюу кыйла эффективдүү. Кээ бир маалыматтар базасынын дизайнерлери башка таблицадагы берилиштердин бир бөлүгүн камтыган таблицаларды түзүү менен бул байланышты колдонушат.
  • Бирге-көп мамилелер маалымат базасынын байланышынын эң кеңири таралган түрү. Алар А таблицасындагы ар бир жазуу В таблицасындагы бир же бир нече жазууга туура келгенде пайда болот, бирок В таблицасындагы ар бир жазуу А таблицасындагы бир гана жазууга туура келет. Мисалы, башталгыч мектептеги Мугалимдер таблицасы менен Студенттер таблицасынын ортосундагы байланыш маалымат базасы, кыязы, бирден көпкө байланыш болушу мүмкүн, анткени ар бир студентте бир гана мугалим бар, бирок ар бир мугалимде бир нече студент бар. Бул бирден көп дизайн кайталанган маалыматтарды жок кылууга жардам берет.
  • Көптөн көпкө мамилелер А таблицасындагы ар бир жазуу В таблицасындагы бир же бир нече жазууга, ал эми В таблицасындагы ар бир жазуу бир же бир нече жазууга туура келгенде пайда болот А таблицасында. Мисалы, Мугалимдер таблицасы менен Курстар таблицасынын ортосундагы байланыш көп-көп болушу мүмкүн, анткени ар бир мугалим бирден ашык курсту окута алат жана ар бир курста бирден ашык окутуучу болушу мүмкүн.

Төмөнкү сап

Өзүнө шилтеме жасоо мамилелери бир гана үстөл катышканда пайда болот. Бир жалпы мисал ар бир кызматкердин жетекчиси жөнүндө маалыматты камтыган Кызматкерлер таблицасы болуп саналат. Ар бир жетекчи да кызматкер жана жетекчиси бар. Бул учурда, ар бир кызматкердин бирден жетекчиси бар, бирок ар бир жетекчинин бирден көп кызматкери болушу мүмкүн болгондуктан, бирден көпкө өзүн-өзү шилтеме кылуучу байланыш бар.

Чет элдик ачкычтар менен байланыш түзүү

Сиз чет өлкөлүк ачкычты көрсөтүү менен таблицалардын ортосундагы мамилелерди түзөсүз. Бул ачкыч реляциялык маалымат базасына таблицалар кандай байланышта экенин айтып берет. Көп учурларда, А таблицасындагы тилке Б таблицасынан шилтемеленген негизги ачкычтарды камтыйт.

Мугалимдер жана студенттер таблицаларынын мисалын карап көрөлү. Мугалимдер таблицасында идентификатор, аталыш жана курс тилкеси камтылган:

ИнструкторID Мугалимдин_аты Курс
001 Джон Доу Англисче
002 Джейн Шмое Математика

Студенттер жадыбалында идентификатор, ысым жана чет өлкөлүк ачкыч тилкеси камтылган:

StudentID Студенттин_аты Мугалим_ФК
0200 Лоуэлл Смит 001
0201 Брайан Шорт 001
0202 Корки Мендес 002
0203 Моника Жонс 001

Студенттер таблицасындагы Мугалим_FK тилкеси Мугалимдер таблицасындагы инструктордун негизги ачкыч маанисине шилтеме кылат. Көбүнчө маалымат базасынын дизайнерлери негизги ачкычты же чет өлкөлүк ачкыч тилкесин аныктоо үчүн тилкенин аталышында PK же FK колдонушат.

Бул эки таблица мугалимдер менен студенттердин ортосундагы бирден көпкө болгон мамилени көрсөтөт.

Мамилелер жана маалымдамалардын бүтүндүгү

Таблицага чет өлкөлүк ачкычты кошкондон кийин, эки таблица ортосунда маалымдама бүтүндүгүн камсыз кылуучу маалымат базасын чектөөнү түзүңүз. Бул кадам таблицалардын ортосундагы мамилелердин ырааттуу болушун камсыз кылат. Бир таблица башка таблицага чет өлкөлүк ачкыч болгондо, маалымдама бүтүндүгү В таблицасындагы чет өлкөлүк ачкычтын мааниси А таблицасындагы учурдагы жазууга шилтеме жасоону талап кылат.

Мамилелерди ишке ашыруу

Базаңызга жараша, таблицалар ортосундагы мамилелерди ар кандай жолдор менен ишке ашырасыз. Microsoft Access үстөлдөрдү байланыштырууга жана ошондой эле маалымдамалардын бүтүндүгүн камсыз кылууга мүмкүндүк берүүчү уста менен камсыз кылат.

Эгер сиз SQLди түз жазып жатсаңыз, алгач ID тилкесин негизги ачкыч деп жарыялоо менен Мугалимдер таблицасын түзүңүз:

CREATE TABLE Мугалимдер (InstructorID INT AUTO_INCREMENT PRIMARY KEY, Мугалимдин_Аты-жөнү VARCHAR(100), Курс VARCHAR(100));

Студенттердин таблицасын түзгөнүңүздө, Teacher_FK тилкесин Мугалимдердин таблицасындагы InstructorID тилкесине шилтеме кылган чет өлкөлүк ачкыч деп жарыялайсыз:

ТАБЛИЦИ ТҮЗҮҮ Студенттер (StudentID INT AUTO_INCREMENT PRIMARY KEY, Студенттин_Аты VARCHAR(100), Teacher_FK INT, FOREIGN KEY (Мугалимдер) (Мугалимдер));

Таблицаларга кошулуу үчүн мамилелерди колдонуу

Базаңызда бир же бир нече мамилелерди түзгөндөн кийин, бир нече таблицадагы маалыматты бириктирүү үчүн SQL JOIN сурамдарын колдонуу менен алардын күчүн колдонуңуз. Бириктирүүнүн эң кеңири таралган түрү бул SQL INNER JOIN, бул жөнөкөй кошулуу. Бул кошулуунун түрү бир же бир нече таблицадан кошулуу шартына жооп берген бардык жазууларды кайтарат.

Мисалы, бул JOIN шарты Студенттин_Атын, Мугалимдин_Атын жана Курсту кайтарат, мында Студенттер таблицасындагы тышкы ачкыч Мугалимдер таблицасындагы негизги ачкычка дал келет:

Студенттердин_Аты-жөнү, Мугалимдер. Мугалимдердин_Аты-жөнү, Мугалимдер. Курс

Студенттерден

INNER JOIN TeachersON Students. Teacher_FK=Teachers. InstructorID;

Бул билдирүү төмөнкүдөй таблицаны түзөт:

Студенттин_аты Мугалимдин_аты Курс
Лоуэлл Смит Джон Доу Англисче
Брайан Шорт Джон Доу Англисче
Корки Мендес Джейн Шмое Математика
Моника Жонс Джон Доу Англисче

Сунушталууда: