فصل بیست و پنجم :
Views
View ها در SQL Server
View جدولیست مجازی.
جدولیست مجازی که سطر ها و ستون های آن بوسیله یک کوئری تعریف میشوند .
همانند جدول ها view نیز دارای سطر ها و یا ستونهاییست. فیلد های یک view می تواند فیلدهایی از جداول گوناگونی باشد این view بر مبنای آنها ساخته شده است .
کاربرد :
• برای سادگی کار - یک مجموعه دستور العمل پیچیده می تواند منجر به ساخت یک view شود. که بجای تکرار آنها در هربار فراخوانی تنها لازم است بروی ان همانند یک جدول کوئری اجرا نماییم.
• امنیت : فرض کنید که برای انجام برخی گزارشات نیاز دارید . نرم افزار و دیگری بهاطلاعت جداول شما دسترسی پیدا کنند. قطعا اجازه دسترسی به جداول ، مشاهده ساختار و امکان بروز رسانی و حذف اطلاعلات را به ان نرم افزار نخوهید داد. با توجخه به نیاز view هایی ایجاد میکنید که بطور کنترل شده ایی ستونهای خاص و یا رکورد های خاصی را ارائه دهد.
• بروی view ها می توانید index تنظیم کنید .
مثال :
create view testview
--WITH ENCRYPTION
as
select [FirstName],[LastName],ClassroomID,GorooheSeni=
case
when age<11 then 'کودک'
when age=11 then 'یازده ساله'
when age>11 and age<13 then 'نوجوان'
else 'جوان'
end
from [dbo].[Student]
select FirstName,LastName,GorooheSeni,ClassName from testview
inner join Classroom on testview.ClassroomID=Classroom.ID
WITH ENCRYPTION امکان برگشتی ندارد پس در نسخه نهایی اینکار را میکنیم
محدودیت های view
• امکان ساخت view پارامتری وجود ندارد .
• view نمی توانند بر مبنای جداول موقتی temporary Table باشند .
در view نمی توان از order by استفاده کرد.
• تمامی جداولی که در ساختار view استفاده میشوند بایستی در دیتابیسی باشند که خود view در آن است .
در کوئری سازنده view نمی توانید از count(*) استفاده نمایید.
برقراری JOIN بین جداول دو دیتابیس مختلف
به فیلم مراجعه شود
View های مفید سیستمی
select * from sys.tables
select * from sys.databases
select * from sys.all_columns
select * from sys.database_files
select * from sys.objects
select * from sys.procedures
select * from INFORMATION_SCHEMA.TABLES
select * from INFORMATION_SCHEMA.VIEWS
select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
بسیاری از مفاهیم درفیلم اموزشی بطور مفصل شرح داده شده اند . لذا حتما فیلم آموزشی این فصل را ببینید .
مفاهیم و موضوعات این فصل عبارتند از :
-
View ها در SQL Server
-
WITH ENCRYPTION
-
SCHEMABINDING
-
Cross Database Join
-
System Views