PDA

View Full Version : کاربرد ارتباط یک به یک چیست ؟



milad.biroonvand
سه شنبه 25 مرداد 1390, 22:04 عصر
می خواستم بدونم کاربرد ارتباط یک به یک چیه ؟ من تا حدودی این کاربرد رو می دونم . اگر میشه ، این کاربرد رو با مثال ذکر کنید .

Salah Sanjabian
چهارشنبه 26 مرداد 1390, 14:47 عصر
سلام.
اگه از نظر OOP به این مسئله نگا کنی وراثت رو میشه با این نوع ارتباط بیان کرد. یه مثال میزنم . فرض کن تو یه مدرسه یه سری دانش آموز داری که یه سری خصوصیات مشترک دارن(نام و .........)و یه سری خصوصیات دیگه داری که فقط مخصوص یه عده خاصه مثل تیم فوتبال دانش آموزان . حالا شما میای یه جدول دیگه میسازی به اسم تیم که یه ارتباط یک به یک بین این جدول و جدول دانش آموز میخوره.که هر دانش آموزی تو جدول تیم فقط یه بار تکرار میشه.

milad.biroonvand
چهارشنبه 26 مرداد 1390, 17:39 عصر
سلام

من هم همین نظر رو داشتم ، و میخواستم مطمئن بشم . دقیقا وراثت رو به تصویر میکشه . در تاپیکی که پایین نوشتم ، کاربرد رابطه ی چند به چند رو هم نوشتم ، در این باره نظری نداری ؟

http://barnamenevis.org/showthread.php?300600-

m0hammad_01
سه شنبه 01 شهریور 1390, 20:55 عصر
می خواستم بدونم کاربرد ارتباط یک به یک چیه ؟ من تا حدودی این کاربرد رو می دونم . اگر میشه ، این کاربرد رو با مثال ذکر کنید .
تعریف ارتباط یک به یک: یعنی یک سطر از جدول مبدا با یک سطر از جدول مقصد در ارتباط است و بالعکس

البته این نکته رو هم بگم، اگه ما نتونیم یک توجیح فنی برای این ارتباط یک به یک تو مدل رابطه ای داشته باشیم، این ارتباط غلط هستش و به این معنی که این دو جدولی که با هم ارتباط یک یه یک دارن، در اصل یک جدول هستن و ما به اشتباه اونا رو دو جدول در نظر گرفتیم.

اینم یه مثال از توجیح فنی که من به استناد به این توجیح میگم که ارتباط یک به یکم درسته:

تو سیستم دانشگاه در نظر بگیر. دو تا جدول به نامهای دانشجو و وام دانشجویی
ارتباط این دو یک به یک هست.(با فرض اینکه هر دانشجو فقط یک بار میتونه وام بگیره!!! )به این صورت: هر دانشجو یک وام گرفته است و هر وام توسط یک دانشجو گرفته شده است.
حالا فکر کنید من این دو جدول رو یکی بگیرم.خیلی از دانشجو ها هستن که اصلا وام نمیگیرن!!! اونوقت چه مشکلی پیش میاد؟
تعداد زیادی از ستونها(فیلد)ها برای دانشجو خالی میمونه که باعث میشه مقادیر null جدول من خیلی بالا بره.
پس من دو جدول رو همون جدا میگیرم تا null هام زیاد نشه.این میشه توجیح فنی من.

سوالی بود در خدمتم.

Xcalivorse
چهارشنبه 02 شهریور 1390, 21:44 عصر
دوست عزیز اگر نرمالسازی زو تا سطح بویس کاد ادامه بدید مشکلتون با قواعد پایگاه رابطه ای قابل حل شدنه. احتیاجی به این ارتباط غیر استاندارد نیست.

sajjadrazmi
دوشنبه 07 شهریور 1390, 14:48 عصر
سلام

تو پیاده سازی هم معمولا ارتباط جداول را یک به چند در نظر می گیرند، ولی تو pp یا وب، از طریق کدنویسی، اجازه درج بیش از رکورد داده نمی شود.

AminSobati
پنج شنبه 10 شهریور 1390, 03:04 صبح
غیر از مسائل طراحی که دوستان به خوبی اشاره کردند، رابطه یک به یک دلیل فنی در SQL Server داشته که الان دیگه به این دلیل اعتنا نمیکنیم:
سابقا جداولی که دارای فیلدهای حجیم (مثل تصاویر و ..) بودند از جدول اصلی منفک میشدن تا بشه جدول رو در آدرس خاصی از دیسک قرار داد. مثلا هر دانشجو، تصویرش در جدول جداگانه قرار میگیره. این جداسازی به خاطر تفکیک اطلاعات قابل جستجو از اطلاعات غیر قابل جستجو (تصاویر) و نهایتا Performance کاربرد داشته. اما با پیشرفت SQL Server و معرفی Filegroup شما میتونین فیلدهای حجیم رو همون جدول اصلی داشته باشین اما به کمک Filegroup محل ذخیره سازی رو کاملا جدا کنید. لذا اگر مسئله طراحی و OOP رو کنار بگذاریم، برای فزایش سرعت دیگه سراغ ارتباط یک به یک نمیریم.