PDA

View Full Version : راهنمایی در مورد ایجاد یک دیتابیس چند قسمتی



babak869
سه شنبه 05 مهر 1384, 00:02 صبح
با سلام
من میخوام یه برنامه بنوییسم که کاربر برای ورود اطلاعات در دیتابیس از چند تا انتخاب استفاده می کنه
این برنامه برای یک رستورانه که مشتری چند نوع غذا خریداری می کنه و باید زمانی که مشتری مثلا 3 نوع غذا سفارش بده 3 تا نام و 3 تا قیمت در دیتابیس بره و هنگام چاپ هم هر 3 بصورت جداگانه چاپ بشن.حد اکثر انواع غذا 5 نوع هست و اگه بخوام 5 فیلد غذا و 5 فیلد قیمت بزارم هم دیتابیس شلوغ میشه و هم هنگام چاپ مشکل پیش میاد.و اگه مثلا مشتری 2 نوع غذا سفارش بده 3 فیلد دیگه خالی می مونه حالا از دوستان خواهشمندم اگه راه مناسب و درستی به ذهنشون می رسه منو راهنمایی کنند .
بازم ممنونم

Kamyar.Kimiyabeigi
سه شنبه 05 مهر 1384, 08:10 صبح
شما می تونین برای هر غذا یک Table در نظر بگیری و در هنگام چاپ برای یک مشتری از Relation استفاده کنی

حمیدرضاصادقیان
سه شنبه 05 مهر 1384, 09:13 صبح
شما میتونی غذا و قیمتش رو در یک جدول قرار بدی چون امکان نداره که برای یک غذا چند قیمت داشته باشی که بخوای یک جدول جداگانه برای قیمت تعریف کنی.
شما یک فیلد غذا داری یک فیلد قیمت دیگه.برای ورود اطلاعات هم خیلی راحتتره.فیلد خالی نمیمونه.
چاپش هم راحتتره.
البته اگر درست متوجه شده باشم.

babak869
سه شنبه 05 مهر 1384, 11:15 صبح
با سلام
ممنون از جواب و توجهتون
راستش من می خوام که کاربر هنگام وارد کردن اطلاعات بتونه تعداد غذای خریداری شده رو تعیین کنه و اطلاعات بر اساس اون وارد بشه.مثلا اگه یه نفر 3 نوع غذا خواست 3 فیلد غذا و 3 فیلد قیمت رو بتونه وارد کنه و بقیه فعال نباشند که مقادیرشون خالی باشه.یعنی مثلا من 5 تا فیلد ورودی برای غذا بزارم و برای هر کدوم هم یه Checkbox بزارم که برای غذا یکی رو تیک بزنه و اگه 4 نوع غذا بود 4 تا رو تیک بزنه و در دیتابیس هم 4 فیلد برای غذا و 4 فیلد برای قیمت اون باشه
من فکر می کنم نظر دوستمون که گفته بود برای هر غذا یه دیتابیس درست کنم بهتره و کار باهاش راحت تره
حالا اگه دوستان خوبم نظر دیگه ای دارند محبت کنند نظر بدند تا از اونا استفاده کنم
متشکرم

Kamyar.Kimiyabeigi
سه شنبه 05 مهر 1384, 12:37 عصر
شما اگه برای هر غذا یک Table در نظر بگیری اونوقت هر تعداد که مشتری غذا خواست با کد اون مشتری در جدول غذای مربوطه ذخیره میکنی و از لحاظ Interface برنامه هم لازم نیست که Checkbox بزاری و توی یک حلقه که تعدادش همون تعداد غذای مشتریه Insert میکنی

Naficy
سه شنبه 05 مهر 1384, 19:29 عصر
خب، راه حل جالبیه! ولی فرق بین دو جدول غذا با هم دیگه چیه؟ (جدول چلوکباب با جدول چلومرغ چه تفاوتی داره؟)
چون فیلدهای همه جداول غذا مثل هم هستند، می تونین یه جدول بسازین به نام سفارش غذا. و تمام اطلاعاتی که در تمام جداول غذاهای مختلف می ریزین رو توی همین یه جدول بریزین. فقط باید یه فیلد اضافه کنین که مشخص کنه کدوم غذا رو دارین ذخیره می کنین.

ببینین، کلا روش معمول ساختن چنین دیتابیسی، ساخت حداقل دو جدوله.
جدول "اطلاعات غذا" که برای هر نوع غذا (یک شماره مشخصه، یک نام و قیمت مربوطه) رو ذخیره می کنه.
جدول "سفارش غذا" که برای هر غذا در هر فاکتور (شماره مشخصه فاکتور، شماره غذا و مثلا تعداد) رو ذخیره می کنه.
احتمالا یک جدول "فاکتور" هم نیاز دارین که (شماره مشخصه فاکتور، مثلا تاریخ و شماره میز) رو نگهداره.

حالا هر کدوم از جداول "اطلاعات غذا" و "فاکتور"، یک ارتباط یک به چند با جدول "سفارش غذا" دارن.

babak869
سه شنبه 05 مهر 1384, 23:49 عصر
سلام
ممنون از راهنما ییها و جوابهای دوستان
من یه نمونه نوشتم که البته خالی از ایراد نیست.لطفا به ارتباط دیتابیس ها در Access یعنی Relationship توجه کنید.این برنامه هنگام اضافه کردن اطلاعات ایراد میگیره.حالا اگه دوستان کمک کنن و با هم اونو درست کنیم ممنون میشم

Kamyar.Kimiyabeigi
چهارشنبه 06 مهر 1384, 07:44 صبح
به نظر من جواب دوست خوبمون Naficy منطقی تره

حمیدرضاصادقیان
چهارشنبه 06 مهر 1384, 08:35 صبح
منظور منم دقیقاً همین جواب جنابNafisy بود گفتم باید یک جدول سفارش غذا ایجاد شود و نیاز به یک فیلد دارد.ولی درست منظورم را نرسوندم ببخشید.

reham
چهارشنبه 06 مهر 1384, 10:36 صبح
تو فرم که بهتر یه گرید داشته باشی و هر چند تا غذا که طرف میخواد رو انتخاب و یکی یکی به گرید اضافه میکنه /
طراحی دیتابیست هم که باید کد بیس باشه.

babak869
پنج شنبه 07 مهر 1384, 12:49 عصر
سلام
از دوستان کسی این برنامه رو نگاه نکرده ونظر بده.چون من از یه روش دیگه استفاده کردم و تقریبا هم جواب میده ولی اگه محبت کنید و نظر بدید ممنون میشم

Navid7h
پنج شنبه 07 مهر 1384, 15:29 عصر
این طراحی رو ببنید شاید کمکتون بکنه

babak869
جمعه 08 مهر 1384, 22:59 عصر
سلام
ممنونم نوید عزیز ولی اگه ممکنه یه کم بیشتر توضیح بده چون خیلی از اون ساختار سر در نیاوردم
متشکرم