PDA

View Full Version : فوری مشکل در درج اطلاعات پایگاه داده



afshines
دوشنبه 15 اردیبهشت 1393, 18:38 عصر
با سلام وخسته نباشید
مدتی در یک پروژه مبتنی بر وب به مشکل بر خوردم دلیل مشکلم زیاد بودن رکوردها می باشد
سوال :
یک پایگاه داده ای داریم که دارای محصولات متفاوت سخت افزاری می باشد به عنوان مثال 1-هارد سیگیت 2-فلش hpو..
حال دو فروشگاه بصورت مجزا ان محصول را با قیمتهای متفاوت درج خواهند کرد.
و این رکورد دارای
1-کدمحصول
2-نام محصول
3-قیمت حصول
فرض کنید هارد سیگست ما مشترک بین تمامی فروشگاه ها می باشد ولی فروشگاه اول آن را با قیمت 20هزار و فروشگاه دوم آن را با 30 هزار تومان خواهد فروخت
-اضافه شدن رکورد در پایگاه به این صورت است
01 |هارد سیگیت |20000
02|هارد سیگیت |30000

در اینجا ما 2 تا رکورد با یک نام داریم و با قیمت متفاوت ولی نامهای محصولات ما یکسان می باشد ولی با قیمتهای متفاوت و این یک افزونگی در اینجا رخ می دهد که برای دیتابیس بزرگتر با 1000000000 رکورد چطور می توان محصولات با نام مشابه را کنترل نمود ؟ بطوریکه ما یک رکورد نام محصول ولی با قیمتهای متفاوت را داشته باشیم.

ممنونم از راهنمایی و لطف و محبت شما

Rejnev
دوشنبه 15 اردیبهشت 1393, 23:39 عصر
--یک جدول برای محصولات شامل شماره یونیک(کلید)، نام، گروه و سایر مشخصات محصول
--یک جدول از فروشگاه ها (شماره، نام، آدرس و ...)
--یک جدول تحت عنوان قیمت شامل (شماره فروشگاه(کلید خارجی به فروشگاه ها)، شماره محصول(کلید خارجی به محصولات)، تاریخ، قیمت)
بسازین.

afshines
سه شنبه 16 اردیبهشت 1393, 08:39 صبح
طبق گفته های شما دوست عزیز ، فرض بر این میگذاریم که ده فروشگاه یک محصول مشابه را و با یک قیمت مشابه به ثبت رسانده اند در این صورت هم پایگاه داده دارای افزونگی است.

Rejnev
سه شنبه 16 اردیبهشت 1393, 17:14 عصر
باید کنترل کنید که محصول بیش از چند بار تعریف نشه.
طبق گفته من، وقتی فروشگاهی قصد تغییر قیمت کالایی رو داشت، بجای تعریف یک کالای جدید، یک کالا رو از فهرست کالاهای موجود انتخاب میکنه و قیمت جدید خودش رو وارد میکنه.
کالا و فروشگاه یک بار تعریف میشن، این قیمته که داره سابقه میخوره و رکورد درج میکنه. تکرار و افزونگی ای هم در کار نیست.

afshines
سه شنبه 16 اردیبهشت 1393, 17:44 عصر
دوست عزیز بازهم رکوردهای تکراری رخ خواهد داد.یک فروشگاه نمی باشد بلکه چند فروشگاه یک محصول با چند قیمت را درج می نمایند.به گفته شما دوباره برای فروشگاه جدید یک رکورد با نام محصول ولی قیمت متفاوت درج خواهد شد بطوریکه افزونگی تکرار خواهد شد.

Rejnev
چهارشنبه 17 اردیبهشت 1393, 18:02 عصر
کمی در مورد کلید خارجی مطالعه کنید. Foreign Key
همچنین روشهای نرمال سازی جداول رو هم بخونید.
موفق باشید.