ايران ويج

نسخه‌ی کامل: آموزش توسعه ی پایگاه داده
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سری آموزش sql server : بررسی اجمالی توسعه دیتابیس
در این سری از آموزش های برنامه نویسی و در قسمت آموزش پایگاه داده sql server به بررسی اجمالی توسعه دیتابیس می پردازیم.
بسیاری از دیتابیس ها از ابتدا توسط افراد حرفه ای اما نه مجرب در این کار بسط داده شده اند. در موارد بسیاری یک مهندس برنامه نویس، به خاطر کمبود منابع دیتابیس موجود، در واقع با عملکرد طراحی یک جدول یا دیتابیس آماده شده است. متاسفانه گاهی اوقات کار کردن خارج از محدوده ی تخصص منجر به گرفتن برخی تصمیمات تکنیکی می شود که بعدها مشخص می شود تصمیمات خوبی نبوده اند.

توضیحات:

هدف این آموزش کمک یکسان به حرفه ای های دیتابیس و غیردیتابیس می باشد تا روش های توسعه را تشخیص داده و همچنین تکنیک هایی را تشخیص دهند که در آینده منجر به بهینه شدن تکنیکی آنها می شوند.

با داشتن این هدف در ذهن، موضوعات زیر مورد بررسی قرار می گیرند:

· طراحی موقعیت (Location Design)
· تعریف انواع و اندازه های داده
· تعریف کلید اصلی
· تعریف Clustered Index
· انتخاب شاخص های non-clustered
· تعریف محدوددیت ها
· بررسی های آماده (prepared queries) و روش های ذخیره شده (stored procedures)
· بررسی در مجموعه ها
· جلوگیری از Index Nullification(index nullification)
· جدول های موقت و متغیرهای جدول
· کار با trigger ها

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

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

توضیح:

مدل سازی داده های منطقی جایی است که در آن ورودی های تجاری، مولفه های آن (ستون ها) و چگونگی ارتباط داخلی ورودی ها با یکدیگر که در نهایت جدول خواهند شد، را تعریف می کنید. این گام اولیه شامل پروسه ی هنجارسازی (Normalization) می شود. در هنجارسازی شما ورودی های خود را شکسته و هشو (redundancy) را از آنها حذف می کنید، هر گونه تکرار داده را نیز حذف کرده و در نهایت هر موجودیت (entity) دارای یک کلید اصلی می باشد که همه ی مولفه ها تنها به این کلید تکیه می کنند. این فرایند معمولاً از طریق ابزار اعمال نفوذ (leveraging) مدل سازی داده اجرا می شود که می تواند مدل را تجسم کند.

سه مدل هنجارسازی پایه مجود دارد:

· اولین فرم نرمال (1 NF) (یک کلید اصلی شناسایی می شود، ویژگی ها به کوچکترین شکل مولفه کاهش می یابند، تکرار داده شناسایی شده و حذف می شود.)

· دومین فرم نرمال ( 2NF) ( ویژگی های بدون کلید اصلی که وابسته به کلید اصلی کل نیستند، حذف می شوند.)

· سومین فرم نرمال (3NF) وِیژگی های بدون (non-primary key attributes)کلید اصلی که دارای وابستگی به ویژگی های دیگری از نوع خود می باشند، حذف می شوند.

فرم های نرمال دیگری از جمله (Boyce-Codd(BCNF ، چهارمین فرم نرمال (4NF) و پمجمین فرم نرمال (5NF) و غیره وجود دارند. من فکر می کنم دسترسی به سومین فرم نرمال کافیست، اما ممکن است نظر شما این نباشد.

دلیل تلاش برای طبیعی و هنجار کردن (Normalize) چیست؟ این امر می تواند به کاهش تعداد داده ها در جدول کمک کند که منجر به I/Os کمتر در بازیابی (retrieve) داده برای بررسی می شود و باعث ذخیره حجم حافظه در SQL Server نیز می شود. همچنین می تواند مانع پیامدهای با ناهنجاریهایی در اصلاح داده شود که در چنین پیامدهای ناهنجاری ممکن است موضوع در یک ستون آپدیت شود، در حالیکه در ستون دیگر حذف می شود. اخیرا برقراری یکپارچگی ارجاعی (referential integrity) مانند ارزیابی کلید خارجی آسانتر شده است.

بسته به طراحی شما، ممکن است یک پنالتی عملکرد برای طبیعی ساختن تا 3NF وجود داشته باشد و علاوه بر این ممکن است JOIN های زیادی لازم باشند تا درخواست یک بررسی را خرسند سازند. این مسئله نباید مانع شما در طراحی حداقل 3NF شود. اگر یک موضوع بررسی بعدا شناسایی شود، شما گزینه ی معرفی حشو کنترل شده را در طراحی خود دارید. در این فرایند به طور مشخص حشو را برای حل یک اجرا معرفی می کنید. به هرحال به طور خودکار denormalization را به یک طراحی اضافه نکنید. در عوض به یک موقعیت اجرای حقیقی اجازه ی دیکته کردن آن را بدهید.

در پست بعدی افدام به تعریف انواع و اندازه های داده در دیتابیس می کنیم.

منبع مطالب : آموزش sql server