چطور یک رابطه همکلاسی رو در بانک اطلاعاتی پیاده سازی کنم؟

مباحث مربوط به زبان های برنامه نویسی در لینوکس

چطور یک رابطه همکلاسی رو در بانک اطلاعاتی پیاده سازی کنم؟

نوشتهاز Ali_Gh » شنبه بهمن 25, 87 12:47 am

با سلام؛
شاید به برنامه نویسی ربطی نداره، ولی خب جایی هم برای مطرح کردن پرسش های بانک اطلاعاتی نیست!!
اصل سوالم اینه:
من در بانک اطلاعاتی به موضوع تگ (بخوانید: کلید واژه) برخوردم. در این بانک نیاز دارم که تگ های مشابه شناسایی بشن. چون برای تگ یک موجودیت در نظرگرفتم (یک جدول) در مورد پیاده سازی رابطه "تگ های مشابه" دچار مشکل شده ام.
تا جایی که می دونم، این رابطه یک رابطه درجه 1 (یکتا) در مدل ER به حساب می یاد. گمونم پیاده سازیش هم شبیه پیاده سازی رابطه "همکلاسی" در جدول "دانشجو" و یا رابطه "پیش نیاز" در جدول "درس" باشه.

دوستان، قبلا از همیاری و کمکتان سپاسگذارم./
گروه کاربران ایرانی اینک اسکیپ
http://inkscape-ir.org
آکلینوکس
http://aqlinux.ir
Ali_Gh
مسئول جلسات
 
نوشته: 443
پیوستن: شنبه دی 7, 87 11:00 am
شهر: اهواز
Given: 58 thanks
Received: 197 thanks

Re: چطور یک رابطه همکلاسی رو در بانک اطلاعاتی پیاده سازی کنم؟

نوشتهاز Ali_Gh » یک شنبه بهمن 27, 87 6:23 pm

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

...
پیاده سازی رابطه یکتای 1:1 ، 1:N و N:N
مثال های رابطه یکتایی که در اینجا نشان داده شده اند، در نظر بگیرید:
سیما
سیما

ما ابتدا، رابطه 1-1 ازدواج را در نظر می گیریم (*). موجودیت شخص(personal) ، یک جدول خواهد بود و کلید اصلی آن PersonID است. یک فیلد کلید خارجی (**) با اسم MarriedToPersonID می سازیم. دامنه مقادیر کلید اصلی و کلید خارجی یکی می باشد.
PERSON (PersonID, PersonName, MarriedToPersonID)
سیما

