صنایع فناوری طراحان بهینه

آموزش Microsoft SQL Server - # جلسه اول - تعاریف

آموزش Microsoft SQL Server - # جلسه اول - تعاریف

طراحی و پیاده سازی پایگاه داده با استفاده از Microsoft SQL Server




ابتدا با تعاریف اولیه آشنا می شویم:

تعریف داده (Data): هر شکل از واقعیت در مورد افراد، اشیا، رخداد ها و به طور کلی هر نوع اطلاعات خام به عنوان داده شناخته می شود. یا طبق تعریف ویکی پدیا همه دانسته ها، آگاهی ها، داشته ها، آمار ها، شناسه ها، پیشینه ها و پنداشته ها را داده یا دیتا می نامند


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


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

داده ها را می توان درقالب چهار نوع پرونده سازمانی دسته بندی کرد:

پرونده درهم (Pile): در واقع این روش به انباشت فایل یا پرونده ها بدون هیچ ترتیب یا روند مرتب سازی خاصی اشاره دارد

هزینه ذخیره سازی و یا ورود یک پرونده جدید بسیار کم و هزینه جستجو یا پیدا کردن یک پرونده خاص بسیار زیاد است.

پرونده ترتیبی (Sequential): در این روش پرونده های داده با یک ترتیب خاص و کلی به عنوان مثال به ترتیب حروف الفبا و یا به ترتیب یک شماره خاص ذخیره می شوند. هزینه ذخیره کردن یک پرونده جدید متوسط و هزینه جستجو یا پیدا کردن یک پرونده می تواند به اندازه بررسی کلیه پرونده های موجود باشد.

پرونده شاخص دار(Indexed): این روش از دو یا چند سطح مرتب سازی محدود برای ذخیره سازی اطلاعات استفاده می کند

هزینه افزودن یک پرونده جدید نسبت به روش های قبلی بیشتر و هزینه جستجو و پیدا کردن یک پرونده موجود از روش های قبلی کمتر است.

پرونده شاخص دارترتیبی (Index-Sequential): در این روش علاوه بر استفاده از چندین سطح مرتب سازی هر گروه از پرونده های موجود در شاخص با یک ترتیب خاص نگه داری می شوند. در این روش هزینه افزودن پرونده جدید از همه بیشتر و هزینه جستجو و پیدا کردن پرونده موجود از همه کمتر است.


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

پایگاه داده (Database): یک پایگاه داده شامل دو بخش مهم و اصلی است که بخش اول آن مجموعه ای از داده های سازمان دهی شده و بخش دوم یک سیستم مدیریتی به نام DBMS است. و طبق تعریف ویکی پدیا پایگاه داده یا بانک اطلاعاتی یا دیتابیس به مجموعه ای از داده با ساختار منظم و سامان مند گفته می شود.

در ادامه آمده است که :

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

(DBMS) Data Base Management System: یک سیستم نرم افزاری پیچیده و تکامل یافته که مدیریت پایگاه داده را برعهده دارد و ورود و خروج اطلاعات و مدیریت صحت انجام عملیات را انجام می دهد.

مزایای استفاده از یک پایگاه داده :

    1. کاهش افزونگی داده ها

    هر گونه ذخیره سازی مازاد اطلاعات و یا نگه داری چندین نسخه از اطلاعات افزونگی است

    2. امنیت

    یکی از مهم ترین مسائل در پایگاه داده کنترل دسترسی به اطلاعات و حفاظت از اطلاعات در برابر دسترسی های غیر مجاز است

    3. جامعیت

    جامعیت بر صحت عملیات، اعمال محدودیت و رعایت قواعد امنیتی در پایگاه داده دلالت دارد

    4. عدم ناسازگاری

    ناسازگاری یعنی وجود اطلاعات فاقد اعتبار و صحت در بانک اطلاعاتی

    5. دسترسی همزمان

    دسترسی همزمان قابلیت اتصال و فعالیت همزمان چندین کاربر



