خانه SQL Server Schema در SQL Server چیست؟ آشنایی با روش های ایجاد اسکیما SQL Server دستورات SQL نوشته شده توسط: تیم فنی نیک آموز تاریخ انتشار: ۲۷ اسفند ۱۴۰۲ آخرین بروزرسانی: 07 آذر 1403 زمان مطالعه: 10 دقیقه ۵ (۵) Schema در SQL Server نظارت بر پایگاه داده را بهبود میبخشد و در کاهش ناسازگاری و مدیریت کارآمد اشیای دیتابیس مفید واقع میشود. بهعنوان سیستم مدیریت پایگاه داده رابطه ای (RDBMS)، نرمافزار SQL Server بهمنظور مدیریت، سازماندهی و استخراج حجم وسیعی از داده، مورد استفاده قرار میگیرد و شما میتوانید بهواسطه اجرای دستور Insert و دستور آپدیت ، همچنین و عبارت Where و سایر موارد، این امور را انجام دهید. در این مطلب، به بررسی چگونگی استفاده از اسکیما در SQL Server میپردازیم و آن را به زبان قابل درک شرح میدهیم. Schema در SQL Server چیست؟ Schema در SQL Server نوعی کانتینر است که مجموعههایی از اشیای منطقی پایگاه داده (Database) را گروهبندی میکند. ممکن است این اشیا انواع مختلفی از جدول، View، استور پروسیجر (Stored Procedures)، توابع، ایندکسها و تریگرها باشند درحقیقت، میتوان Schema را مانند راهی در نظر داشت که پایگاههای داده را به فولدرهای مشخصی سازماندهی میکند. وجود اسکیما در SQL Server ، به بهبود شفافیت و نگهداری دیتابیسها، افزایش امنیت و جلوگیری از ناسازگاریهای نامگذاری منجر میشود. کاربرد Schema در SQL Server در این بخش، چند مورد از کاربردهای رایج اسکیما در SQL Server بررسی میشوند. اپلیکیشنهای Multi-Tenant: اگر پایگاه داده به گونهای است که به چند مشتری و سازمان خدمات ارائه میدهد، میتوان از اسکیماهای جداگانه برای جداسازی دادههای هر Tenant استفاده کرد. انواع ایندکس گذاری، این اقدام، امنیت و حریم خصوصی دادهها را بهبود خواهد داد. محیطهای توسعه، تست و تولید: میتوانید برای هر محیط (توسعه، تست، تولید) اسکیماهای جداگانه ایجاد کنید تا تغییرات توسعه بهصورت ایزوله نگهداری شوند و از Conflict با دادههای فرآیند تولید اجتناب شود. جداسازی منطقی عملکردها: اگر پایگاه داده شما از قابلیتها یا ماژولهای مختلف پشتیبانی میکند، میتوانید جداول، ویوها و رویههای مرتبط را برای سازماندهی بهتر در اسکیماهای جداگانه گروهبندی کنید. دادههای مخصوص اپلیکیشن: ممکن است اپلیکیشنهای مختلفی با پایگاه داده تعامل داشته باشند. استفاده از اسکیماهای جداگانه برای دادههای هر برنامه، کنترل دسترسی را تسهیل میدهد و خطر تغییرات تصادفی را کاهش خواهد داد. کنترل دسترسی کاربر: با اختصاص دادن مجوز به انواع Schema در SQL Server ، میتوانید براساس نیازها، به کاربران دسترسیهایی به دستور Select مجموعهای از اشیا پایگاه داده اعطا کنید. در مجموع، بهکارگیری Schema در SQL Server ، سازماندهی بهبودیافته، ایمنسازی و مدیریت کارآمدتر پایگاه داده را بههمراه دارد. این موضوع بهطور خاص، برای رسیدگی به ساختار دادههای پیچیده یا کاربران متعدد صادق است. برای درک عمیقتر مفاهیم SQL Server ، پیشنهاد میکنیم آموزش جامع SQL Server را مطالعه کنید. مزایای ایجاد Schema در SQL Server مزیتهای استفاده از Schema در SQL Server عبارتند از: گروهبندی منطقی اشیای دیتابیس، تسهیل درک و جابهجایی میان پایگاه داده. بهبود ساختاردهی و مدیریت شیهای مختلف در اسکیماها. وجود دسترسی کنترل دانه دانه (Granular Access Control). تسهیل مدیریت اشیا. قابلیت ایزولهسازی کاربران. حال این سؤال پیش میآید که ایجاد اسکیما در SQL Server به چه صورت است؟ روش های ایجاد Schema در SQL Server در این بخش به تشریح اصلیترین روشهای ایجاد Schema در SQL Server میپردازیم. ایجاد Schema با T-SQL با فرض اینکه شما از قبل، نصب SSMS را انجام دادهاید و به آن دسترسی دارید، SQL Server Management Studio را اجرا کنید. در این مطلب، از دیتابیس Northwind بهمنظور اجرای کوئریها استفاده میشود. فرض کنید میخواهیم منطق سفارشها و مشتریان را از یکدیگر جدا کنیم تا سازماندهی آنها به شکل بهبودیافتهتری انجام شده و بهطور کلی، امنیت بیشتری حاصل شود. ۱- ایجاد اسکیما روش اول برای ایجاد Schema در SQL Server ، اجرای کوئری زیر است: USE northwind; GO CREATE SCHEMA CustomerData; GO CREATE SCHEMA OrderData; با اجرای کوئری فوق، یک اسکیما برای دادهها مشتریان و یکی برای دادهها سفارشها ایجاد میشود. توجه کنید که برای جلوگیری از خطا یا مشکلات احتمالی، از جداساز GO به منظور اتمام Batch ها استفاده شده است. برای آن که بررسی کنید آیا ساخت اسکیما در SQL Server بهدرستی انجامشده یا خیر، میتوانید با اجرای کوئری زیر، لیست تمامی اسکیماهای موجود در دیتابیس Northwind را مشاهده کنید: USE northwind; SELECT * FROM sys.schemas; پس از اجرای این کوئری، خروجی مشابه زیر مشاهده خواهید کرد. ۲- انتقال جداول مربوطه به Schema ها برای انتقال جداول مرتبط به Schema های ایجادشده، از دستور Alter Schema استفاده میشود. به کوئری زیر توجه کنید: ALTER SCHEMA CustomerData TRANSFER dbo.Customers; ALTER SCHEMA OrderData TRANSFER dbo.Orders; توجه: اگر اسکیمای شما نام دیگر بهغیر از dbo دارا است، آن را به جای dbo در دوره کوئری نویسی پیشرفته قرار دهید. برای بررسی اینکه آیا جداول مربوطه به اسکیماها منتقل شدهاند یا خیر، میتوانید کوئری پایین را اجرا کنید. SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'CustomerData' AND TABLE_NAME = 'Customers'; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'OrderData' AND TABLE_NAME = 'Orders'; ایجاد Schema با SSMS روش دوم برای ایجاد Schema در SQL Server ، استفاده از رابط گرافیکی است که در این بخش بررسی خواهد شد. برای آشنایی بیشتر با این اجزا، پیشنهاد میشود و روش ایجاد View در SQL Server را مطالعه کنید. در ابتدا لازم است SMSS را روی سیستم اجرا کرده و به نمونه SQL Server خود Connect شوید. از بخش Object Explorer، روی فولدر Databases کلیک کرده و سپس، آن دیتابیسی که میخواهید برای آن اسکیما ایجاد کنید را انتخاب نمایید. روی فولدر Security از پایگاه داده مدنظر کلیک راست کنید، گزینه New و سپس گزینه Schema را از منو انتخاب کنید. در پنجره Schema – New، یک فیلد متنی برای نام اسکیما در SQL Server و یک فیلد برای تعیین مالک اسکیما (Schema Owner) قرار دارد. در بخش Schema name، نام اسکیمای موردنظر خود را وارد کنید. توجه کنید که وارد کردن Schema Owner انتخابی است. ضمن اینکه در این بخش امکان جستجوی کاربران یا Role ها ازطریق دکمه Search وجود دارد. فرض کنید بخواهیم یک اسکیما تحت عنوان OrderSchema ایجاد کنیم. این نام را در بخش Schema Name وارد کرده و روی دکمه OK کلیک کنید. اکنون میخواهیم بررسی کنیم آیا Schema موردنظر بهدرستی در پایگاه داده ایجاد شده است یا خیر. برای این کار، کوئری زیر را اجرا کنید: SELECT * FROM sys.schemas; همانطور که در تصویر مشاهده میکنید، Schema مدنظر با نام OrderSchema و ازطریق SSMS ایجاد شده است. نکته حائز اهمیت این است که برای ساخت Schema در SQL Server ، دارا بودن پرمیشن Create Schema روی آن دیتابیس ضروری است. تغییر Schema در SQL Server برای تغییر Schema در SQL Server ، دو راه پیش روی شما قرار دارد که در ادامه به آنها میپردازیم. اما پیش از آن، توصیه میشود ویدئو Schema Binding و تاثیر آن بر کارایی Functionهای SQL Server را نیز مشاهده کنید تا شناخت بهتری از مفاهیم پراهمیت مربوط به اسکیما بهدست آورید. روش اول: استفاده از عبارات T-SQL فرض کنید میخواهیم دو اسکیمای ایجادشده در بخش پیشین را تغییر دهیم. در چنین شرایطی مراحل زیر را دنبال کنید. ساخت اسکیماهای جدید: با اجرای کوئری زیر، Schema هایی با نامهای جدید ایجاد کنید: CREATE SCHEMA NewCustomerData; Go CREATE SCHEMA NewOrderData; انتقال جداول به اسکیماهای جدید: برای انتقال جدولها، کوئری زیر را Run کنید: ALTER SCHEMA NewCustomerData TRANSFER dbo.Customers; ALTER SCHEMA NewOrderData TRANSFER dbo.Orders; به این ترتیب، شما به تغییر اسکیما در SQL Server پرداختید. روش دوم: استفاده از SSMS شما میتوانید مشابه ساختن Schema در SQL Server ازطریق SSMS، برای ویرایش آنها اقدام کنید. با دنبال کردن مراحل زیر، میتوانید اسکیماها را تغییر دهید. برای یادگیری نحوه خودکارسازی تسکهای تکرارشونده و تسریع فرآیندها، به مقاله اسکریپت های پرکاربرد SQL رجوع کرده و آن را مطالعه کنید. یافتن جدول موردنظر: از بخش Object Explorer، پایگاه دادهای را انتخاب کنید که قصد تغییر اسکیمای آن را دارید. سپس، روی فولدر Tables از دیتابیس کلیک کنید تا Expand شود. دسترسی به Properties جدول: روی مقاله بررسی نحوه ایجاد جدول مربوطه کلیک راست کرده و گزینه Design را انتخاب کنید. تغییر مالکیت اسکیما در SQL Server : پس از ورود به پنجره Design، پنجره Properties را در سمت راست صفحه نمایش پیدا کنید. اگر این پنل در سمت راست صفحه نیست، لازم است دکمه F4 را فشار دهید تا Properties روی صفحه نمایش نمایان شود. انتخاب یک اسکیمای جدید: روی منوی Dropdown کنار Schema کلیک کرده و اسکیمای جدید موردنظر خود را از آن انتخاب کنید. ذخیرهسازی تغییرات: زمانی که اسکیمای جدید را انتخاب کردید، میتوانید پنجره Properties را ببندید. با استفاده از Ctrl+S ، تغییرات را ذخیرهسازی کنید. توجه به ملاحظات جانبی: باید به این موضوع توجه کرد که ممکن است تغییر مالکیت یک اسکیما در SQL Server ، آپدیت اشیایی را نیاز داشته باشد که به جدول ارجاع داده شده باشند. علاوهبر این، پیشنهاد میشود پیش از پیادهسازی چنین تغییراتی در محیط محصول، آنها را در محیط توسعه تست کنید. حذف Schema در SQL Server حذف Schema در SQL Server بهصورت مستقیم امکانپذیر نیست و شما باید اسکیمای موردنظر را با استفاده از عبارت T-SQL ، اصطلاحاً دراپ (Drop) کنید. بهمنظور حذف اسکیما ، اقدامات زیر را انجام دهید: اطمینان از خالی بودن اسکیما: تنها در شرایطی میتوان اسکیما را حذف کرد که در آن هیچ اشیایی، مانند جدول، ویو، استور پروسیجر و سایر موارد وجود نداشته باشد. بنابراین، شما باید اشیا موجود در اسکیما را ازطریق یکی از روشهای زیر حذف کنید: حذف دستی اشیا: روی هر شی کلیک راست کرده و گزینه Delete را انتخاب کنید. حذف مبتنیبر اسکریپت: براساس نوع شی، میتوان با استفاده عبارات Drop Table ،Drop View و… شیها را حذف کرد. استفاده از عبارت DROP SCHEMA: پس از اطمینان از خالی بودن اسکیما، یک پنجره Query جدید در SSMS باز کرده و با کمک ساختار زیر آن را Drop کنید: DROP SCHEMA [schema_name] قسمت [schema_name] را با نام اصلی اسکیمای خود جایگزین کنید. بررسی اشیای فعلی (انتخابی): اگر خیالتان از وجود اسکیما راحت نیست، میتوانید از عبارت IF EXIST استفاده کنید تا از خطاهای احتمالی جلوگیری شود. DROP SCHEMA IF EXISTS [schema_name]; توجه کنید که باید مجوزهای لازم برای Drop کردن اسکیما در SQL Server را داشته باشید. این موضوع ازطریق CONTROL در اسکیما یا ALTER ANY SCHEMA روی دیتابیس امکانپذیر است. علاوهبر این، دقت کنید که با حذف اسکیما ازطریق Drop، بازگشت از این عمل ممکن نیست. به همین دلیل، بهتر است دراپ را در محیطی غیر از محیط محصول اعمال کنید تا آسیبی به دیتابیس اصلی وارد نشود. نحوه مشاهده Schema در SQL Server اگر میخواهید این بخش را بههمراه مثال قابل درک متوجه شوید، مقاله لیست Schema های موجود در یک دیتابیس میتوانند برایتان مفید باشند. برای مشاهده Schema در SQL Server ، از ساختار کلی زیر استفاده کنید: SELECT name FROM sys.schemas; اگر میخواهید این بخش را بههمراه مثال قابل درک متوجه شوید، مقاله لیست Schema های موجود در یک دیتابیس و همچنین، مقاله لیست Schema های ایجاد شده توسط کاربر در یک دیتابیس میتوانند برایتان مفید باشند. سخن پایانی به واسطه وجود اسکیما در SQL Server ، امکان مدیریت شیهای پایگاه داده، از جدول گرفته تا استور پروسیجرها، وجود دارد. در عمل، Schema با گروهبندی اشیا براساس کارکرد یا مالکیت، سازماندهی دیتابیس را بهبود میبخشد و درک ساختار پایگاه داده را سادهسازی میکند. ضمن اینکه با کمک آن، به نوعی امنیت و همچنین، کنترل دسترسی به دیتابیس SQL Server تضمین میشود. در این مقاله، به بررسی نحوه ایجاد، تغییر و حذف اسکیما در SQL Server پرداخته شد تا شما بتوانید از آن بهعنوان راهنمای قابل درک بهرهمند شوید. ما در نیک آموز منتظر نظرات ارزشمند شما درباره این مقاله در بخش نظرات هستیم. چه رتبه ای میدهید؟ میانگین ۵ / ۵. از مجموع ۵ اولین نفر باش دانلود مقاله Schema در SQL Server چیست؟ آشنایی با روش های ایجاد اسکیما فرمت PDF 12 صفحه حجم 3 مگابایت دانلود مقاله معرفی نویسنده مقالات 401 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده تیم فنی نیک آموز معرفی محصول ایمان باقری آموزش کوئری نویسی در sql server 2.190.000 تومان 1.314.000 تومان مقالات مرتبط ۰۲ آبان SQL Server ابزار Database Engine Tuning Advisor؛ مزایا، کاربردها و روش استفاده تیم فنی نیک آموز ۱۵ مهر SQL Server معرفی Performance Monitor ابزار مانیتورینگ SQL Server تیم فنی نیک آموز ۱۱ مهر SQL Server راهنمای جامع مانیتورینگ بکاپ ها در SQL Server تیم فنی نیک آموز ۰۸ مهر SQL Server Resource Governor چیست؟ آشنایی با نحوه پیکربندی و اهمیت های آن تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