رابطه یکتایی 1:N دقیقا به همان روش یکتایی 1:1 پیاده سازی می شود. رابطه سرپرستی را در شکل بالا در نظر بگیرید. کلید اصلی فیلد EmployeeID است. رابطه با ساختن فیلد ManagerEmployeeID که دامنه مقادیرش مشابه فیلد EmployeeID است، پیاده سازی می شود.
EMPLOYEE (EmployeeID, EmployeeName, BirthDate, ManagerEmployeeID(
سیما

پیاده سازی رابطه یکتای N:N
این مثال رابطه یکتای N:N، از صورتحساب اجناس کارخانه است. هرقلم جنس با اقلام دیگری ساخته می شود (مثلا اتومبیل که با ترکیب کردن موتور، شاسی و بدنه ساخته می شود)
سیما
    موجودیت تبدیل به جدول می شود.
    رابطه هم تبدیل به یک جدول می شود.
در جدول رابطه، دو کلید ترکیبی با دامنه یکسان خواهیم داشت. PartNumber (کد جنس) از جدول ITEM بخشی از کلید اصلی جدول BILL_OF_MATERIALS (صورتحساب اقلام) می شود. ستون دیگری به اسم ComponentPartNumber (کد جزء سازنده) می سازیم که بخش دیگری از کلید ترکیبی خواهد شد. ما همچنین تعداد اجزای سازنده مورد نیاز برای ساخت جنس را هم ذخیره می کنیم. (مثلا عددچهار، برای جزء سازنده: "لاستیک"، در فیلد مربوط به ماشین)
ITEM(PartNumber, ItemName, ItemCost)
سیما
BILL_OF_MATERIALS(PartNumber, ComponentPartNumber,
QtyToManufacture)
سیما
...
پانوشت ها {مترجم}:
1- البته در کشور ما ازدواج در مورد آقایان یک به یک نیست! :?
2- کلید خارجی، یک فیلد معمولی جدول است که می تواند برای دسترسی به جداول دیگر مورد استفاده قرار بگیرد.
...
منبع: http://www.siue.edu/~dbock/cmis450/6-re ... lmodel.htm
در پایان لازم می دانم از آقایان حسن سویم و فیلیپ بروان از اعضای دانشکده مهندسی ادواردز ویل ایالت ایلی نویز تشکر ویژه به عمل بیاورم.
I really appreciate Mr. Hasan Sevim and Mr.Phillip Brown for their help and support
Last edited by Ali_Gh on شنبه اسفند 3, 87 6:38 pm, edited 1 time in total.
گروه کاربران ایرانی اینک اسکیپ
http://inkscape-ir.org
آکلینوکس
http://aqlinux.ir
Ali_Gh
مسئول جلسات
 
نوشته: 443
پیوستن: شنبه دی 7, 87 11:00 am
شهر: اهواز
Given: 58 thanks
Received: 197 thanks

Re: چطور یک رابطه همکلاسی رو در بانک اطلاعاتی پیاده سازی کنم؟

نوشتهاز NabiKAZ » آدینه اسفند 2, 87 4:08 am

ظاهراً درست در همون دقیقه ای که سوال رو پرسیدی جواب رو پیدا کردی!!!

من شخصاً در همچین مواردی به خلاقیت خودم رجوع میکنم و راه کشف میکنم، این قواعد کتابی برای توی همون کتابا خوبه :D
NabiKAZ
مسئول وب‌سایت
 
نوشته: 166
پیوستن: شنبه دی 7, 87 8:26 am
شهر: اهواز
Given: 114 thanks
Received: 84 thanks

Re: چطور یک رابطه همکلاسی رو در بانک اطلاعاتی پیاده سازی کنم؟

نوشتهاز Ali_Gh » شنبه اسفند 3, 87 5:51 pm

نه نبی جان، به اینترنت رجوع کردم!! :o ولی خوب راستش از قبل به ذهن خودم رسیده بود که جوابش شبیه این باید باشه. ;)
گروه کاربران ایرانی اینک اسکیپ
http://inkscape-ir.org
آکلینوکس
http://aqlinux.ir
Ali_Gh
مسئول جلسات
 
نوشته: 443
پیوستن: شنبه دی 7, 87 11:00 am
شهر: اهواز
Given: 58 thanks
Received: 197 thanks

Re: چطور یک رابطه همکلاسی رو در بانک اطلاعاتی پیاده سازی کنم؟

نوشتهاز NabiKAZ » یک شنبه اسفند 4, 87 5:42 am

پس چطور دو تا پست در یک لحظه ارسال شدند؟!
پیوستن: شنبه 7 دی 1387, 7:30 am

به این دقیقاً میگن گیر دادن! ;)
NabiKAZ
مسئول وب‌سایت
 
نوشته: 166
پیوستن: شنبه دی 7, 87 8:26 am
شهر: اهواز
Given: 114 thanks
Received: 84 thanks

Re: چطور یک رابطه همکلاسی رو در بانک اطلاعاتی پیاده سازی کنم؟

نوشتهاز Ali_Gh » دو شنبه اسفند 5, 87 2:08 pm

nabikaz نوشته است:پس چطور دو تا پست در یک لحظه ارسال شدند؟!
پیوستن: شنبه 7 دی 1387, 7:30 am

به این دقیقاً میگن گیر دادن! ;)


والله من بی تقصیرم! اگه می خواین کروکی بکشیم؟ :? :D
تا جایی که یادم می یاد، یک روزی پستم بدون جواب تو سایت بود! :o
گروه کاربران ایرانی اینک اسکیپ
http://inkscape-ir.org
آکلینوکس
http://aqlinux.ir
Ali_Gh
مسئول جلسات
 
نوشته: 443
پیوستن: شنبه دی 7, 87 11:00 am
شهر: اهواز
Given: 58 thanks
Received: 197 thanks


برگشت به برنامه نویسی

اکنون هست

;کسانی که اکنون در این تالار هستند: کاربری نام ننوشته است کاربر و 6 میهمان

cron