技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

解释 SQL 中表、视图和同义词之间的区别

dbmsdatabasebig data analyticsmysql

让我们了解结构化查询语言 (SQL) 中的表、视图和同义词是什么。

表、视图和同义词

表是数据的存储库,在表中它是一个物理实体。表物理上位于数据库中。

视图不是数据库物理表示的一部分。它是预编译的,因此数据检索速度更快,并且还提供了安全的可访问性机制。

同义词是分配给表、视图、序列或程序单元的备用名称。

示例

创建表 employee (empID 整数主键、name varchar2(30)、skill varchar2(30)、salary number(20)、DOB datetime)。

假设有一种情况,即薪水不显示给一组用户,可以创建一个视图来显示允许的信息。

创建视图 emp_some_details as (select empID,name,skill,DOB from employee);

程序

下面给出了一个程序,用于在上述示例的 SQL 中创建表、视图和同义词 −

create table employee (empID integer primary key, name varchar2(30), skill varchar2(30), salary number(20), DOB datetime);
insert into employee values(100,'AAA','JAVA',30000,2020-08-20);
insert into employee values(101,'BBB','PHP',35000,2020-07-02);
select * from employee;

create view [salary_hide] as select empID,name,skill,DOB from employee ;
select * from salary_hide;

输出

你将得到以下输出 −

100|AAA|JAVA|30000|1992
101|BBB|PHP|35000|2011
100|AAA|JAVA|1992
101|BBB|PHP|2011

视图的优点

使用视图的优点如下 −

  • 它可以访问一个表、多个表、视图、多个视图或这些的组合中的数据。

  • 视图连接到其基表的数据。

  • 提供安全的数据可访问机制。

可以使用 CREATE OR REPLACE VIEW 语句更新视图。

语法如下 −

sql create or replace view view-name As
SELECT column1, column2, ...
FROM table_name
WHERE condition;

要删除视图,我们可以使用 drop view 命令 −

DROP view view-name;

同义词用作分配给表或视图的替代名称。它可用于隐藏实际实体的原始名称和所有者。它通过允许公共访问同义词来扩展表的范围。


相关文章