PDA

View Full Version : طراحي جداول سيستم مديريت هتل



aminkk
پنج شنبه 20 فروردین 1388, 22:42 عصر
سلام
من دارم يه برنامه مديريت هتل مي نويسم و چند سوال دارم كه در اين تايپيك مي پرسم.
سوال 1:
يه قسمتي دارم به اسم پذيرش مهمان كه به 2 قسمت تقسيم ميشه:

عادي
شركت
عادي:افراد عادي
شركت:شركت ها

فيلدهاي افراد عادي با شركت ها فرق داره.هر مشتري كه مياد تو هتل يه كدي داره كه با اون شناخته ميشه و اين كد به صورت auto increment هستش و يك شروع ميشه.حالا فرض كنيد كه مشتري وارد هتل شده من يه مورد انتخاب مي كنم مثلاً شركت.حالا من بايد چي كار كنم؟ 2 تا جدول بسازم يا 1 جدول؟؟؟؟؟ اگه 1 جدول باشه كه يه عالمه فيلد ميشه ولي اگه دو تا جدول باشه اون موقع چي جوري مي تونم اين كد auto increment رو پياده سازي كنم؟

اوبالیت به بو
جمعه 21 فروردین 1388, 20:08 عصر
اگه 1 جدول باشه كه يه عالمه فيلد ميشه ولي اگه دو تا جدول باشه اون موقع چي جوري مي تونم اين كد auto increment رو پياده سازي كنم؟
سوال جالبيه. اگه يه نفر از دوستان توضيح بده ممنون مي شم.

sarkhosh
شنبه 22 فروردین 1388, 13:13 عصر
خب نمیشه یه تیبل مشتری در نظر بگیرید؟که شماره مشتری تو این جدول بشه کلید خارجی در جداول شرکت و عادی؟

hassanf
شنبه 22 فروردین 1388, 13:45 عصر
سلام
با دو روش می تونید پیاده سازی کنید :
1. استفاده از 2 جدول به نام مهمان و نوع مهمان . که نوع مهمان میتونه عادی یا شرکت باشه و این دو جدول رابطه یک به چند با هم دارند. فیلد هایی که که در شرکت یا عادی وجود نداره NULL بذارید.

2. روش دوم و اصولی تر:
استفاده از سه جدول مشتری با فیلدهای ( Id که auto increment و کد مشتری شما میشه , guest_Id و ... ) ,عادی( با فیلدهایی که نیاز دارید) و شرکت (با فیلد هایی که نیز دارید) که دو جدول عادی و شرکت با جدول مهمان رابطه یک به یک دارد.

aminkk
یک شنبه 23 فروردین 1388, 11:28 صبح
دست شما درد نكنه

2. روش دوم و اصولی تر:
استفاده از سه جدول مشتری با فیلدهای ( Id که auto increment و کد مشتری شما میشه , guest_Id و ... ) ,عادی( با فیلدهایی که نیاز دارید) و شرکت (با فیلد هایی که نیز دارید) که دو جدول عادی و شرکت با جدول مهمان رابطه یک به یک دارد. اين بهتره
يه جول درست مي كنم به اسم مشتري كه فقط فيلد كد مشتري رو داره.بع يه جدول ديگه به اسم كمپاني يا شركت كه فيلدهاي خودش رو داره و يكي از فيلدهاش وصل هستن به جدول مشتري و جدول بعدي هم كه افرا عادي هستن نيز مثل جدول شركت كار مي كنه و يكي از فيلدهاش وصل به جدول مشتري.
درست گفتم؟
پس كد مشتري از جدول مشتري ميشه كليد خارجي دو جدول ديگه درسته؟؟؟ايا درست منظور شما رو فهميدم؟

hassanf
یک شنبه 23 فروردین 1388, 18:15 عصر
درست گفتم؟

کاملأ!

پس كد مشتري از جدول مشتري ميشه كليد خارجي دو جدول ديگه درسته؟؟؟ايا درست منظور شما رو فهميدم؟
فقط ارتباط یک به یک فراموش نشه.(که به ازای هر رکورد تو جدول مشتری فقط یک شرکت یا افراد عادی داشته باشیم نه بیشتر!)

kiarayan
سه شنبه 25 فروردین 1388, 09:20 صبح
سلام من یک پیشنهاد دیگه دارم

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

h.alizadeh
دوشنبه 28 اردیبهشت 1388, 07:53 صبح
فقط ارتباط یک به یک فراموش نشه.(که به ازای هر رکورد تو جدول مشتری فقط یک شرکت یا افراد عادی داشته باشیم نه بیشتر!)
چطوری ارتباط یک به یک ایجاد می کنیم؟

h.alizadeh
سه شنبه 29 اردیبهشت 1388, 17:56 عصر
یعنی راهی نیست برای ارتباط یک به یک مشخص کردند؟