区别:1、视图是已经编译好的sql语句。而表不是
2、视图没有实际的物理记录。而表有。
3、表是内容,视图是窗口
4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改
5、表是内模式,视图是外模式
6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
8、视图的建立和删除只影响视图本身,不影响对应的基本表。
举个例子,假如有两个表A和B,表A有一个字段叫‘分类’,表B有一个字段叫‘类别’。如果定义表B的字段‘类别’为外键,关联字段是表A的‘分类’字段。那以后如果要给表B的‘类别’字段插入一个值,那么这个值必须是表A的‘分类’字段中存在的值,也就是说表B的‘类别’字段的取值范围就是表A中的‘分类’字段的已有值。至于如何定义外键,拿上面的例子来说,就是
create table B
(
`类别` varchar(20),
……
foreign key(`类别`) references A(`分类`)
)
这样两个表的字段就关联起来了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)