PDA

View Full Version : کمک در طراحی دیتابیس



jalalniknam
چهارشنبه 13 دی 1385, 20:12 عصر
با سلام و عرض تشکر از توجه شما
ما میخوایم یه برنامه داشته باشیم که مثلا" اطلاعات دانش آموزان یک مدرسه رو در خودش نگهداری کنه .. همه ی این دانش اموزان باید به پزشک عمومی معرفی بشند و یه سری اطلاعات عمومی پزشکی اونا در پرونده ثبت بشه و سپس هرکدوم از اونا که تشخیص ادامه ی درمان داده شدند به پزشک متخصص ( هرچند تا که نیاز بود مثلا" هم چشم و هم قلب و...)
حالا راهنمایی که ما ازتون میخوایم :
چون همه افراد میخواین پزشک عمومی رو ببینند نظر ما اینه که یه تیبل داشته باشیم از اطلاعات شناسنامه ای و همچنین نظرات پزشک عمومی با یه فیلد کد دانش آموز (کلید اصلی )
و یه تیبل هم با کلید فرعی همین کد دانش آموز برای ثبت بقیه اطلاعات متخصصین
اولین سوال : این طراحی مشکلی پیش نمی یاره ؟ و در حقیقت مشکلی نداره برای بعد که بخوایم گزارشاتی از تعداد مراجعین به هر پزشک و .. داشته باشیم؟
دومین سوال: تو یه قسمت از فرم ورود اطلاعات که در حقیقت قسمتی از فیلدهای همون تیبل اول میشه .. ما با سوابق بیماری یه فرد سر و کار داریم که ممکنه چند تا نوع سابقه داشته باشه و ممکنه اصلا" سابقه ای نداشته باشه .. اگه ما بخوایم یه کومبوباکس داشته باشیم که هر سابقه ای رو کاربر خواست وارد کنه .. یه مشکل پیش میاد که اگه دوتا یا چند تا سابقه داشت چیکار باید کرد .. آخه فقط میتونه یه مورد رو انتخاب کنه .. لطفا" راهنمایی بفرمایید حتی اگه سوال ابتدایی باشه

صبا9841
پنج شنبه 14 دی 1385, 12:06 عصر
این مواردخیلی کلی است. شما اگر دنبال کسب نتیجه هستید باید شروع به ساخت (طراحی) کرده و در جریان طراحی مشکلاتتان را اعلام کنید. اساساً یک برنامه (نرم افزار) را بر پایه تحلیل گری و آینده نگریش می سنجند یعنی اگر خوب یا بد است به چگونگی ارتباط منطقی اشیا و متدهایش بستگی دارد که اطلاعات این مهم فقط از طرف متقاضی برنامه که بعداً از آن باید استفاده نماید ارائه خواهد شد
بنابراین همانطور که در سوالات اعلام کردید باید جداول و فرمهای مورد نیاز را طراحی کنید و اشکالات را پی گیری نمایید . موفق باشید

dkhatibi
پنج شنبه 14 دی 1385, 12:11 عصر
شاید معرفی یک کتاب خوب دز طراحی پایگاه داده بیشتر مشکل ایشونو حل کنه!

jalalniknam
پنج شنبه 14 دی 1385, 13:30 عصر
با سلام و تشکر مجدد
در مورد طراحی .... قبول . سوالم کلی بوده و .............
اما اگه ممکنه در مورد سوال دوم من اگه ممکنه جواب بدین :
در یه قسمت از ورود اطلاعات از بیمار سوال شده آیا سابقه ی بیماری در خانواده داشتند یا نه و هر بیمار میتونسته از بین سوابقی مثل : بیماریهیا قلبی .. فشارخون .. دیابت و .. یا یکی رو بگه که این سابقه رو داشتند و یا چند تا رو بگه و یا اینکه هیچکدوم.
حالا برای تعیین فیلدی یا فیلدایی جهت ذخیره این اطلاعات و قابلیت گزارشگیری در بعد ما میتونیم یه کومبوباکس داشته باشیم که فرض کنید وقتی به این قسمت از وارد کردن اطلاعات رسیدیم یکی از یابقه ها رو انتخاب و یا هیچکدوم رو انتخاب نکنیم ..
مشکل من اینه که اگه یه بیمار دو یا چند سابقه ی بیماری تو خونوادشون داشتند چطور باید اینکارو انجام بدم. لطفا" راهنمایی کنین

انگوران
پنج شنبه 14 دی 1385, 15:35 عصر
بستگی داره این اطلاعات رو در چه گزارشی بخواین اگه فقط تعداد بیماری هر فرد مد نظر باشه می تونین یه گزارش بسازین شامل مثلاً کد بیمار و نوع بیماری و کد بیمار رو گروپ در نظر بگیرین به این ترتیب تمام بیماریهای هر بیمار مشخص می شه .
البته برداشت بنده از سئوال شما و تحلیلی که داشتم این بود .

