معرفی روابط پایگاه داده

اصطلاح پایگاه داده "ارتباطی" یا "رابطه" نحوه ارتباط داده ها در جداول را توضیح می دهد.

تازه واردان به دنیای پایگاه های داده اغلب زمان دیدن تفاوت بین پایگاه داده و یک صفحه گسترده را دشوار می دانند. آنها جداول داده ها را می بینند و تشخیص می دهند که پایگاه های داده ها به شما امکان می دهند داده ها را با روش های جدید سازماندهی کنید و آنها را پرس و جو کنید ، اما نتوانید اهمیت روابط بین داده هایی را که فناوری پایگاه داده ارتباطی آن را نام گذاری می کنید، درک کنید.

روابط به شما اجازه می دهد ارتباطات بین جداول پایگاه داده های مختلف را در روش های قدرتمند توصیف کنید. سپس می توان این روابط را برای نمایش داده های متقابل جدول قدرتمند که به عنوان پیوست ها شناخته می شود، استفاده می کنند.

انواع ارتباطات پایگاه داده

سه نوع مختلف روابط پایگاه داده وجود دارد که هر کدام با توجه به تعداد ردیف های جدول که ممکن است در رابطه دخیل باشند نام برده می شود. هر یک از این سه نوع رابطه بین دو جدول وجود دارد.

روابط خودسوزی: یک پرونده ویژه

روابط خود ارجاع زمانی رخ می دهد که تنها یک جدول درگیر باشد. یک مثال رایج جدول کارمند است که حاوی اطلاعاتی درباره سرپرست هر کارمند است. هر سرپرست نیز یک کارمند است و دارای سرپرست خودش است. در این مورد، یک رابطه به خودی خود یک به تعداد وجود دارد، زیرا هر کارمند یک سرپرست دارد، اما هر سرپرست ممکن است بیش از یک کارمند داشته باشد.

ایجاد رابطه با کلید های خارجی

شما با تعیین یک کلید خارجی، روابط بین جداول ایجاد می کنید. این کلید به پایگاه اطلاعاتی مرتبط می گوید که جداول مرتبط هستند. در بسیاری از موارد، یک ستون در جدول A حاوی کلیدهای اولیه است که از جدول B اشاره شده است.

دوباره نمونه هایی از جداول معلمان و دانش آموزان را بازبینی کنید. جدول معلمان فقط شامل شناسه، نام و ستون دوره است:

معلمان
InstructorID نام معلم دوره
001 جان دو انگلیسی
002 جین اسمو ریاضی

جدول دانش آموزان شامل یک شناسه، نام و یک ستون کلید خارجی است:

دانش آموزان
StudentID نام دانش آموز Teacher_FK
0200 لاول اسمیت 001
0201 براون کوتاه 001
0202 کرکی مندز 002
0203 مونیکا جونز 001

ستون Teacher_FK در جدول دانش آموزان به ارزش کلیدی اصلی یک معلم در جدول معلمان اشاره می کند.

اغلب، طراحان پایگاه داده از "PK" یا "FK" در نام ستون استفاده می کنند تا بتوانند کلید اصلی یا ستون کلید خارجی را به راحتی شناسایی کنند.

توجه داشته باشید که این دو جدول نشان می دهد رابطه یک به چند بین معلمان و دانش آموزان.

روابط و یکپارچگی ارجاعی

هنگامی که یک کلید خارجی را به یک جدول اضافه می کنید، می توانید یک محدودیت پایگاه داده ایجاد کنید که یکپارچگی ارجاعی بین دو جدول را برقرار می کند. این امر اطمینان می دهد که روابط بین جداول با هم سازگار هستند. هنگامی که یک جدول یک کلید خارجی به جدول دیگری دارد، مفهوم یکپارچگی ارجاعی بیان می کند که هر مقدار کلید خارجی در جدول B باید به یک رکورد موجود در جدول A اشاره کند.

پیاده سازی روابط

بسته به پایگاه داده شما، روابط بین جداول را به شیوه های مختلفی اعمال می کنید. مایکروسافت دسترسی یک جادوگر را فراهم می کند که به راحتی به شما اجازه می دهد که جدول ها را پیوند دهید و همچنین یکپارچگی ارجاعی را اجرا کنید.

اگر مستقیما به SQL می نویسید، ابتدا معلم جدول را ایجاد می کنید، یک ستون شناسایی را به عنوان کلید اصلی اعلام می کنید:

ایجاد معلم جدول (

InstructorID INT AUTO_INCREMENT PRIMARY KEY،
نام معلم VARCHAR (100)،
دوره VARCHAR (100)

هنگام ایجاد جدول دانشجویان، ستون Teacher_FK را به عنوان یک کلید خارجی که به ستون InstructorID در جدول معلمان اشاره دارد را اعلام می کنید:

ایجاد جدول دانشجویان (
StudentID INT AUTO_INCREMENT PRIMARY KEY،
نام دانشجو VARCHAR (100)، Teacher_FK INT،
KEY FOREIGN (Teacher_FK) مراجع معلمان (InstructorID))

با استفاده از روابط به عضویت در جداول

هنگامی که یک یا چند روابط را در پایگاه داده خود ایجاد کرده اید، می توانید قدرت خود را با استفاده از SQL Query Queries برای ترکیب اطلاعات از جداول متعدد استفاده کنید. شایع ترین نوع پیوست یک پیوند SQL INNER یا پیوست ساده است. این نوع پیوند تمام پرونده هایی را که شرایط عضویت را از چندین جدول در نظر می گیرند باز می کند. به عنوان مثال، این وضعیت JOIN نام Student_Name، Name Teacher و Course را نشان می دهد که در آن کلید خارجی جدول میزبان با کلید اولیه در جدول Teachers مطابقت دارد:

SELECT Students.Student_Name، Teachers.Teacher_Name، Teachers.Course را انتخاب کنید
از دانش آموزان
INNER JOIN Teachers
ON Students.Teacher_FK = معلمان. مربیID؛

این بیانیه جدولی شبیه به این شکل می دهد:

جدول بازگشت از بیانیه بیانیه SQL

Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky مندزجان SchmoeMathMonica JonesJohn DoeEnglish