برای استفاده و ذخیره سازی اطلاعات در یک پایگاه داده نیاز است که ابتدا بانک با ساختاری منطبق با اطلاعاتی که باید در آن نگه داری می شود طراحی گردد.

طراحی بانک از دو جنبه بررسی می شود 1. طراحی فیزیکی 2. طراحی منطقی

طراحی فیزیکی :

در حوزه طراحی فیزیکی بیشتر راجع به چگونگی ذخیره سازی اطلاعات و فایل های حاوی اطلاعات به صورت فیزیکی در هارد دیسک بحث می شود


طراحی منطقی :

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


برای کار کردن با بانک اطلاعاتی جهت طراحی پرس و جو و به طور مشخص RDBMS یک زبان استاندارد و ساختارمند به نام Structured Query Language – SQL وجود دارد. ("اس کیو ال" تلفظ می شود)


RDBMS:


انواع دستورات قابل اجرا در پایگاه داده بر دو نوع هستند:

(DDL (Data Definition Language:

دستوراتی که برای تعریف و به روز آوری ساختار بانک استفاده می شود

از جمله این دستورات Create, Alter, Drop هستند

(DML (Data Manipulation Language:

دستوراتی که با اطلاعات سرو کار دارند
از جمله این دستورات Select, Insert, Update, Delete, Merge


SQL استانداردهای (ANSI (American National Standards Institute در سال 1986 و ISO (International Organization for Standardization) را در سال 1987 اتخاذ نمود.

پس از آن نسخ زیادی از آن به مرور زمان تکامل یافت و استاندارد شد که آخرین نسخه آن مربوط به SQL 2011 است.


استاندارد سازی SQL کمک کرده یک زبان واحد در پایگاه داده ای متفاوت از جمله Microsoft، DB2، Oracle و دیگر بانک ها کاربرد داشته باشد.

در واقع تفاوت پایگاه داده های مختلف در طراحی فیزیکی آنهاست.


در این مجموعه به شکل خاص در مورد Microsoft SQL Server بحث می شود:

ویرایش های مخلتف از RDBMS مربوط به ماکروسافت تولید شده که در اینجا این ویرایش ها به شکل کلی معرفی می شوند:


ویرایش ها Microsoft SQL Server Editions


    1. Data Center

        

    نسخه کامل و با تمامی امکانات موجود که برای دیتا سنتر ها طراحی شده است این نسخه معمولا از رم نامحدود پشتیبانی می کنند و تعداد پردازنده های پشتیبانی شده به عنوان مثال در نسخه 2008 از 32 پردازنده پشتیبانی می کند


    2. Enterprise

        تفاوت این دو نسخه در رم و پردازنده ای است که پشتیبانی می کند

        تعداد پردازنده کمتر تا 8 پردازنده، و رم محدود عموما تا 64 گیگابایت رم

        البته نسخه SQL Server 2012 Enterprise از 160 پردازنده فیزیکی پشتیبانی می کند.

    3. Standard

        

    از نسخه Enterprise بسیار کوچک تر است، و از قابلیت هایی مهمی مانند افزودن حافظه در حال اجرا پشتیبانی نمی کند.


    4. Developer

        

    این نسخه تمام امکانات Enterprise را داراست اما به یک کاربر محدود شده است (Single User)


    5. Express


        نسخه رایگان و کم حجم که فقط از یک پردازنده و یک گیگابایت رم پشتیبانی می کند

        با نصب ابزارهای برنامه نویسی مانند Visual Studio به طور خودکار روی ماشین نصب می شود


ویرایش های ویژه:


Azure : ورژن مورد استفاده در پلتفرم های ابری است Cloud-based Platform

Compact SQL CE: یک نسخه توکار از موتور اصلی پایگاه داده است که برای پلتفرم موبایل مورد استفاده قرار می گیرد

Local DB: همراه با SQL Server Express 2012 معرفی شد این ویرایش مینیمال شده و محدود برای برنامه نویسان است که برای بانک های توکار Embedded نیز قابل استفاده است


شرحی بر Microsoft RDBMS:

نرم افزار مدیریت پایگاه داده ماکروسافت با نام Studio Management شناخته می شود البته نام این نرم افزار در نسخه 2000 آن Enterprise Manager بود. برای استفاده از آن باید سرور مشخص آن را انتخاب و سپس مرحله Authentication یا اهراز هویت را گذراند. برای تعیین سرور مورد نظر از نام و یا IP نیز می توان استفاده کرد.


چک کردن سرویس های SQL:

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

از منوی start وارد لیست برنامه های نصب شده روی ماشین شوید، از دایرکتوری نسخه SQL نصب شده روی ماشین آیتم Configuration Manager را اجرا کنید:


sql server Configuration Manager


یک نسخه از سرویس های SQL که دارای Start Mode = Automatic باشد یعنی آن سرویس خاص برای اجرا شدن نیازی به Log in  کردن در ویندوز نیز ندارد.


سرویس Service : نرم افزاری است که به شکل خودکار هنگام Boot شدن (راه اندازی)  فعال می شود و فعالیت خود را در Background انجام می دهد.

Sa: قوی ترین لاگین یا حساب کاربری در پایگاه داده است (System Administrator) همان DBA می باشد که یکی از وظایف آن ایجاد لاگین های جدید برای اتصال به بانک است.


مدل های پایگاه داده های مختلف به ترتیب تکامل :

سلسه مراتبی : 

    این مدل دارای افزونگی و آنومالی در عملیات رو بانک بود

مدل شبکه ای:

    این مدل دارای پیچیدگی زیاد در پیاده سازی بود

مدل رابطه ای:

    این مدل براساس جبر رابطه ای و ریاضیات بنا شده است که از سادگی، مجموعه ای بودن، برآورده کردن کلیه نیاز ها بهره می برد و دو ویژگی بسیار مهم در آن کامل بودن و درست بودن است

        کامل بودن دلالت بر به دست آوردن کلیه پاسخ های درست دارد

        درست بودن دلالت بر صحت همه پاسخ های به دست آمده دارد

مدل شی گرایی:

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

در مدل رابطه ای امکان دسترسی به طور همزمان ممکن نیست و در کارهای تیمی استفاده از نتایج دیگران هنگام انجام کار امکان ندارد.

در این مدل تنها می توان از انواع داده هایی که تعریف شده اند استفاده کرد و امکان تعریف داده های جدید وجود ندارد.

این مشکلات سبب شد تا متخصصین به فکر ساخت مدل های جدیدی بیافتند که یکی از بهترین نوع آنها مدل شی گرائی است.

البته مدل های امروزی ترکیبی از مدل شی گرایی و رابطه ای هستند که هم قابلیت های مهم این دو مدل را به ارث برده اند و هم نقاط ضعف را مرتفع ساخته اند.


ابزارهای مدیریت پایگاه داده براساس این مدل رابطه ای RDBMS  یا Relational Database Management System نام دارد


نرم افزار های مانند DB2، MySQL، Oracle همگی رابطه ای Relational هستند

O2، Object Store نمونه هایی از مدل شی گرایی هستند


گرچه پایگاه داده ها از زبان پرس و جوی استاندارد و مشابه استفاده می کنند اما اکثرا زبان برنامه نویسی متفاوتی دارند

زبان برنامه نویسی در Microsoft SQL Server زبان با نام T-SQL یا Transaction SQL است

زبان برنامه نویسی که در Oracle به کار می ورد PL-SQL است.


زبان T-SQL استاندارد نیست یعنی تنها در Microsoft SQL Server قابل استفاده است و فرمت دستور های T-sql و PL-sql با هم متفاوت هستند اما زبان پرس و جو همگی یکسان و همان SQL است.



از SQL 2005 به بعد می توان به زبان های حوزه .Net یعنی (C#, VB.Net) نیز در سرور ماکروسافت برنامه نوشت، اما چون در سرور فقط عملیات پردازش داده انجام می گیرد در اکثر موارد نیازی به استفاده نداریم. معمولا T-SQL برای استفاده ارجح است مگر در مواردی که عملیات محاسباتی سنگین مورد نیاز است.





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