تالار گفتمان مانشت

نسخه‌ی کامل: راهنمایی در مورد صفت در ارتباط
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام
میخواستم بدونم چه زمانی باید از موجدیت صفت در ارتباط باید استفاده کرد!!!! لوزی ای که در داخل مستطیل هست!!! اصلا قضیه اش چطوری هست!!! مثلا موجودیت فاکتور!!! برای چی مستطیل خالی نگذاشته!!
کتاب مقسمی رو داری صفت در ارتباط صفحه 18 توضیح داده .

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

سپاس
با سلام
کسی میتونه این صفت در ارتباط نمره را دقیق توضیح بده؟؟؟؟

سپاس
(19 خرداد 1391 07:20 ب.ظ)jafar.sh نوشته شده توسط: [ -> ]با سلام
کسی میتونه این صفت در ارتباط نمره را دقیق توضیح بده؟؟؟؟

سپاس

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

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

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

امید انکه تونسته باشم کمکی هر چند ناچیز کرده باشم چون زمان زیادی است که پایگاه را نخوندم و اگر ایرادی در بیان مطلب بودببخشید
متشکر: ولی توی کتاب مقسمی یک جور دیگه نوشته بود!!!! شما خیلی کلی توضیح دادید!!!
راستی یک سئوال فنی:
ایا ارتباطات میتوانند صفت داشته باشند؟؟؟ چرا؟؟؟

سپاس
(19 خرداد 1391 09:47 ب.ظ)jafar.sh نوشته شده توسط: [ -> ]متشکر: ولی توی کتاب مقسمی یک جور دیگه نوشته بود!!!! شما خیلی کلی توضیح دادید!!!
راستی یک سئوال فنی:
ایا ارتباطات میتوانند صفت داشته باشند؟؟؟ چرا؟؟؟

سپاس

پاسخ سئوال فنی شما : بله ارتباطها هم میتوانند صفت داشته باشند البته نه هر ارتباطی و تنها ارتباطهای چند به چند که برای پیاده سازی انها در مدل رابطه ایی ناچار به ایجاد جداول میانه هستیم به عنوان مثال در مورد مثال شما صفت نمره متعلق به جدول میانی یا همان ارتباط ااست نه هیچیک از موجودیتهاBig Grin
در مورد چرایی مسئله فقط به این اشاده میکنم که شما نمیتوانید صفت نمره را به هیچیک از موجودیتهای اصلی اختصاص بدین چون ابهام ایجاد میشود مثلا به دانشجو ؟ خب در این صورت یک دانشجو درسهای زیادی اخذ میکند که اگر اینکار رو بکنید دچار افزونگی در جدول دانشجو میشویم که حتی در صورت اضافه کردن به دانشجو بعداز نرمال سازی تفکیک خواهد شد .
دوست عزیز کلاً تو ER رابطه را با لوزی نشان میدیم

همونطورکه دوستمون توضیح دادن رابطه ها چند نوع هستن

حالا من یه چیز به اونا اضافه می کنم به نام Junction: این در واقع همون لوزی هستش که در رابطه های چند در چند استفاده می کنیم و در سطح پیاده سازی جدولی ست که کلید هر دو طرف را در آن قرار میگیرد به این لوزی یا این جدول(در سطح پیاده سازی) می گیم جانکشن

حالا تو مثال شما رابطه بین فروشنده و کالا میتونه اطلاعاتی بیشتر و مفید تر تو خودش نگه داره مثل قیمت،تاریخ و...
در این صورت دیگه این رابطه جانکشن نیست با اضافه شدن این صفت ها جانکشن به یک موجودیت تبدیل می شه که در عین حال رابط بین دو جدول(تو مثال شما رابطه بین کالا و فروشنده) هم هست، یعنی یک موجودیت-رابطه(!) که تو مدل ER با لوزی داخل مستطیل نشان میدن

امیدوارم خوب مطلبو رسونده باشم
هر وقت ارتباط خود دارای صفت هایی باشد می تواند به صورت یک موجودیت دیده شود. به همین خاطر لوزی داخل مستطیل به این معناست که هم رابطه هست و هم یک موجودیت که میتونه با موجودیت های دیگه در رابطه باشه.
این مفهوم یعنی ارتباط با ارتباط را می تونید به صورت کاملا مفهومی از کتاب آقای روحانی مطالعه بفرمائید که واقعا عالی نوشتند. (این نحوه نمایش رو فقط تو کتاب آقای حق جو دیدم)

(19 خرداد 1391 10:04 ب.ظ)hadi_m نوشته شده توسط: [ -> ]پاسخ سئوال فنی شما : بله ارتباطها هم میتوانند صفت داشته باشند البته نه هر ارتباطی و تنها ارتباطهای چند به چند که برای پیاده سازی انها در مدل رابطه ایی ناچار به ایجاد جداول میانه هستیم به عنوان مثال در مورد مثال شما صفت نمره متعلق به جدول میانی یا همان ارتباط ااست نه هیچیک از موجودیتهاBig Grin

دوست عزیز در مورد اینکه فقط رابطه های M:N می تونند صفت داشته باشند مطمئن هستید؟

من فکر میکنم هر رابطه ای با هر چندی میتونه صفت داشته باشه :

هر گروه یک مدیر دارد و هر مدیر مسئولیت یک گروه را بر عهده دارد [1:1]
صفات ارتباط: در چه سالی؟ به چه مدتی؟ و ....

حذف تک تدرس [1:N]
صفات ارتباط در چه ترمی درس حذف شد؟ کدام سال آموزشی و ....

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