jalalniknam
پنج شنبه 14 دی 1385, 21:58 عصر
با سلام و تشکر مجدد از همه ی دوستان بویژه جناب انگوران که لطف کردین و وقت بیشتری گذاشته بودین:
اگه بخوام یه کد و نام بیماری در نظر بگیریم و بعدش هم از طریق یه ساب فرم اطلاعات رو ذخیره کنم .. بدلیل اینکه تعداد موارد اینچنینی در داده های ما زیاد هستند .. هنگام گزارش گیری با مشکل مواجه می شیم ..... حداقل اونکه من دوچار مشکل می شم
.............
اگه امکان داشته باشه من توی همون تیبل که اطلاعات و مشخصات فرد رو وارد کردم بتونم یه جوری این سوابق رو ذخیره کنم خیلی بهتر میشه ............
بذارین یه خورده واضح تر بگم. فرض کنید من میخواستم مدرک تحصیلی افراد رو توی همون تیبل اصلی وارد کنم .. خوب یه کومبوباکس میذاشتم و با استفاده و ارتباط با یه جدول کد و عنوان مدرک اطلاعات تحصیلی افراد را در فیلد مربوطه به اون در همون تیبل اصلی ذخیره میکردم
الان هم میخوام همین کار رو انجام بدم .. اما مشکل اینه که ممکنه یه فرد از نقطه نظر سوابق بیماری توی خونواده دو یا چند مورد رو داشته باشه .. یعنی باید بتونم چندتا مورد رو تیک بزنم .. اگه فقط یک مورد بود از همون طریق مثل مدرک تحصیلی انجام میدادم
و در مورد زحمتی که جناب انگوران کشیدن هم باید بگم چون اطلاعات باید از طریق زیر فرم وارد بشه یه خورده تو کاری که من میخوام انجام بدم برام دردسر ساز میشه.....
نمیدونم درست توضیح دادم یا نه .. به هرحال منتظر راهنمائیهای شما و ارائه طریق از زبان شما هستم.........................

Ghanian
جمعه 15 دی 1385, 21:09 عصر
بسم الله الرحمن الرحیم
سلام بر آقا جلال نیکنام
برادر بزرگوار، طبق اصول نرمال سازی جداول وجود داده های هم معنی در فیلدهایی کنار هم اشتباه است. به همین خاطر شما به همان راه حل ارائه شده که نگهداری داده های مربوط به بیماری های افراد در یک جدول جداگانه است، عنایت داشته باشید.
اما در مورد گزارش گیری:
واقعا نگهداری داده ها در جداول متعدد با نگهداری آنها در یک جدول تفاوتشان در یک پرس و جو(Query) ساده است! شما کافیست یک پرس و جوی ساده طراحی کرده که دو جدول را طبق فیلدهای کد بیماری به هم وصل کنید. آن وقت شما اگر این جدول را منبع یک فرم معرفی کنید راحت میتوانید گزارش بگیرید.
به نظر من شما اگر کمی با ساب فرمها آشنا شوید می بینید که چقدر کار کردن با آنها ساده است و در ضمن چه توانایی خوبی در اختیار شما قرار میدهند.
موفق باشید

jalalniknam
شنبه 16 دی 1385, 20:24 عصر
با سلام و تشکر مجدد........
همین کار رو انجام میدم ........ اما همینجا میخوام این قول رو بگیرم که بعد از ساخت جداول و فرمها یه نگاهی به برنامه بیندازین و تا شروع به ساخت گزارشها و .. نکردم راهنمائی بفرمائین

Ghanian
شنبه 16 دی 1385, 23:01 عصر
بسم الله الرحمن الرحیم
عیدتان مبارک
حتماً! امیدوارم که خدمتی از دستم بربیاید.
یا علی

jalalniknam
دوشنبه 25 دی 1385, 20:53 عصر
با سلام...........
شاید همین الان جوابم رو بدونم که می فرمایین .. ما نصیحتت کردیم که اینکارو نکن
ولی مجبور بودم به یه سری دلایل چند تا فیلد رو به همون روش اشتباه انجام بدم و حالا یه راهنمایی میخواستم:
من سه تا فیلد از جدول رو به شرح زیر و مواردی که در اون ذخیره می شن براتون می نویسم :
فیلد a ( سالم - دارو درمانی -- ارجاع )
فیلدb ( سالم- دارو درمانی - ارجاع )
فیلد c ( سالم - دارو درمانی - ارجاع
......................................
حالا یه کوری میخوام که اون رکوردهایی رو به من بده که حداقل یکی از این سه فیلد " ارجاع : دارند.. یعنی یا فیلدa یاb و یا c اون رکورد عبارت ارجاع در اون ذخیره شده
اینو هم بگم که مشکل من در انجام اون اینه که در or گذاشتن برا دو تای بعدی مشکلی ندارم اما به هرحال یکی از شرط ها رو باید تو کریتریا بذارم که بعد همین مسئله به منزله ی and عمل میکنه................... منتظرم . اگه زودتر جواب بدین ممنون می شم

انگوران
سه شنبه 26 دی 1385, 06:18 صبح
مگه شما شرطهات رو تو ردیفهای مختلف نمی نویسی ؟
یعنی ارجاع در فیلد a در ردیف or و ارجاع در فیلد b یک ردیف پائینتر از or و ارجاع در فیلد c دو ردیف پائینتر از or
در ضمن شرطی که در کریتریا می نویسی شرطی غیر از ارجاع هست ؟

jalalniknam
سه شنبه 26 دی 1385, 14:27 عصر
با سلام و عرض تشکر
من اینجور ی نوشتم ببینید درسته یا نه :
من سه فیلد دارم که میخوام حداقل اگه یکی از اونا با کلمه ی ارجاع تکمیل شده اون رکورد رو به ما بده:
حالا برای اینکار :
در کریتریای اولی نوشتم ارجاع
در or فیلد دومی بازم نوشتم ارجاع
در or فیلد سومی . یک خط پایین تر از or قبلی هم بازم نوشتم ارجاع
ایا اینکار درسته ؟

انگوران
سه شنبه 26 دی 1385, 14:46 عصر
بله دوست عزیز درسته