فرشید علی اکبری

چالشی بزرگ برای توسعه دهندگان و طراحان بانک اطلاعاتی (SQL SERVER)

سلام ، موضوع : بهترین راهکار توسعه و استفاده از بانک اطلاعاتی SQL SERVER سایر توسعه دهندگان چیست؟
دوستان عزیز فرض کنید که پیشنهادی از طرف سازمانی به شما میشه که این سازمان در سالهای پیش نرم افزارهای اتوماسیون اداری (تحت ویندوز) مورد نیاز خود را بصورت یکپارچه از شرکت نرم افزاری(XX) تهیه کرده است. حال به هردلیلی امکان ادامه کار با شرکت نرم افزاری (XX) برای این سازمان مقدور نیست و شرکت (XX) فقط پشتیبانی سرپا نگه داشتن وعدم خواب سیستم های نرم افزاری آن سازمان (مشتری) را برعهده گرفته ولاغیر.
پیشنهادی که به شما در این راستا شده مبنی براینست که شما باید بدون ایجاد بانک اطلاعاتی جداگانه ای، و فقط بر روی همین ساختار بانک اطلاعاتی موجود نرم افزارهای A1 , B1 , C1 را طراحی و پیاده سازی کنید. (با توجه به اینکه نرم افزارهایی که قرار است طراحی وپیاده سازی شوند شدیداً با سیستم مالی و همچنین زیر سیستم هایی از نرم افزارهای موجود و قبلی آن شرکت درگیر خواهند بود) و حال شما هستید ویک بانک اطلاعاتی بزرگ با بیش از250 جدول اطلاعاتی و چندین گیگ اطلاعات بسیار بسیار مهم برای آن سازمان.
از طرفی با ادعای مدیر بخش IT و برنامه نویس آن سازمان مبنی بر همکاری در ارائه مستندات جداول بانک اطلاعاتی مواجه هستید و اطمینان کامل دارید که نهایت همکاری ایشان، ارائه داکیومنتی از ساختار کل بانک اطلاعاتی و جداول در عرض چند ثانیه می باشد که توسط نرم افزارهای rad gate و یا Apex با فرمت دلخواه ایجاد شده و در اختیار شما خواهند گذاشت. بنابراین این داکیومنت را خود شما نیز می توانید از آن بانک اطلاعاتی تهیه کنید ونهایتاً کمک شایانی به شناسایی فیلدهای جداول به شما نخواهد کرد.

سئوال اینجاست که؛ چگونه می توان جداولی که نام فیلدهای آنها نیز Encrypt شده و فقط توسط شرکت (XX) قابل شناسایی می باشند را شناسایی کنید؟ فرض کنید تنها یکی از جداول با داشتن 15 فیلد با نامهای Field1....Field15 را پیش رو داشته باشید، مسلماً شناسایی اینگونه فیلدها بسیار زمانبر است. حال با تعداد چندین و چند جدول از این بانک که به این شکل با آنها رفتار شده است برخورد خواهید کرد و هرچقدر تعداد این جداول زیادتر باشد زمان انجام و ارائه پروژه را برای شما بیشتر وخسته کننده تر میکند.(در اصل کلافگی برنامه نویس را بدنبال دارد).

حال چنانچه این پیشنهاد کاری برای شما اتفاق بیفتذ و با توجه به بزرگی سازمان کارفرما، ترجیح دهید که رزومه کاری خود را خیلی پربار تر کنید، چه راهکاری را برای این منظور در نظر میگیرید؟
(یادآوری میکنم که شرکت نرم افزاری (XX) حاضر به هیچگونه همکاری در این خصوص نمی باشد).

شاد و پیروز باشید.


