ساخت اسکماSCHEMA با سینا محمدیاری
۳۰ بهمن

ساخت اسکما (Schema) در SQL Server

در ادامه ی آموزش های مربوط به 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 استفاده می کردند.

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

جدا کردن مرز بین جداول زیر سیستم های مختلف در یک دیتابیس و ایجاد یک نظم خاص بین جداول یک دیتابیس.

ساخت اسکما با سینا محمدیاری

برای ساخت اسکما می توانیم به دو روش اقدام نماییم :

در زیر به توضیحات کامل و جامع از این دو روش می پردازیم:

کافیست مطابق شکل زیر در فولدر Security بر روی فولدر Schemas کلیک راست نموده و بر روی New Schemas کلیک نماییم.

Schema با سینا محمد یاری

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

تذکر : به این نکته مهم دقت کنید وقتی شما اسکما می سازید در این صورت هنگام نوشتن Select ، باید حتما قبل از نام جداول خود ، نام اسکمای آن جدول را نیز بیاورید.

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

Create Schema INV
حال به ساخت یک جدول در اسکمای INV دقت نمایید :
Create Table INV.Product ( ID int Primary key, fullname nvarchar(200) )

تذکر : اگر می خواهیم اسکمای یک جدول را تغییر دهید کافیست روی جدول کلیک راست نموده و بر روی گزینه Design کلیک کنید و سپس دکمه F4 را بزنید. حال می توانیم کمبوباکس مربوط به schema را باز کرده و مطابق شکل زیر اسکمای مورد نظر خود را تغییر دهید.
ساخت اسکما با سینا محمد یاری

و سپس تغییرات را ذخیره کنید.

لازم به ذکر است که اسکریپ مربوط به تغییر اسکما به صورت زیر می باشد :

Alter Schema MyNewSchema   Transfer dbo.MyTable

این مطلب چقدر مفید بود؟

برای امتیاز دادن به آن روی ستاره ها کلیک کنید!

میانگین امتیاز 5 / 5. تعداد آرا: 2

تاکنون رأی داده نشده ! اولین کسی باشید که این مطلب را ارزیابی می کنید

دیدگاه شما

نشانی ایمیل شما منتشر نخواهد شد.

یک × دو =