Oracle 视图
视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候, 只是重新执行SQL.
还有一种视图:物化视图(MATERIALIZED VIEW ),也称实体化视图,快照 (8i 以前的说法) ,它是含有数据的,占用存储空间。 关于物化视图,具体参考我的blog:
Oracle 物化视图
http://blog.csdn.net/tianlesoftware/archive/2009/10/23/4713553.aspx
一. 视图的特点
1. 集中用户感兴趣的数据. 通常用户只是对表中的某一部分数据感兴趣, 对其他的数据不是那么敏感, 所以用户通过视图就可以操 纵自己所需的数据. 对于开发人员来说, 也可以屏蔽一些数据.
2. 掩码数据库的复杂性. 通过视图机制将数据库设计的复杂性与用户屏蔽分开, 这样用户通过视图的操作就可以达到简化对数据库的复杂操作.
3. 简化用户的权限. 由于视图只是基表的逻辑表, 所以通过视图可以将视图的权限和基表权限分离.
4. 重组数据. 视图可以来自多个基表, 从而可以利用视图对数据进行进一步地分析.
二. 视图可以由以下任意一项组成:
1. 一个基表的任意子集
2. 两个或两个以上的基表的合集
3. 两个或两个以上基表的交集
4. 一个或者多个基表运算的结果集合
5. 另一个视图的子集.
三. 创建视图的基本语法:
CREATE[OR REPLACE][FORCE][NOFORCE]VIEW view_name
[(column_name)[,….n]]
AS
Select_statement
[WITH CHECK OPTION[CONSTRAINT constraint_name]]
[WITH READ ONLY]
说明:
view_name : 视图的名字
column_name: 视图中的列名
在下列情况下 , 必须指定视图列的名称
* 由算术表达式 , 系统内置函数或者常量得到的列
* 共享同一个表名连接得到的列
* 希望视图中的列名与表中的列名不同的时候
REPLACE: 如果创建视图时, 已经存在此视图, 则重新创建此视图, 相当于覆盖
FORCE: 强制创建视图, 无论的视图所依赖的基表否存在或是否有权限创建
NOFORCE:
相关文档:
ACCESS数据库
1:CodeSmith选中链接类型是:ADOXSchema
2:无密码的Access链接为:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\hh\db.mdb;
3:有密码的Access链接:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\hh\db.mdb;
Jet OLEDB:Database Password=1111
Sql数据库
server=192.1.1.14;User ID=test; ......
在我开发BS结构程序中,由于经常需要在ORACLE中处理一些容量较大的文本数据,所以经过反复测试终于用ASP成功解
决了大文本数据在ORACLE下存取问题。
一、运行环境:
1、Microsoft Windows 2000 Server + IIS 5.0
2、Oracle8i中文标准版
二、建立数据表:
CREATE TABLE SYSTEM.TEST(
B ......
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from dual
4.取整(截取)
......
小型机路线,几乎已被封死。无法使用Sun,它已和Oracle紧密绑定,若还使用上述设计,会很难说服售前将小型机、存储、数据库分别从不同厂商采购;另外,亦无法使用IBM,据说FLY的某个老板不喜欢。 大力推进数据库系统PC化,这似乎是最佳策略。FLY应用对数据 ......
在Oracle关于时间属性的建表
Example:
create table courses(
cid varchar(20) not null primary key,
cname varchar(20) not null,
ctype integer,
ctime date DEFAULT SYSDATE,
cscore float not null
)
insert into courses values('ss01','.NET',0,TO_DATE('2009-8-28','yyyy-mm-dd'),94)
insert into course ......