PDA

View Full Version : طراحی دیتابیس واحد برای نرم افزار های مختلف؟!



moonplant
شنبه 12 مرداد 1387, 14:55 عصر
سلام

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

با تشکر-

ASKaffash
شنبه 12 مرداد 1387, 16:55 عصر
سلام
پاسخ متغیر است :
اگر مقدور باشد جداول درون یک بانک ایجاد گردد چون رابطه PK و FK و موردی از این دست شدنی است
ولی اگر مقدورنباشد(یعنی اجازه ندهند) دو راه متصوراست:
1- یک پایگاه داده در همان سرور که از طریق نام بانک موردنظر و با داشتن دسترسی خواندن و نوشتن حاصل میشود
2- یک پایگاه داده در سروری دیگر که دراین حالت مناسب است از Linked Server استفاده گردد

moonplant
شنبه 12 مرداد 1387, 18:01 عصر
از راهنماییتون ممنونم فقط این جمله تون رو خوب متوجه نشدم:
"چون رابطه PK و FK و موردی از این دست شدنی است"... منظورتان از "چون" ، "چرا که" است آیا؟
یعنی "جداول درون یک بانک ایجاد گردد چرا که رابطه PrimaryKey و ForignKey و مواردی از این دست را برایتان فراهم می سازد."

میتوانم نتیجه بگیرم که اصولاً توقع خیلی بالایی نیست اگر ازشان بخواهم که اجازه بدهند من در دیتابیسشان چند تا جدول اضافه کنم؟ یعنی این کار مرسوم است.

-ممنون

ASKaffash
شنبه 12 مرداد 1387, 18:10 عصر
از راهنماییتون ممنونم فقط این جمله تون رو خوب متوجه نشدم:
"چون رابطه PK و FK و موردی از این دست شدنی است"... منظورتان از "چون" ، "چرا که" است آیا؟
یعنی "جداول درون یک بانک ایجاد گردد چرا که رابطه PrimaryKey و ForignKey و مواردی از این دست را برایتان فراهم می سازد."

میتوانم نتیجه بگیرم که اصولاً توقع خیلی بالایی نیست اگر ازشان بخواهم که اجازه بدهند من در دیتابیسشان چند تا جدول اضافه کنم؟ یعنی این کار مرسوم است.

-ممنون
سلام
منظور اینست که اگر در یک پایگاه داده دیگری یک جدول ایجاد کنید که قرار است PK آن در پایگاه داده ای که قرار است به آن متصل شویدباشد شما نمی توانید RelationShip تعریف کنید

masoudcg1
پنج شنبه 21 آذر 1387, 19:40 عصر
می توانی ارتباط ها رو از طریق برنامه انجام بدی . فقط کار ت زیاد میشه

ar.shirazi
پنج شنبه 21 آذر 1387, 20:59 عصر
سلام

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

با تشکر-

اگر داخل یک Database باشد کارتان خیلی راحت تر است و درگیر هزاران مشکلی که بعدا پیش می آید نخواهید شد. مثلا دسترسی ها و ...

شما فرض کنید اطلاعات پرسنل شرکت درون پایگاه A و اطلاعات مالی درون پایگاه B باشد.و اگر بخواهید گزارش بگیرید ناچار به استفاده از پایگاه A خواهید بود. که هر چند شدنی است، اما جالب نیست.

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