در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش کوئری (Query) گرفتن از SQL قسمت 7 : طراحی جدول ها

در مقاله های قبلی در خصوص مفاهیمی از قبیل رابطه های بین Table ها ، Trigger ها ، Constraint ها ، رابطه های یک به یک ، یک به چند ، چند به چند و همچنین مفاهیمی مثل کلید اصلی یا Primary Key و کلید خارجی یا Foreign Key صحبت کردیم ، در ادامه می خواهیم این مفاهیم را تا حدودی در حوزه طراحی پایگاه های داده مورد استفاده قرار بدهیم تا درک آنها ملموس تر باشد ، عجله نکنید ، اول مفاهیم و طراحی ها را خوب یاد بگیرید و سپس به سراغ کاربرد بروید وگرنه فقط یک کاربر خواهید شد نه یک طراح ، خاطرم هست که در همین حوزه شبکه هر فردی که می توانست چهار تا Next Next Finish را بزند خود را به عنوان مشاور مایکروسافت معرفی می کرد ، دوستان درک عمقی از مفاهیم داشته باشید نه فقط کار تجربی بدون اینکه بدانید در پس زمینه چه اتفاقی می افتد.

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

مفاهیم مرتبط با طراحی Database در SQL سرور

یک پایگاه داده یا Database به اندازه ای کاربردی و مفید است که طراحی آن مفید و کاربردی است.البته هیچوقت یک استاندارد یکپارچه و دقیق برای طراحی Database ها وجود ندارد و این درست نیست بگوییم که یک طراحی Database همیشه درست است و مشکلات ما را حل می کند ، طراحی ها همیشه متنوع هستند و هیچوقت یک طراحی جامع و کامل وجود ندارد که بتوان از آن در تمامی Database ها استفاده کرد. ممکن است برخی از طراحی ها نسبت به سایر طراحی ها از ساختار بهتری برخوردار باشند اما شما نمی توانید این را ملاک قرار دهید. در طراحی Database ها دو عامل اصلی نقش دارند ، ابتدا دانش طراحی Database است و سپس خلاقیت و تجربه طراح است. هیچوقت شما در طراحی Database ها چیزی به نام الزام مشاهده نمی کنید (به جز مواردی که به ندرت پیش می آید و در خصوص Database ها یا Component های خاصی مورد استفاده قرار می گیرند ) و این شما هستید که با استفاده از دانشی که با استفاده از مطالعه و تجربه بدست آورده اید و از طرفی خلاقیتی که بر حسب تجربه و مرور زمان به دست آورده اید می توانید یک طراحی زیبا را ارائه کنید. ممکن است برخی اوقات تنها به یک راهکار برای طراحی خود برسید اما همین راهکار نیز می تواند با روش های مختلف انجام شود و الزامی برای گام به گام انجام شدن یک طراحی قبلا پیاده سازی شده بصورت همیشگی نیست. برای یک طراحی خوب مقداری احساس ، مقداری هنر و مقداری دانش نیاز است که در موقعیت های مختلف بتواند طراحی های درستی را ارائه کند.

یکی از مواردی که در طراحی Database ها بسیار مهم است این است که شما بتواند در بدو طراحی Database به درستی اینکار را انجام دهید ، اگر طراحی اولیه درست انجام نشود ، بازگشتن و طراحی مجدد آن کار ساده ای نیست و مشکلات بسیاری را در بر خواهد داشت ،قبل از طراحی یک database برای یک نرم افزار بهتر است با برنامه نویس و طراحی نرم افزار به درستی ارتباطات لازم برقرار شود و اطلاعات لازم دریافت شود و از طرفی نیز انجام اینکار نیاز بسیاری به انجام پیشبینی ها و آینده نگری می باشد ، آینده نگری و برنامه ریزی درست برای Database ها در واقع هسته اصلی طراحی یک Database می باشد. باید به این موضوع دقت کنید که طراحی یک چیز ثابت و از پیش تعریف شده نیست و یک طراح Database موفق در طراحی های خود قطعا فاکتوری به نام تجربه را دارد که بسیار به وی کمک خواهد کرد ، پاسخ داده به سئوالاتی از قبیل : چرا باید اینکار انجام شود ؟ چرا باید از انجام اینکار پرهیز شود ؟ چرا باید در خصوص فلان مورد تحقیق شود ؟ چرا باید پیشبینی چنین مواردی انجام شود ؟و امثال اینگونه سئوالات صرفا زمانی امکانپذیر است که شما تجربه لازم در خصوص طراحی Database ها را داشته باشید.

