PDA

View Full Version : تغییر ساختار جداول



حمیدرضاصادقیان
چهارشنبه 09 اردیبهشت 1388, 07:39 صبح
سلام خدمت اساتید گرامیمن در حال طراحی یک دیتابیس هستم. سوالی که برای خودم پیش اومد اینه که اگر وقتی بخواهیم ساختار فیلدی رو تغییر بدیم چکار باید انجام بدیم. اولین چیزی که به ذهن خودم رسید استفاده از UDT بود. ولی با بررسی فهمیدم که اولا امکان تغییر مشخصات اون نیست دوما اگر بتونیم ساختار اونو در جداول سیستمی تغییر بدیم در جداولی که ازش استفاده شده تغییری حاصل نخواهد شد. یک SP پیدا کردم که اینکارو میکرد ولی ظاهرا سربار زیادی رو به سیستم وارد میکنه مضاف براینکه خود UDT ظاهرا در گرفتن کوئری روی اطلاعات زیاد روی سرعت تاثیر خواهد گذاشت.
دومین مطلبی که به ذهنم رسید اینه که یک جدول طراحی کنم و تمامی ساختارهارو داخل اون بنویسم با ارتباطاتشون. که اگر خواستم چیزی رو تغییر بدم در اون نگاه کنم و تمامی زیر مجموعه هاش رو تغییر بدم.
بازم ممنون میشم از دوستان اگر دراین رابطه نشری دارند بفرمایند.

حمیدرضاصادقیان
پنج شنبه 10 اردیبهشت 1388, 11:25 صبح
اساتید گرامی در این زمینه نظری ندارند؟

AminSobati
پنج شنبه 10 اردیبهشت 1388, 23:27 عصر
سلام دوست عزیزم،
منظورتون اینه که به جای استفاده از دستوراتی مثل ALTER TABLE خودتون مستقیما در جداول سیستمی دست ببرین؟

حمیدرضاصادقیان
شنبه 12 اردیبهشت 1388, 07:24 صبح
سلام.نه امین جان. من در حال طراحی یک دیتابیس برای یک شرکت بزرگ هستم. حالا مسئول پروژه بهم گفته امکان داره بعضی از مشخصات جداول تغییر بکنه یا سایزشون عوض بشه. من اولین چیزی که به ذهنم رسید استفاده از UDT ها بود که گفتم با تغییر اون تمامی جداولی که از اون استفاده کردن سایز و مشخصاتشون تغییر میکنه که یک مقداری شک کردم . با بررسی هایی که انجام دادم دیدم که امکان تغییرمشخصات UDT به صورت عادی نیست و حتما باید در جداول سیستمی تغییر بدیم تا UDT ها عوض شوند. بعد وقتی UDT ها عوض شدند جداولی که از اون استفاده میکنند تغییر نمی کنند. به همین خاطر راهی که به ذهنم رسید اینه که مشخصات جداول مانند نام جدول، ستون ، سایز و نوع فیلد، و ارتباطش با جداول دیگه رو در یک جدول ذخیره بکنم. وقتی که خواستم یکی از فیلدها رو مقدارشو عوض کنم توی این جدول تمام جاهایی که فیلد مربوطه استفاده شده رو پیدا کنم بعد اونها رو تغییر بدم. حالا میخواستم ببینم راه حل بهتری هست.؟