اصطلاح پایگاه داده "ارتباطی" یا "رابطه" نحوه ارتباط داده ها در جداول را توضیح می دهد.
تازه واردان به دنیای پایگاه های داده اغلب زمان دیدن تفاوت بین پایگاه داده و یک صفحه گسترده را دشوار می دانند. آنها جداول داده ها را می بینند و تشخیص می دهند که پایگاه های داده ها به شما امکان می دهند داده ها را با روش های جدید سازماندهی کنید و آنها را پرس و جو کنید ، اما نتوانید اهمیت روابط بین داده هایی را که فناوری پایگاه داده ارتباطی آن را نام گذاری می کنید، درک کنید.
روابط به شما اجازه می دهد ارتباطات بین جداول پایگاه داده های مختلف را در روش های قدرتمند توصیف کنید. سپس می توان این روابط را برای نمایش داده های متقابل جدول قدرتمند که به عنوان پیوست ها شناخته می شود، استفاده می کنند.
انواع ارتباطات پایگاه داده
سه نوع مختلف روابط پایگاه داده وجود دارد که هر کدام با توجه به تعداد ردیف های جدول که ممکن است در رابطه دخیل باشند نام برده می شود. هر یک از این سه نوع رابطه بین دو جدول وجود دارد.
- روابط یک به یک رخ می دهد زمانی که هر ورودی در جدول اول دارای یک، و تنها یک، همتای در جدول دوم است. روابط یک به یک به ندرت مورد استفاده قرار می گیرد، زیرا اغلب کارآمدتر است که بتواند تمام اطلاعات را در یک جدول واحد قرار دهد. برخی از طراحان پایگاه داده، با ایجاد جداول هایی که حاوی زیر مجموعه ای از داده های جدول دیگری هستند، از این رابطه استفاده می کنند.
- روابط یک به چند شایع ترین نوع ارتباط پایگاه داده است. آنها زمانی اتفاق می افتند که هر رکورد در جدول A به یک یا چند رکورد در جدول B مربوط می شود، اما هر رکورد در جدول B فقط یک رکورد در جدول A را نشان می دهد. به عنوان مثال، رابطه بین جدول معلمان و جدول دانش آموزان در یک مدرسه ابتدایی پایگاه داده احتمالا روابط یک به چند است، زیرا هر دانش آموز تنها یک معلم دارد، اما هر معلم دارای دانش آموزان متعدد است. این طراحی به تنهایی کمک می کند تا داده های تکراری را از بین ببرد.
- روابط بسیاری با بسیاری هنگامی رخ می دهد که هر رکورد در جدول A مربوط به یک یا چند پرونده در جدول B باشد و هر رکورد جدول B مربوط به یک یا چند رکورد در جدول A است. برای مثال رابطه بین معلمان و دوره های جدول ممکن است به تعداد زیادی از افراد باشد زیرا هر معلم ممکن است بیش از یک دوره را هدایت کند و هر دوره ممکن است بیش از یک استاد داشته باشد.
روابط خودسوزی: یک پرونده ویژه
روابط خود ارجاع زمانی رخ می دهد که تنها یک جدول درگیر باشد. یک مثال رایج جدول کارمند است که حاوی اطلاعاتی درباره سرپرست هر کارمند است. هر سرپرست نیز یک کارمند است و دارای سرپرست خودش است. در این مورد، یک رابطه به خودی خود یک به تعداد وجود دارد، زیرا هر کارمند یک سرپرست دارد، اما هر سرپرست ممکن است بیش از یک کارمند داشته باشد.
ایجاد رابطه با کلید های خارجی
شما با تعیین یک کلید خارجی، روابط بین جداول ایجاد می کنید. این کلید به پایگاه اطلاعاتی مرتبط می گوید که جداول مرتبط هستند. در بسیاری از موارد، یک ستون در جدول 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