PDA

View Full Version : مفاهیم موجودیت+کلاس+جدول+متد کلاس+رابطه در پایگاه داده و در زمان برنامه نویسی



mosadatta
دوشنبه 08 خرداد 1391, 11:23 صبح
با سلام
من مفاهیم موجودیت+کلاس+جدول+متد کلاس+رابطه در پایگاه داده و در زمان برنامه نویسی را کامل متوجه نشدم
ایا هر جدول در پایگاه داده باید به عنوان کلاس در برنامه تعریف شود؟
ایا ارتباط جداول با ید بصورت جدول در پایگاه داده باشه و در برنامه بصورت متد کلاس؟
خواهش می کنم یه دید کامل و خوب از این مفاهیم به من مبتدی بدید
ممنون

یوسف زالی
سه شنبه 09 خرداد 1391, 01:04 صبح
سلام.
بستگی مستقیم داره به نوع ارتباط شما با لایه داده یا اس کیو ال.
در معماری لایه بندی شده معمولا برای هر جدول برای سادگی یک کلاس می گیرند. بیشتر در بحث دات نت درگیر این قضیه هستید. برای اطلاعات بیشتر پیشنهاد می کنم لینک رو در سی شارپ نگاهی بیندازید.
در خصوص ارتباط:
همیشه در پایگاه ازش استفاده کنید و در برنامه هم هیچ وقت بهش تکیه نکنید.

mosadatta
سه شنبه 09 خرداد 1391, 01:54 صبح
سلام.
بستگی مستقیم داره به نوع ارتباط شما با لایه داده یا اس کیو ال.
در معماری لایه بندی شده معمولا برای هر جدول برای سادگی یک کلاس می گیرند. بیشتر در بحث دات نت درگیر این قضیه هستید. برای اطلاعات بیشتر پیشنهاد می کنم لینک رو در سی شارپ نگاهی بیندازید.
در خصوص ارتباط:
همیشه در پایگاه ازش استفاده کنید و در برنامه هم هیچ وقت بهش تکیه نکنید.

ممنون از توجهتون میشه بیشتر توضیح بدین
من چرا به معماری بستگی داره؟
قسمت در خصوص ارتباط متوجه نشدم

mahan.2002
سه شنبه 09 خرداد 1391, 03:59 صبح
سلام دادش یجواریی اصلا ربطی به هم نداره...
کلاس هایی که مثلا شما تویی یوز کیس طراحی میکنید یه دید کلی از سیستم هست
ولی جداول که پیاده سازی میکنید بستگی به نوع طراحی داره که شما برای انجام پروژه تون دارید.. یه جورایی میشه گفت کلاس های که مثلا در متدولوژی ( Object-Oriented Design ) به تئوری انجام کار بر میگرده و طراحی ساختار جداول به کار عملی پروژه بر میگرده.
موفق باشید.

baktash.n81@gmail.com
چهارشنبه 10 خرداد 1391, 10:04 صبح
سلام

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

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

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

این تاپیک از نظر من ارزش بحث بیشتر رو داره ... با ارائه مثال های کاربردی تر ...

یوسف زالی
چهارشنبه 10 خرداد 1391, 17:07 عصر
ببینید ارتباط در جداول بنا به دلایل متعددی از جمله صحت داده در دستکاری داده به صورت دستی، انتقال اطلاعات، و... مهمه که باشه.
اما این دلیل نمی شه که در برنامه خودتون تکیه به اس کیو ال کنید. ممکنه بنا به هر دلیلی طی یک پروسه ای مثل بکاپ، آپدیت، سینک و ... بطور موقت یا دائم ارتباطات از بین برند.
از طرفی در خصوص جداول مستر دیتیل شما باید در UI هم ارتباط رو ست کنی وگرنه قابلیت مورد نظر رو نداری..

omidh2007
چهارشنبه 24 خرداد 1391, 10:22 صبح
مفاهیم فوق در UML هستند و در جزوه های درس پایگاه داده میتونید خوب اونا رو یاد بگیرید .
ببینید به طور معمول ، ما چند تا نمودار معروف توی UML داریم . که مفاهیم زیر با هم متناظرن توش .
Class Diagram -> Class
ER (CDM) -> Entity
PDM -> Table
.
موجودیت در واقع یه چیزیه که چند تا شرط داره :
1 - بشه ازش چند تا نمونه ایجاد کرد .
2 - دارای یک سری صفت باشه .

مثلا Person یه موجودیته . چون :
1 - میشه ازش شی ساخت (چند تا person مختلف )
2 - دارای یک سری صفاته . مثلا (نام ، نام خانوادگی ، شماره تلفن ، آدرس و ... ) که بسته به شناخت سیستم میتونن متفاوت باشن .

. در کل توضیحات جسته و گریخته خیلی به کارت نمیاد .
اینجا رو به مطالب آکادمیک بیار .
چون تو بازار کار هم به کارت میان و اگه طراحی دیتابیست مشکل داشته باشه ، بعدا به ایراد بر میخوری . :چشمک: