ورود

View Full Version : رابطه کامپوننت های دیتابیس دلفی و استقلال داده ای؟



Factorial
سه شنبه 22 خرداد 1386, 19:49 عصر
سلام خدمت همگی دوستان
میرم سر اصل مطلب:

من پروژه پایانیم رو دارم با دلفی و اس کیو ال می نویسم. مشکلی که دارم اینه که استاد پروژمون میگه که اصلا از کامپوننت های دلفی نباید تو پروژه استفاده بشه چون استقلال داده ای رو نقض می کنن.
بهتر بگم میگه که برنامه ای که با دلفی نوشته می شه اصلا نباید با پایگاه داده ارتباط مستقیم داشته باشه.
به نظر شما همچین چیزی منطقی هست؟ و آیا قابلیت پیاده سازی میتونه داشته باشه؟

اگه راهنماییم کنید ممنون میشم

SYNDROME
سه شنبه 22 خرداد 1386, 21:11 عصر
با سلام

سلام خدمت همگی دوستان
میرم سر اصل مطلب:
من پروژه پایانیم رو دارم با دلفی و اس کیو ال می نویسم. مشکلی که دارم اینه که استاد پروژمون میگه که اصلا از کامپوننت های دلفی نباید تو پروژه استفاده بشه چون استقلال داده ای رو نقض می کنن.
بهتر بگم میگه که برنامه ای که با دلفی نوشته می شه اصلا نباید با پایگاه داده ارتباط مستقیم داشته باشه.
به نظر شما همچین چیزی منطقی هست؟ و آیا قابلیت پیاده سازی میتونه داشته باشه؟
اگه راهنماییم کنید ممنون میشم
چطور ممکنه با دلفی برنامه بنویسی و کامپونت استفاده نکنی؟؟؟:متعجب:

Mahmood_M
سه شنبه 22 خرداد 1386, 21:40 عصر
سلام

سلام خدمت همگی دوستان
میرم سر اصل مطلب:

من پروژه پایانیم رو دارم با دلفی و اس کیو ال می نویسم. مشکلی که دارم اینه که استاد پروژمون میگه که اصلا از کامپوننت های دلفی نباید تو پروژه استفاده بشه چون استقلال داده ای رو نقض می کنن.
بهتر بگم میگه که برنامه ای که با دلفی نوشته می شه اصلا نباید با پایگاه داده ارتباط مستقیم داشته باشه.
به نظر شما همچین چیزی منطقی هست؟ و آیا قابلیت پیاده سازی میتونه داشته باشه؟

اگه راهنماییم کنید ممنون میشم
راستش حداقل برای استفاده و ارتباط با دیتابیس باید از یک کامپوننت استفاده کنید ، بدون کامپوننت هم میشه ولی منطقی نیست ، نیاز به کد نویسی فراوانی داره ، اگه حتما باید بدون کامپوننت باشه ، میتونید نگاهی به سورس کامپوننتهای دیتابیس دلفی بندازید ...


استاد پروژمون میگه که اصلا از کامپوننت های دلفی نباید تو پروژه استفاده بشه چون استقلال داده ای رو نقض می کنن.
فکر نکنم چنین چیزی باشه ، چون تقریبا اساس کار دلفی با کامپوننتها و استفاده از اونها ، استفاده نکردن از اونها دلیل بر استقلال نرم افزار و استفاده کردن از اونها دلیل بر عدم مستقل بودن برنامه نیست ...

موفق باشید ...

Factorial
چهارشنبه 23 خرداد 1386, 00:07 صبح
تشکر میکنم از دوستان به خاطر جوابشون

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

متشکر میشم اگه جوابم رو بدین

ghabil
چهارشنبه 23 خرداد 1386, 09:24 صبح
سلام خدمت همگی دوستان
میرم سر اصل مطلب:

من پروژه پایانیم رو دارم با دلفی و اس کیو ال می نویسم. مشکلی که دارم اینه که استاد پروژمون میگه که اصلا از کامپوننت های دلفی نباید تو پروژه استفاده بشه چون استقلال داده ای رو نقض می کنن.
بهتر بگم میگه که برنامه ای که با دلفی نوشته می شه اصلا نباید با پایگاه داده ارتباط مستقیم داشته باشه.
به نظر شما همچین چیزی منطقی هست؟ و آیا قابلیت پیاده سازی میتونه داشته باشه؟

اگه راهنماییم کنید ممنون میشم

فکر میکنم شما منظور استادتون رو بدرستی منتقل نمیکنید ، احتمالا منظور ایشان این هست که نباید از کامپونتهایی از دلفی که بعضی از دستورات Sqlی رو بصورت ساده تری شبیه سازی میکنند استفاده کرد چون موجب میشه که خودتون این دستورات رو یاد نگیرید.
والا استقلال داده ای و سایر مسائلی که مطرح کرده اید چندان منطقی نیستند.(یا حداقل من که متوجه نمیشم چی میخوان بگن)

