View Full Version : کمک در طراحی بانک
programerinfonet
جمعه 10 خرداد 1392, 11:28 صبح
سلام دوستان
خسته نباشید
من میخوام این بانکی رو که تو تصویر مشخص کردم طراحی کنم
اگه میشه راهنماییم کنید که چه طور جداول رو طراحی کنم و به همدیگه ربطشون بدم
104886
vistacali
جمعه 10 خرداد 1392, 12:18 عصر
یعنی چی چطور طراحی کنی میری تو بانک اطلاعاتی که میخوای و جدول رو درست میکنی
programerinfonet
جمعه 10 خرداد 1392, 12:30 عصر
نه خوب الان از یک چیزش سر در نمیارم
مثلأ اون فیلد تولد که زیر مجموعه روز ماه سال داره یعنی چی واسه اون باید یک جدول دیگه بکشم ؟
davidrobert
جمعه 10 خرداد 1392, 12:37 عصر
سلام برادر ساخت همچین جدولی با یک باغ بزرگ هستش و امکانس ساختن نیست جز اینکه تغییرش بدی اولیم مشکلی که داری اینکه تو جدول کاربر ور داشتی نام رو قرار دادی و از جدول کاربر نام رو به جدول دیگه ارتباط دادی جدول نام و نام خانوادگی چون ارتباط جداولت این طور نشون میده ولی برای اینکه نام و نام خانوادگی هم دیگه رو درست بشناسن در ارتباط باید نام کاربر و نام جدول نام و نام خواندگی ارتباط داره باید نام اون جدول کلید باشه یعنی نام یکی از جداول باید کلید باشه تا با جدول دیگه ارتباط داشه باشه. یعنی شما میخواهید نام علی رو وارد کنید به طور مثال امکان داره هزار تا علی باشه اون موقع چی میشه باعث انومالی میشه و در ارتباط با جداول با مشکل بر خورد میکنه یعنی ارتباط یک به چند یعنی یک معلم میتونه چند درس رو بده و چند درس به وسیله یک معلم داده میشم و تا زیر مجموعه پاک نشه مجوعه پاک نمیشه و اگه هم پاک شده به زیر مجوعه لطمعه میخوره حساب کن یه معلم در یه اموزشگاه صداش میزنن که باید شبکه رو درس بده و یه معلم دیه برنامه نویسی و ویندوز رو یاد بده حالا این شخص تو 1 سال درس رو داده و حالا میخوان اطلاعات رو پاک کنن یعنی اطلاعات معلم رو پاک کنن ولی نمی تونن چون اون جدول به جدول دیگه ارتباط داره تا زیر مجوعه اطلاعات پاک نشه خود مجموعه پاک نمیشه و بخاطر همین میگم که جدول شما ایراد داره چون شما باید اینجا جفت نام و رو کلید کنید تا یک تا باشه برای اینکه بدونید کدام جدول رو با کدامین جدول ارتباط بدید یعنی بدونید محمد درس برنامه نویسی رو میداد و علی درس شبکه و ویندوز رو یاد میداد که با مشکل بر خورد نکنید.در این صورت می تونید این نام رو کلید بگرید و نام بعدی رو واست برای ارتباط ولی اینکه من میگم هم درست نیست برای اینکه بتونید تو تا ارتباط رو با هم پشناسید باید کد تعریف کنید یعنی کد 100 محمد و کد 101 علی که به این صورت با هم در ارتباط باشن یعنی تو کار میزنید محمد کد 100 و در جدول بعدی میاد کد 100 رو تعریف میکند محمد این درس رو میده و جفت داول با هم در ارتباط هستن و معلم میشه چه درسی رو که کسی میده و این طوری انومالی پیش نمی یاد.
hessam2003
جمعه 10 خرداد 1392, 12:45 عصر
سلام.
دوست عزیز شما نیازی نیست برای نام یک جدول دیگه ایجاد کنید به جاش دو تا فیلد نام و نام خانوادگی بذارید.
برای تولد یک جدول ایجاد کنید و به اضافه فیلدهای مذکور فیلدی همنام با فیلد اصلیتون در جدول تولد بذارید که نقش فیلد فرعی را بازی کنه و به هم ربطشون بدید.
با اینکار از افزنگی داده هم جلوگیری میکنید.
ضاهرا مابقی چیزها درسته.
veniz2008
جمعه 10 خرداد 1392, 13:24 عصر
سلام.
اون فیلدهای نام و تولد که تفکیک شده هستن با توجه به نیاز شما مشخص میشه که آیا نیاز به تفکیک داره یا نه. معمولا برای نام، دو فیلد نام و نام خانوادگی رو بصورت مجزا در نظر میگیرن. دلیلش هم اینه که در اکثر گزارش هایی که از برنامه گرفته میشه معمولا جستجویی براساس نام خانوادگی وجود داره که اگر نام و نام خانوادگی رو با هم در نظر بگیرید کار جستجو سخت تر میشه( نه اینکه انجام نشه فقط سرعت رو میاره پایین). اما معمولا برای تولد این تفکیک صورت نمیگیره چراکه معمولا براساس سال تولد یک شخص جستجوی خاصی صورت نمیگیره. پس تولد رو معمولا یک رشته 10 کاراکتری (مثلا 1360/01/16 ) در نظر میگیرن. در چنین حالاتی اصلا نیاز به جدول جداگانه نداریم اگر احساس میکنید که نیاز به تفکیک داره در همون جدول (و نه جدول جداگانه) سه فیلد برای سال و ماه و روز در نظر بگیرید.
فکر کنم علاوه بر جداول بالا، یک جدول برای مناطق شهر هم نیاز باشه. چون باید بدونیم هر مشترک، به کدوم منطقه میخواد بره. اگر قیمت بین مناطق مختلف شهر با هم مختلف هست (مثلا ممکنه یه منطقه 10 دقیقه طول بکشه و یه منطقه دیگه 45 دقیقه طول بکشه. به نظر نمیاد قیمت سرویس برای همه مناطق یکسان باشه). اگر این مورد برای شهر شما هم برقراره، باید یه جدول هم برای قیمت سرویس داشته باشید که مشخص کنه قیمت سرویس برای هر منطقه چقدر هست.
پس حداقل این جداول رو دارید:
1. جدول مشتری با کلید کد مشتری (یا کد اشتراک)
2. جدول راننده با کلید کد راننده
3. جدول مناطق شهری
4. جدول قیمت مسیرها (ممکنه به این جدول نیازی نداشته باشید)
5.جدول ثبت درخواست ها (ثبت سرویس ها) با کلید کد درخواست
6. جدول کاربران (کسی که از سیستم استفاده میکنه. این جدول با هیچ جدولی ارتباط نداره).
این یک تاکسی تلفنی خیلی ساده است که میتونید طبق نیازتون اونو گسترش بدید (مثلا یه جدول برای تعیین نوع ماشین: پراید ، پژو ، سمند و ...).
پس درباره پروژه ای که میخواید بنویسید خوب فکر کنید. از همون ابتدا گزارش هایی رو که میخواید داشته باشید رو لیست کنید و ببینید که آیا طراحی شما به گونه ای هست که بتونه براحتی اون گزارش ها رو ایجاد کنه.
موفق باشید.
programerinfonet
جمعه 10 خرداد 1392, 13:55 عصر
مشکل طراحیم حل شد
حالا میخوام بین جداولم ارتباط بر قرار کنم
موندم چه طوری
مثلأ ت. جدول سرویس چه طوری راننده رو به فیلد کد رانندده تو جدول راننده ربط بدم
ممنون
veniz2008
جمعه 10 خرداد 1392, 14:15 عصر
چه طوری
مثلأ ت. جدول سرویس چه طوری راننده رو به فیلد کد رانندده تو جدول راننده ربط بدم
ممنون
در جدول سرویس بعد از طراحی فیلدها و در همان حالت دیزاین، روی دکمه relationship کلیک کنید.
104897
حال بر دکمه add کلیک کنید تا بتونید یک ارتباط بین جدول راننده و جدول درخواست ایجاد کنید (برای سایر جداول هم با ید یک رابطه جدید add کنید).
104898
طبق شکل بر روی دکمه ... کلیک کنید
104899
در پنجره باز شده در سمت چپ، باید جدول اصلی (همان جدول راننده) و فیلد کلید ان جدول (در جدول من DriverID ) رو انتخاب و در سمت راست هم باید فیلدی که بعنوان کد راننده در جدول درخواست در نظر گرفتید را انتخاب کنید. (من نام این فیلد رو هم DriverID در نظر گرفتم).
104900
موفق باشید.http://barnamenevis.org/images/misc/pencil.png
programerinfonet
جمعه 10 خرداد 1392, 14:35 عصر
خطا میده موقع ذخیره کردن میگه که این دو فیلد انتخابی هم نوع نیستند ؟
راه حلش چیه ؟
اگه بخوام یک فیلد nvarchar با یک فیلد int جوین بشه نمیشه ؟
چی کار کنم مشکل حل بشه
ممنون از کمکتون
veniz2008
جمعه 10 خرداد 1392, 14:41 عصر
خطا میده موقع ذخیره کردن میگه که این دو فیلد انتخابی هم نوع نیستند ؟
راه حلش چیه ؟
اگه بخوام یک فیلد nvarchar با یک فیلد int جوین بشه نمیشه ؟
چی کار کنم مشکل حل بشه
ممنون از کمکتون
به نظر خود شما منطقی هست که توی یه جدول کد راننده رو int بگیری و در جدول دیگه کد راننده رو nvarchar ؟
به نظر میرسه که مفهوم کلید خارجی رو خوب متوجه نشدید. بهتره که اول مفاهیم رو خوب یاد بگیرید و بعد بیاید جداول رو طراحی کنید. اینطوری کامل متوجه میشید که مثلا این مراحل برای چی هست و به چه دردی میخوره.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.