معرفی Schema در SQL Server
جمعه 13 آذر 1394Schema ظرف یا Containerای است که کلیه اشیاء یک بانک اطلاعاتی را در برمی گیرد. هدف استفاده از Schema، قرار گرفتن اشیاء مختلف بانک اطلاعاتی مثل جداول و ... درون آن است، در واقع بوسیله Schema می توانیم، اشیاء مختلف بانک اطلاعاتی را دسته بندی کنیم.در این مقاله می خواهیم مفاهیم و نحوه کار با Schema را توضیح دهیم.
یکی دیگر از دلایل استفاده از Schema، پیاده سازی کنترل های بیشتر روی امنیت بانک اطلاعاتی است. که البته این امکان از SQL server 2005 اضافه شده است.
یکی از قابلیت های استفاده از اسکیما در sql مدیریت سطح دسترسی کاربران بر روی Object های قرار گرفته در آن Schema می باشد. برای تمامی Object های قرار گرفته در یک schema در پایگاه داده از قبیل جداول، رویه های ذخیره شده(stored procedure) و ... پیشوندی هم نام Schema تعیین می گردد. به طور مثال اگر نام جدول بانک اطلاعات شما yourtable و نام اسکیمایی که بانک را در آن قرار داده اید myschema باشد، در آخر جدول شما با نام ذیل مشخص می گردد.
Myshema.yourtable
با توجه به این نکته می توان جداولی هم نام در یک بانک اطلاعاتی در اسکیما های متفاوت داشت.
تمام اشیاء در schema باید یک نام منحصر به فرد داشته باشند و همچنین نام schema باید در پایگاه داده منحصر به فرد باشد.
چگونه می توان Schema ایجاد کرد:
Syntax( نحو):
Create Schema Schema_Name <Schema element>Data types
مثال:
CREATE TABLE Product1 ( iProductID INT IDENTITY(1,1) ,vProductName VARCHAR(100) NOT NULL ,vManfacturer VARCHAR(100) NOT NULL ,LastUpdated DATETIME DEFAULT GETDATE() , PRIMARY KEY (iProductID, vManfacturer, vProductName) )
مثال Schema ایجاد شده: یک schema به صورت زیر ایجاد می شود:
یک بار schema ایجاد شده و شما می توانید هرنوع SQL query مانند Update، Alter، Insert، Delete و یا Drop را انجام دهید.
مثال : ما در اینجا از کوئری Insert استفاده کرده ایم:
INSERT INTO Product1(vProductName, vManfacturer) VALUES('Television','Samsung')
چگونه می توان Drop را در Schema انجام داد؟
برای drop schema از syntax داده شده در زیر استفاده می کنیم:
DROP Schema Schema_Name
برای مشاهده Schema Change History( تاریخچه تغییرات Schema) مراحل زیر را انجام دهید:
در مرحله اول، به Server Object Explorer خود رفته و بر روی سرور انتخاب شده راست کلیک کنید. حالا Reports را انتخاب کرده بعد آن Standard Reports، سپس بر روی گزینه Schema Change History کلیک کنید به صورت زیر:
یک تب query جدید با وضعیت تمام دستورات DDL اجرا شده، نام پایگاه داده، تاریخچه(از زمان تاریخ و زمان)، Type، جزییات عملیات DDL با زمان به صورت زیر باز خواهد شد:
- SQL Server
- 14k بازدید
- 10 تشکر