عجله نکنید و نگران هم نباشید ، درست است مفاهیم اولیه را با هم مرور می کنیم اما در نهایت شما در دنیای طراحی Database تازه وارد هستید و این را فراموش نکنید که طراحی کار افراد حرفه است نه افراد تازه کار ، در نتیجه طراحی های Database های امروزی یا توسط خود برنامه نویس یا مدیر Database انجام می شود و شما صرفا نقش کاربری و استفاده از آن را در بیشتر موارد دارید ، هدف ما اینکه اینقدر در حوزه طراحی Database صحبت می کنیم این نیست که شما در همین ابتدای کار دانش عمقی نسبت به این مورد پیدا کنید بلکه هدف من از آموزش این قسمت این است که اگر DBA یا برنامه نویس شما به شما یک Database داد ، متوجه شوید که چگونه رابطه ها در آن ایجاد شده اند و چرا این رابطه ها ایجاد شده اند ، در اصل بحث اصلی ما این است که شما به عنوان یک فرد تازه کار حداقل باید از ساختاری که در اختیار شما قرار می گیرد سر در بیاورید و بر اساس آن بتوانید تصمیم گیری های خود را انجام دهید. دوره ای ویژه طراحی Database بصورت جداگانه وجود دارد که صرفا مبحث طراحی Database را در خود پوشش می دهد.

معرفی فرآیند Normalization در پایگاه داده های SQL سرور

خوب در خصوص مفهوم اولیه و همچنین اهمیت طراحی یک Database با هم صحبت کردیم اما یکی از کارهایی که DBA یا برنامه نویس شما یا خود شما به عنوان یک مدیر پایگاه داده در اولین گام از طراحی یک Database بایستی انجام دهید فرآیندی به نام Normalization یا عادی سازی می باشد. ترجمه کلمه Normalization عادی سازی می باشد اما در لفظ ساده به فرآیند طراحی و تعریف Table های موجود در Database های شما به گونه ای که بتوانید درک درستی از داده های موجود در دیتابیس را به شما ارائه دهد Normalization گفته می شود. فرآیند Normalization در واقع لایه بندی کردن و سطح بندی Table ها و تفکیک کردن درست آنها می باشد که معمولا در 5 سطح به گفته Plural sight و در 7 سطح به گفته کتاب Wrox انجام می شود ، یعنی شما برای اینکه داده های شما دارای ساختار استانداردی باشند با استفاده از فرآیند Normalization در 5 سطح می توانید Table های خود را طراحی کنید تا درک آنها ساده تر شود. مهمترین نکته در خصوص Normalization این است که در این فرآیند هدف اصلی کاهس داده های تکراری در جداول یا به نوعی کاهش Data Redundancy می باشد . عجله نکنید در خصوص تمامی ابهاماتی که الان دارید در خصوص اینکه منظور از سطح چیست ، منظور از فرم های Normalization چیست و امثال اینها در مقاله بعدی شروع به انجام یک طراحی عملی می کنیم که بصورت گام به گام فرآیند Normalization و طراحی اولیه یک Database را به شما در قالب سناریویی کاربردی آموزش می دهد پس عجله نکنید. ITPRO باشید.

نویسنده : محمد نصیری

منبع : جزیره بانک های اطلاعاتی وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#طراحی_table_های_sql #normalization_چیست #طراحی_دیتابیس_های_sql #آموزش_sql_server #آموزش_گام_به_گام_sql_سرور #آموزش_sql_سرور #آموزش_طراحی_sql_سرور
عنوان
1 آموزش کوئری (Query) گرفتن از SQL قسمت 1 : معرفی SQL سرور رایگان
2 آموزش کوئری (Query) گرفتن از SQL قسمت 2 : Relational Database ها رایگان
3 آموزش کوئری (Query) گرفتن از SQL قسمت 3 : ساختار Table ها رایگان
4 آموزش کوئری (Query) گرفتن از SQL قسمت 4 : کلیدهای اصلی و فرعی رایگان
5 آموزش کوئری (Query) گرفتن از SQL قسمت 5 : رابطه بین جدول ها رایگان
6 آموزش کوئری (Query) گرفتن از SQL قسمت 7 : طراحی جدول ها رایگان
7 آموزش کوئری (Query) گرفتن از SQL قسمت 7 : طراحی ساده یک DB رایگان
8 آموزش کوئری (Query) گرفتن از SQL قسمت 8 : Normalization رایگان
9 آموزش کوئری (Query) گرفتن از SQL قسمت 9 : دستورات اولیه SQL رایگان
10 آموزش کوئری (Query) گرفتن از SQL قسمت 10 : محیط Management Studio رایگان
11 آموزش کوئری (Query) گرفتن از SQL قسمت 11 : اتصال به Database رایگان
12 آموزش کوئری (Query) گرفتن از SQL قسمت 12 : ساختار دستور SELECT رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

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