🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ امیر مهدی سلگی
فواید موجودیت ها
جامعه پی اچ پی ایجاد شده در ۰۹ مرداد ۱۴۰۳
سلام وقتتون بخیر، توی بحث دیاگرام‌ها ما برای موجودیت‌های ضعیف (weak entities) هم شکل خاصی رو در نظر گرفتیم . منظورم همون موجودیت هایی هستش که id عددی ندارن . سوالم این هستش که فایده این موجودیت‌ها چیه و خب چرا ما برای اینا هم مثل بقیه آیدی تعریف نمی‌کنیم؟ چون بنظرم با داشتن آیدی عددی و کلید اصلی خیلی قدرتمند‌تر میشن و ضرورتی هم نداره که کلیدشون اسم هاشون باشه که اگر بعدا تغییری صورت بگیره تو اسم اینا، کلید اصلیشون تغییر بکنه و مشکل ایجاد بکنه .

سلام،

میتونید اینجاهم از آیدی بعنوان کلید اصلی انتخاب کنید منتها استفاده از Composite Key در این مدل مناسبتره. از داده‌های تکراری جلوگیری میکنه و مطمئن هستید داده‌ها منحصر به فرد هستند. فرضا جدولی دارید که مشخص میکند اعضای کتابخانه چه کتابهایی را قرض گرفته اند. این جدول نمونه ای از موجودیت ضعیف هست  و به دو کلید وابسته است. اینجا اگر member_id و book_id رو کلید اصلی بگیریم از لحاظ مدل سازی و نرمال سازی دیتابیس شرایط مناسبی ایجاد میشه و باعث کاهش افزونگی داده و یکپارچگی در جدول میشود. از بعد بیزنس رول هم داده‌های وارد شده منحصر به فرد خواهند بود.

محسن موحد ۱۱ مرداد ۱۴۰۳، ۱۵:۳۵
موجودیت‌های ضعیف آیدی ندارن. و مثلا نام کتاب بعنوان کلید هستش. در واقع book_id هم در کار نیستش . منظورم دقیقا همینه که اصلا اینجور موجودیت‌ها چه کاربرد و مزیتی نسبت به موجودیت هایی که دارای کلید اصلی و یا کلید ترکیبی هستن دارن که از اونا استفاده میشه.
امیر مهدی سلگی ۱۱ مرداد ۱۴۰۳، ۱۶:۲۴