Relationships یکی از قابلیتهای مهم ژئوباکس است که برای تعریف و مدیریت ارتباط بین جداول و جداول اطلاعات توصیفی لایههای برداری به کار میرود. با استفاده از این بخش، کاربران میتوانند ارتباط منطقی بین جدول و لایهبرداری و یا بین لایههای برداری را بر اساس فیلدهای مشترک تعریف کنند.
در این بخش از راهنمای کاربری ژئوباکس، با مفهوم Relationships، کاربردهای آن و نحوه تعریف ارتباط بین جداول آشنا میشویم.
پس از ورود به پورتال، با کلیک روی بخش Relationships، فهرستی از ارتباطهای تعریفشده نمایش داده میشود. کاربران میتوانند از این بخش، ارتباطهای جدید ایجاد کرده یا ارتباطهای موجود را مدیریت کنند.
پس از کلیک روی دکمه Create Relationship، فرم ایجاد ارتباط جدید نمایش داده میشود. در این فرم، اطلاعات موردنیاز برای تعریف ارتباط بین جداول و لایهها وارد میشود. هر یک از فیلدهای این فرم به شرح زیر است:
- Name: نام یکتا
- Display Name: عنوان نمایشی
- Cardinality: نوع رابطه بین لایهها و جداول
- Relation Table: جدول واسط ارتباط
- Source Table: جدول یا لایه مبدأ ارتباط
- Target Table: جدول یا لایه مقصد ارتباط
- Source Field: فیلد مبنا در جدول مبدأ
- Target Field: فیلد متناظر در جدول مقصد
- Source Foreign Key Field: فیلد کلید خارجی در جدول واسط ارتباط
- Target Forign Key Field: فیلد کلید خارجی در جدول واسط ارتباط
نکته 1: کاردینالیتی مشخص میکند که هر رکورد از یک جدول میتواند با چند رکورد از جدول دیگر در ارتباط باشد. انتخاب صحیح کاردینالیتی نقش مهمی در صحت مدل داده و عملکرد سیستم دارد.
- One to One: در این نوع ارتباط، هر رکورد از جدول مبدأ فقط با یک رکورد از جدول مقصد مرتبط است و بالعکس.
- One to Many: در این نوع ارتباط، هر رکورد از جدول مبدأ میتواند با چند رکورد از جدول مقصد مرتبط باشد، اما هر رکورد از جدول مقصد فقط به یک رکورد از جدول مبدأ متصل است.
- Many to Many: در این نوع ارتباط، هر رکورد از جدول مبدأ میتواند با چند رکورد از جدول مقصد و بالعکس مرتبط باشد.
انتخاب نادرست کاردینالیتی میتواند باعث ناسازگاری دادهها شود.
نکته 2:
جدول واسط زمانی استفاده میشود که:
- رابطه بین دو جدول از نوع چندبهچند (Many-to-Many) باشد.
- در صورت اضافه کردن فیلد اطلاعات توصیفی میتوان بهصورت فیلدهای جداگانه در جدول واسط ذخیره کرد.
در جدول واسط، معمولاً کلیدهای خارجی مربوط به هر دو جدول اصلی ذخیره میشوند تا ارتباط بین رکوردها برقرار شود.
هر رکورد در جدول واسط نمایانگر یک ارتباط مشخص بین یک رکورد از جدول مبدأ و یک رکورد از جدول مقصد است.
نکته 3:
- کلید اصلی (Primary Key)
کلید اصلی فیلدی است که هر رکورد را بهصورت یکتا در یک جدول شناسایی میکند. مقادیر این فیلد نباید تکراری یا خالی باشند. کلید اصلی مبنای ایجاد ارتباط بین جداول است و سایر جداول از طریق کلید خارجی به آن ارجاع میدهند. انتخاب صحیح کلید اصلی باعث میشود دادهها بهصورت منظم، قابل اعتماد و بدون ابهام مدیریت شوند.
- کلید خارجی (Foreign Key)
در تعریف Relationships، کلید خارجی نقش اصلی را در ایجاد ارتباط بین جداول ایفا میکند. کلید خارجی فیلدی در یک جدول است که به کلید اصلی (Primary Key) جدول دیگر اشاره میکند و باعث برقراری ارتباط منطقی بین دادهها میشود.
مقادیر موجود در کلید خارجی باید با مقادیر کلید اصلی جدول مرتبط یکسان باشند تا ارتباط بهدرستی برقرار شود.
همانطور که مشاهده میشود، علاوه بر لایهها، امکان استفاده از جداول نیز برای تعریف و مدیریت Relationship در ژئوباکس فراهم شده است. برای معرفی، ایجاد و مدیریت جداول، بخشی با عنوان Tables در نظر گرفته شده است که برای آشنایی بیشتر به صفحه Table مراجعه فرمایید.