PDA

View Full Version : سوال: سوالی در طراحی پایگاه داده ها



activity
دوشنبه 27 مهر 1388, 21:42 عصر
سلام
در یک سیستم یک موجودیت داریم به نام «مقاله». این موجودیت دارای یک سری صفت مانند شناسه مقاله، عنوان مقاله، متن اصلی ، نوع مقاله و ... می باشد. ضمنا نوع مقاله قابل مدیریت است یعنی می توان نوعهای مختلفی ایجاد، ویرایش یا حذف کرد و هنگام ایجاد مقاله فقط یکی از نوعها انتخاب می شود.. سوال: هنگام رسم ERD آیا نوع مقاله یک صفت برای مقاله به حساب می آید یا خود یک موجودیت است و چرا؟ ساختار جدول آن در پایگاه داده به چه صورتی است؟
مثال مشابه دیگری از این سناریو: ناشر (در حالتی که فقط اسم ناشر را بخواهیم نگهداری کنیم) و کتاب در سناریو کتابخانه

DataMaster
سه شنبه 28 مهر 1388, 22:05 عصر
من فكر ميكنم نوع مقاله يك صفت براي مقاله باشه هر چند كه مقادير اون قابل تعريف باشند
اما نوع مقاله در زمان پياده سازي تبديل به يك جدول ميشه و به جدول مقالات ارتباط داده ميشه صرفا براي يكپارچه بودن داده ها و افزونگي ميتونه باشه(شايدم اشتباه كنم)

saeeedft
سه شنبه 28 مهر 1388, 22:56 عصر
منم با دوستمون موافقم، شما یه جدول دیگه برا نوع مقلتون در نظر بگیر و اونو با جدول مقاله ارتباط بده ، در این حالت بدون افزونگی میتونی اطلاعات رو داشه باشید، چون این امکان وجود داره که شما چند مقاله از یک نوع داشته باشید، توی این حالت اگه نوع مقاله توی جدول مقاله باشه افزونگی داده پیش بیاد

activity
چهارشنبه 29 مهر 1388, 10:14 صبح
با تشكر از دوستان كه راه حل هاي خوبي ارائه دادند.
نوع مقاله در اينجا يك صفت است و هنگام رسم ERD هم به عنوان يك صفت ايجاد مي شود.
اما هنگام پياده سازي اينكه آن را به عنوان يك جدول در نظر بگيريم يا به عنوان يك فيلدي از مقاله بستگي به اين دارد كه بخواهيم كاربر نهايي را محدود كنيم كه حتما از بين نوع هايي كه وجود دارد يكي را انتخاب كند (عين حالت مسئله ما) و يا اينكه دست او را باز بگذاريم تا يك نوعي را به دلخواه وارد كند. ولي از آنجايي كه اين كار باعث افزونگي شده و همچنين ممكن است نوع هاي يكساني با spellهاي مختلفي وارد شود و لذا ديگر امكان پذير نيست كه مقالات مثلا از نوع علمي را واكشي كنيم بهتر است هنگام پياده سازي آنها را در جداول جداگانه قرار دهيم و اين موضوعات در نرمال سازي جداول تصميم گيري مي شود.