vcldeveloper
چهارشنبه 23 خرداد 1386, 09:44 صبح
برنامه و بانک به وسیله یک رابط اطلاعات رو رد و بدل کنند.کامپوننت های دلفی هم از یک رابط برای اتصال به بانک استفاده می کنند. مثلا ADO و BDE دو نمونه رابط هستند که به برنامه نویس ها امکان میدن مستقل از نوع بانک اطلاعاتی از طریق یک رابط واحد برنامه هاشون رو بنویسند. کامپوننت های دلفی هم از همین رابط ها برای اتصال به بانک استفاده می کنند.
البته من هم مثل قابیل معتقدم که شما احتمالا منظور استاد خودتون رو درست منتقل نمی کنید.

Factorial
چهارشنبه 23 خرداد 1386, 16:21 عصر
با سلام مجدد

دوستان خواهشا این سوالم رو هم بی جواب نزارین :
سوال : اگه بتونیم تو برنامه کاربردی مون مستقیما با پایگاه در ارتباط باشیم (یعنی اگه مثلا رو دی بی گرید کلیک کنیم و محتویات دی بی گریدمون رو تغییر بدیم و بعد فیلد مورد نظر در پایگاه تغییر کنه) آیا استقلال داده ای نقض شده یا نه؟
استادمون این رو نقض استقلال داده ای میدونه. امیدوارم متوجه موضوع شده باشین
متشکرم

Factorial
چهارشنبه 23 خرداد 1386, 23:32 عصر
من منتظر جواب قاطع شما هستم

ghabil
پنج شنبه 24 خرداد 1386, 09:35 صبح
ببین در حات کلی این کار هیچ عیبی نداره و نمیشه بهش ایرادی گرفت ، مگر اینکه گفتم مثلا بخواهند شما حودتون دستورات رو یاد بگیرید که اونوقت میشه گفت اشکال آموزشی داره ، مفهوم استقلال داده ای هم من فقط در مورد مباحث طراحی دیتابیس پخش شده شنیدم که به هیچ وجه ربطی به موضوع مطرح شده نداره ! شما اول باید بگید تعریف استادتون از استفلال داده ای دقیقا چی هست بعد با توجه به اون تعریف میشه گفت آیا دلفی اون تعریف رو نقض میکنه یا نه که اگر بکنه به احتمال قریب به یقین تعریفتون غلط هست. چون طراحان دلفی و سایر محیطهای که با دیتابیسها کار میکنند مطمئنا بیش از من و شما به اصول کار و استاندارها آشنا هستند.

Factorial
پنج شنبه 24 خرداد 1386, 11:29 صبح
ببینید دوست عزیز این استاد ما میگه که برنامه ای که با دلفی نوشته می شه اصلا نباید بتونه داده های ذخیره شده توی بانک رو به وسیله ی آدرس بهشون دسترسی داشته باشه
چراکه وقتی آدرس داده به برنامه فرستاده می شه مثل اینه دقیقا بانک جزیی از برنامه به حساب میاد. و ما میتونیم مستقیما هر جا که خواستیم اونا رو تغییر بدیم . دقیقا مثل پارامترهای یک تابع که از نوع ارجاع تعریف شده باشند.
استاد ما این کار رو نقض استقلال داده ای می دونه
به نظر شما درست میگه یا نه؟

omid1240
پنج شنبه 24 خرداد 1386, 12:06 عصر
استقلال داده ها در بانک اطلاعات به مفهوم عدم ارتباط بین بانک اطلاعات و GUI نیست . چه در برنامه نویسی تحت ویندوز و چه در برنامه نویسی تحت وب ارتباط بین بانک اطلاعات و رابط کاربر الزامی است و حتما باید وجود داشته باشد .
در مورد استفاده از کامپوننت های موجود در محیط های برنامه نویسی مثل دلفی و یا محیط های NET. , ... این محیط ها پس از برقراری ارتباط اولیه بین رابط کاربر و بانک اطلاعات مورد نظر یک سری ابزار های از قبل طراحی شده در اختیار برنامه نویسان قرار می دهند اگر هر برنامه نویسی نخواهد از این ابزار ها ( کامپوننت ها ) استفاده کند باید آنها را پیاده سازی کند . پس استفاده از امکانات بانک های اطلاعاتی ( مانند SP , Trigger , ... ) نیز بخش دیگری از ارتباط بانک اطلاعات و رابط کاربر است که اجتناب ناپذیر می باشد .

ghabil
جمعه 25 خرداد 1386, 00:09 صبح
چیزی به نام آدرس نداریم (من تا حالا نشنیدم برنامه ای پوینتر به اطلاعات دیتابیس نگه داره !!!!) دلفی خودش عملیات شما رو تبدیل به یک دستور SQL میکنه و برای دیتابیس میفرسته ، اگر هم استادتون باور ندارد ، یکبار مثلا پروفایلر SQLServer رو تست بفرمایند تا مطمئن بشوند.

باقی ماجرا هم قصه و داستان هست.

saman020
پنج شنبه 31 خرداد 1386, 16:13 عصر
بهترین راه اینه که شما فایل text رو برای نگهداری اطلاعاتتون در نظر بگیرید . فیلدها و رکوردها را خودتان جدا کنید و برای بانک متدهای insert , delete , update رو بنویسید تا اولا کاملا مستقل از ابزارهای دلفی کار کرده باشید و ثانیا متدهایتان دست ساز باشند تا نشود به آنها ایرادی گرفت
در اینصورت شما برای نمایش اطلاعات هم باید زحماتی بکشید ولی خوب باید ارزش یک پروژه پایانی را داشته باشد .