در ادامه ی آموزش های مربوط به SQL Server، به بررسی و ساخت اسکما یا همان Schema و اهمیت آن در دیتابیس میپردازیم.
به طور کلی روش های تقسیم بندی انواع دیتابیس های عبارتند از :
1 – دیتابیس های جزیره ایی
2 – دیتابیس های یکپارچه
اگر بخواهیم از دیتابیس های Exam ، مایکروسافت مثال بزنیم، می توانیم به دیتابیس Northwind که یک دیتابیس جزیره ایی می باشد و در SQL Server 2000 ارائه شده بود، اشاره نماییم. همچنین از SQL Server 2005 به بعد می توانیم به دیتابیس AdventureWorks اشاره کنیم که یک دیتابیس یکپارچه می باشد. در دیتابیس های جزیره ایی اثری از اسکما نمی بینیم ولی در دیتابیس های یکپارچه جداول زیرسیستم های مختلف به کمک اسکما از هم جدا شده اند.
در دیتابیس های یکپارچه جداول مربوط به تمام سیستم ها که به کمک Schema از هم جدا شده اند، در یک دیتابیس جمع شده اند. به عنوان مثال جداول مربوط به فروش توسط اسکمای ، Sales از سایر جداول جدا شده اند و یا اینکه جداول انبار توسط اسکمای INV از سایر جداول جدا شده اند و یا اینکه جداول پرسنلی توسط اسکمای Person از سایر جداول جدا شده اند و یا اینکه جداول منابع انسانی توسط اسکمای HumanResource از سایر جداول جدا شده اند و الی آخر. لازم به ذکر است که بحث مربوط به ایجاد اسکما ، از نسخه SQL Server 2005 اضافه گردید.
در نسخه SQL Server 2000 ما فقط اسکمای dbo داشتیم. بعضی از برنامه نویسان در نسخه SQL Server 2000 برای جداکردن جداول از یکدیگر ، از یک پیشوندی استفاده می کردند. مثلا قبل از جداول فروش از پیشوند SAL و برای جداول انبار از پیشوند INV استفاده می کردند.
مزایای ساخت اسکما در SQL Server
1 – مباحث مربوط به امنیت:
علت اصلی ساخت اسکما این است که بتوانیم هنگام دادن دسترسی به یک زیر سیستم مثلا اعطاء دسترسی به جداول مربوط به جداول فروش بتوانیم به راحتی روی این اسکما به یک فرد خاص دسترسی دهیم. به عبارت دیگر به جای اینکه به تک تک جداول سیستم فروش به یک فرد دسترسی بدهیم، یکجا به اسکمای Sales به یک فرد دسترسی می دهیم، در این صورت آن فرد به کل جداول اسکمای فروش دسترسی خواهد داشت.
2 – دسته بندی جداول یک دیتابیس :
جدا کردن مرز بین جداول زیر سیستم های مختلف در یک دیتابیس و ایجاد یک نظم خاص بین جداول یک دیتابیس.
نحوه ساخت اسکما :
برای ساخت اسکما می توانیم به دو روش اقدام نماییم :
الف) ایجاد اسکما به روش ویزاردی
ب ) ایجاد اسکما به کمک Script
در زیر به توضیحات کامل و جامع از این دو روش می پردازیم:
ساخت اسکما به روش ویزاردی :
کافیست مطابق شکل زیر در فولدر Security بر روی فولدر Schemas کلیک راست نموده و بر روی New Schemas کلیک نماییم.
در این صورت پنجره ایی باز می شود که شما باید نام اسکمای خود را وارد نموده و بر روی دکمه OK کلیک کرده تا ساخت اسکما انجام شود.
تذکر : به این نکته مهم دقت کنید وقتی شما اسکما می سازید در این صورت هنگام نوشتن Select ، باید حتما قبل از نام جداول خود ، نام اسکمای آن جدول را نیز بیاورید.
ساختن اسکما با استفاده از Script :
برای ساختن اسکما به روش اسکریپتی می توانیم از دستور زیر استفاده نماییم.
Create Schema INV |
Create Table INV.Product ( ID int Primary key, fullname nvarchar(200) ) |
تذکر : اگر می خواهیم اسکمای یک جدول را تغییر دهید کافیست روی جدول کلیک راست نموده و بر روی گزینه Design کلیک کنید و سپس دکمه F4 را بزنید. حال می توانیم کمبوباکس مربوط به schema را باز کرده و مطابق شکل زیر اسکمای مورد نظر خود را تغییر دهید.
و سپس تغییرات را ذخیره کنید.
لازم به ذکر است که اسکریپ مربوط به تغییر اسکما به صورت زیر می باشد :
Alter Schema MyNewSchema Transfer dbo.MyTable |
دیدگاه شما