ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
Sql server ___________session_16(views)
1.
2. A view is an "VirtualTable".
It can have multiple columns and rows from the
one or more table.
Normally view cannot store the data
permanently in the table.
Views display only those data which are
mentioned in the query.
A view consists of a SELECT statement
3.
4. Views are used as Security Mechanism of Database.
A view can be useful when there are multiple users with different levels
of access, who all need to see portions of the data in the database.
Views can do the following:
Restrict access to specific rows in a table
Restrict access to specific columns in a table
Join columns from multiple tables and present them as though they
are part of a single table
Present aggregate information (such as the results of the COUNT
function).
6. General syntax for creating a view:
CREATEVIEW [View_Name]
AS
[SELECT Statement]
As for example :
CREATEVIEW SampleView
As
SELECT EmpID, EmpName FROM
EmpInfo
7. This is as similar as select statement of a
table.
SELECT * FROM SampleView
9. When a view is dropped, it has no effect on the underlying
tables.
Dropping a view removes its definition and all the
permissions assigned to it.
However, dropping a table that references a view does not
drop the view automatically.
You must drop it explicitly.
11. The value for the column is provided
automatically if:
The column has an IDENTITY property.
The column has a default value specified.
The column has a timestamp data type.
The column takes null values.
The column is a computed column.
12. The value of a column with an IDENTITY
property cannot be updated.
Records cannot be updated if the base table
contains aTIMESTAMP column.
While updating a row, if a constraint or rule is
violated, the statement is terminated, an error is
returned, and no records are updated.
When there is a self-join with the same view or
base table, the UPDATE statement does not
work.
13. There are 3 methods to see the view definition:
Method 1:
Sp_helptext viewname;
Method 2:
select definition from sys.sql_modules
where object_id=object_id(‘viewname');
Method 3:
select object_definition(object_id('vv'));
14. The sys.sql_modules is a system view. It is
used to display view definition.
Object_definition() is built-in function that
returns the view definition.
Object_id() is a system function that returns
the ID of view.
15.
16. There are two types of views in the sql server
2005.
Normal or Standard view
Partitioned view
17. This view is most frequently used by the
developers.
When we create the view the schema will be
stored as object in the database.
When we retrieve the content from this virtual
table, it will execute the schema and the stored
data from the parent table.
These include focusing on specific data and
simplifying data manipulation.
18. CREATEVIEW vw_empinfo
AS
SELECT * FROM EmpInfo;
SELECT * FROM vw_empinfo;
INSERT INTO vw_empinfo
VALUES(4,’abcd’,’.NET’,565652);
DELETE FROM vw_empinfo WHERE EmpID = 1;
Here you can do the DML operations in the view when you
have only one table.
19. The partitioned view and its execution is like
normal view.
It will work across the database and across
the server.
There are two types of Partitioned views.
Local PartitionedView
Global PartitionedView
20. The local partitioned view can be created
within same server but different database.
The view schema definition will be stored in
the executed database.
21. USE Database1
CREATETABLE EmployeeList
(
iEmployeeID INT IDENTITY(1,1),
vFirstNameVARCHAR(25) NOT NULL,
vLastNameVARCHAR(25) NOT NULL,
iDeptID INT
)
USE Database2
CREATETABLE Department
(
iDeptID INT IDENTITY(1,1) PRIMARY KEY,
vDeptNameVARCHAR(50),
)
23. The global Partitioned view will work across the server.
The view can be created to join the table across the server.
The accessing format will be like this.
[Server Name]. Database Name.Table Name
When we execute the view if it is not linked with the current
server then it will ask us to link the external server.
24. The following system stored procedure will be used
to link the server.
sp_addlinkedserver 'Server name'
The following system catalog table is used to see
the list of linked servers.
SELECT * FROM SYS.SERVERS
25. There are two different option for creating a
view.
Schema Binding Option
Encryption
26. If we Creates a view with the SCHEMABINDING option it will
locks the tables being referred by the view and restrict any
kinds of changes that may change the table schema ( No
Alter Command) .
While creating schema binding view, we can't mention
"Select * from tablename" with the query.
We have to mention all the column name for reference
27. CREATEVIEW DemoSampleView
With SCHEMABINDING
As
SELECT EmpID, EmpName, FROM DBO.EmpInfo;
While specifying the Database name we have
use Dbo.[DbName] .
This will prevent any of the underlying tables
from being altered without the view being
dropped.
28.
29. This option encrypts the definition.
This option encrypts the definition of the view.
Users will not be able to see the definition of
theView after it is created.
This is the main adavatages of view where we
can make it secure.
Note: Once view is encrypted, there is no way
to decrypt it again.
CREATEVIEW DemoView
With ENCRYPTION
Select ename,edesig from dbo.EmpInfo