#بانک_اطلاعاتی_sql_server #توسعه_بانکهای_اطلاعاتی_sql #روشهای_توسعه_بانک_اطلاعاتی #طراحی_و_توسعه_نرم_افزار #طراحی_بانک_اطلاعاتی #بانک_اطلاعاتی
لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
prober
یاد سوالای امتحان پایان ترم ارشدم افتادم با این چالش شما (:
اگه فقط واسه خاطر اینکه نرم افزارهای موجود دارن از اون دیتابیس ها استفاده می کنن و نرم افزار مورد نیاز جدید باید با اون نرم افزارهای قدیمی ارتباط دیتابیسی داشته باشه میخواین سر از دیتابیس اون شرکت دربیارین که منطقا و اصولا فکر نمی کنم کار صحیحی باشه. به نظرم اون سازمان باید متقاعد بشه که یکی از سه راه زیر رو انتخاب کنه:
1- نرم افزارهای جدید مورد نیاز رو هم از همون شرکت قبلی خریداری کنه.
2- نرم افزارهای قدیمی رو بذاره کنار و مجموعه کامل نرم افزارهای مالی و اداری رو به همراه نرم افزارهای جدید مورد نیازش از شرکت جدید (شما) خریداری کنه با این تعهد از طرف شما که انتقال اطلاعات به نرم افزارهای جدید انجام خواهد شد.
3- سازمان بی خیال ارتباط بین نرم افزارهای قدیمی و جدید بشه.
یک راه دیگه هم هست و اون اینه که شما با همون شرکت XX قرارداد همکاری ببندید و بانک های اطلاعاتی رو به طور کامل خریداری کنید.
کسانی که عاشـق کیفیت اند بیشتر از کسانی که متخصص کیفیت اند باعث بهبود کیفیت می شوند. - پروفسور کندو- کتاب Human Motivation
ممنون از پاسخ تون.
ولی دوست عزیز، ظاهراً شما متوجه اصل مطلب نشدید و خیلی گذرا سئوال بنده رو مطالعه کردید. راهکارهایی که شما ارائه دادید در حوزه عملیاتی و محیط واقعی خیلی از سازمانها، آخرین راه حل ها می تونه باشه. چرا؟ چونکه:
راهکار اول و آخر شما در خصوص همکاری اون سازمان با شرکت قبلی،(همونطوریکه در متن سئوالم هم توضیح دادم) به دلایل نامشخصی، امکان پذیر نیست. (فقط میدونم شرکت نرم افزاری (XX) قیمت سه نرم افزار مورد نظر این سازمان را فعلاً 250 میلیون اعلام کرده وگفته با بررسی های بیشتر قیمت نهایی را بعداً اعلام خواهیم کرد).
در مورد راهکار دومتون هم باید عرض کنم که این سازمان حدود 10 سال پیش ازشرکت (XX) سیستم های نرم افزاری خودش رو تهیه کرده و مبلغ سنگینی را بابت اونها پرداخته (البته جدای از تمدید قراردادهای پشتیبانی میلیونی)؛ با این وجود شما فکر میکنید مدیران اون سازمان زیر بار چنین زیان مالی سنگینی خواهند رفت؟!!! مسلماً خبر؛ چرا که نرم افزارهای موجود هیچگونه مشکل عملیاتی ندارند و راهکار دوم شما خاص کسانی هستش که سیستم های نرم افزاری خودشون رو از برنامه نویسان یا شرکتهای نرم افزاری بی تجربه تهیه کرده و به مشکلات عملیاتی و حادی برخورده باشند.
در مورد راهکار سوم هم باید بگم که: اگه نرم افزارهای (A1 ,B1 ,C1) که قراره برای اون سازمان نوشته و پیاده سازی بشه، قرار نیست ارتباطی با سایر سیستمها داشته باشند، پس بهتر نیست طبق وضعیت فعلی شون با EXCEL اون بخش ها رو در اختیار داشته باشند و هزینه های میلیونی براشون نداشته باشه؟
و درنهایت بعید میدونم برنامه نویسی که به تواناییهای خودش ایمان داشته باشه یک چنین پیشنهادهایی از چنین سازمان هایی را به راحتی از دست بده.

امیدوارم نظر آقای مهندس فرد رو هم (به عنوان یکی از متخصصین بسیارخوب اسکوئل سرور) در این زمینه بدونیم.



اگر کسی خوبی های تو را فراموش کرد، تو خوب بودن را فراموش نکن. Telegram Channel :@DevExpress_Farsi
prober
ببخشید من معذرت می خوام بابت نظر دادنم مثل اینکه ناراحتتون کردم
کسانی که عاشـق کیفیت اند بیشتر از کسانی که متخصص کیفیت اند باعث بهبود کیفیت می شوند. - پروفسور کندو- کتاب Human Motivation
نه اصلاً اینطور نیست. چرا که اینجا سئوالی گذاشته میشه و هرکدوم از دوستان نظراتی که بفکرشون میرسه را ارائه میدند. و از اینکه برای مطالعه اون سئوال، زمان گذاشته و نظرشون رو میدند باید ازشون تشکر کرد چرا که بارها شده لابلای نظرات کاربران در سایت های مختلف و بطور ناخواسته، به جواب هایی که مدنظرم بوده رسیدم.
به هرجهت بازم تشکر بابت همفکری شما.

اگر کسی خوبی های تو را فراموش کرد، تو خوب بودن را فراموش نکن. Telegram Channel :@DevExpress_Farsi
prober
اگه میخواین مهندس فرد نظرشون رو بگن به نظرم باید سوالتون رو در انجمن بانک های اطلاعاتی مطرح کنید نه نرم افزار. چون ایشون پرسش های انجمن بانک اطلاعاتی رو خیلی سریع بررسی و جواب میدن.
کسانی که عاشـق کیفیت اند بیشتر از کسانی که متخصص کیفیت اند باعث بهبود کیفیت می شوند. - پروفسور کندو- کتاب Human Motivation
حمید ج. فرد
با سلام به دوستان عزیز Prober , farshid642

البته بنده با چنین مشکلی روبرو شده بودم. بنده برای یک بانکی باید یکسری گزارش از نرم افزار امنیتی آنها می گرفتم که دقیقا هیچ مستندات پایگاه داده ای وجود نداشت و البته همانطور که گفتید نام ستونها به صورت اینکریپت بود. راه کاری که بنده برای انجام این کار گزیدم این بود که اول با نرم افزار آشنایی پیدا کردم و با تغییراتی که در داده ها از طریق نرم افزار انجام می دادم به صورت مکرر پایگاه داده را بررسی می کردم و در آخر با تکیه بر مستنداتی که خودم از این طریق ساخته بودم توانستم کار را انجام دهم.

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

حالا اگر من جای شما بودم با شرکت XX صحبتی می کردم تا بتوانم این کار را انجام دهم و مبلغی بابت همکاری به آن شرکت می پرداختم. در بعضی مواقع باید با شرکتهای رقیب همکاری کرد.
Microsoft Certified Master: SQL Server 2008 , Microsoft Data Platform MVP
سلام خدمت مهندس فرد عزیز
بابت راهنمایی و پیشنهادتون ممنون و تشکر.
ولی متاسفانه به دلیل اینکه مدیران سازمان مربوطه (کارفرما)، تصمیم به واگذاری نرم افزارهای بخش های تولیدی جدید خود به شرکت نرم افزاری XX را ندارند، همانطوریکه عرض کردم آن شرکت نرم افزاری رسماً به کارفرما اعلام کرده که در صورت عدم واگذاری پروژه نرم افزاری جدید به آنها، به هیچ عنوان حاضر به همکاریهای دیگری بجز پشتیبانی نرم افزارهای قبلی خود مطابق با چهارچوب قراردادی وقانونی نخواهد بود. (امیدوارم متوجه اصل موضوع شده باشید، منکه با شنیدن این موضوع، از مدیران آن شرکت نرم افزاری واقعاً متعجب شدم!!!)
بنابراین با این وجود فکر کنم بهترین گزینه، توجیه مدیران کارفرما در این خصوص و بالا بردن زمان انجام پروژه و پیگیری اطلاعات ورودی از سمت نرم افزار و بررسی جداول بانک اطلاعاتی می باشد(که واقعاً کلافه کننده است) می باشد.
((بدتر از همه اینکه جداول بانک اطلاعاتی مورد نظر حتی با Schema نیز دسته بندی نشده اند تا بهتر قابل بررسی وتشخیص باشند!!))


اگر کسی خوبی های تو را فراموش کرد، تو خوب بودن را فراموش نکن. Telegram Channel :@DevExpress_Farsi
پاسخ شما
برای ارسال پاسخ خود وارد شوید.
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره بهاره می تونی امروز ارزونتر از فردا خرید کنی ....