第一篇:视图的定义及优点
1、视图的定义及优点
定义:是从一个或者几个基本表导出的表,是用户可以从一个特定的角度来查看数据库中的数据,它与基本表不同,是一个虚表,即视图锁对应的数据不进行实际存储。
优点: 视图能够集中数据,简化用户的数据查询和处理。视图便于用户共享数据。视图提高了数据的逻辑独立性。视图能够对机密数据提供安全保护。
2、三级模式二级映像的功能
通过三级模式提供的耳机映像保证了数据库系统中能够具有较高的逻辑独立性和物理独立性。
3、数据模型的三要素:
数据结构,数据操作,完整性约束条件
4、数据库安全性的控制方法
用户标识和鉴别,用户存取权限控制,视图机制,审计方法,数据加密
5、数据库系统的特点
数据结构化,数据的共享性高,冗余度低,易扩充,数据独立性高,数据由DBMS 同意管理和控制
6、基本封锁类型及含义
排他锁:若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务不能对A加任何类型锁,知道T释放A锁,才能对A进行封锁和其他读取操作,从而保证其他事务在T释放A上的锁前不能对A进行读取和修改。排他锁实质上是保证事务对数据的独占性,排除其他事务对其知性过程的干扰
共享锁:事务T对某数据A建立了共享锁,则此时事务T都能对数据A进行读操作,但不能进行修改和其他操作,而其他事务只能对数据A加S锁不能加X锁,即其他事务只能对数据A进行读操作。共享锁实质上是保证多个事务可以同时读A,在A上的共享锁被释放前。都不能写A7、两段锁协议的概念
两段锁协议就是在对任何数据进行读写之前,事务首先要获得对该数据的封锁,在释放一个封锁之后,事务不再获得任何其他封锁,即一个事务被分为两个阶段
扩展阶段:事务可以申请封锁,但是不能接触任何已获得的封锁
收缩阶段:事务可以释放封锁,但是不能申请新的封锁
8、数据库设计的步骤,任务
1应用规划进行系统的必要性和可行性分析2 需求分析收集分析信息3 概念设计形成独立于具体DBMS的概念模型4 逻辑设计将概念结构转化成某个DBMS所支持的数据模型,并对其进行优化5 物理设计为逻辑数据模型选取一个最适合的应用环境的物理结构 6 数据库实施:建立实际数据库结构 装入实验数据对应用程序进行调试 转入实际数据7运行维护:维护数据库的安全性和完整性检测并改善书库库运行性能 根据用户要求对数据库现有功能运行扩充 集市改正运行中发现的系统错误
9、关系模型的三类完整性规则
实体完整性:若属性A是基本关系R的主属性,则属性A不能取空值。
参照完整性:若属性F是基本关系R的外键,它与基本关系S的主键为Ks,相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元素在F的值必须为a或取空值b或等于S中某个元组的主码值
用户定义完整性:限定属性的取值范围,即对值域的约束,所以在用户定义完整性中最常见的是域完整性约束
10、层次模式和网状模型的优缺点
层次模型优点:查询效率高,结构简单,层次分明,便于在计算机内实现的优点
缺点:现实世界中很多联系是非层次的,其不能直接表示两个以上实体型间的复杂的联系和度偶i多联系,只能通过冗余数据或创建虚拟节点的方法来结局,易产生不一致性,对数据的插入删除操作限制较多,查询子女节点必须通过双亲节点,所以使得应用程序的编写比较复杂
网状模型的优点:能够直接描述现实世界,查询方便,结构对称,查询格式相同,炒作功能强,速度快存取效率高
缺点:数据结构及其对应的数据操作语言极其复杂,数据独立性差,程序设计困难
11、数据库物理结构的含义及涉及步骤,评价指标有哪些
含义:为给定的基本数据模型选取一个最适合的应用环境的物理结构的过程
步骤:确定数据库物的物理结构评价数据库的物理结构
评价指标:时间空间 效率
12、数据独立性的两个级别:
物理数据独立性 : 概念(或外)模式不会醉着内模式的改变而改变
辑数据独立性:外模式(或应用程序)不会随着概念模式的改变而改变
13、SQL的特点:
1综合统一 2高度非过程化 3面向几个的操作方式 4以同一种语法结构提供两种使用方式 5语言简洁 易学易用
14、关系模型和面向对象数据模型的区别:
15、安全性控制的方法
用户表示和鉴别 用户存取权限控制 视图机制 审计方法 数据加密
16、数据库的功能
数据定义 数据操纵数据组织,存储和管理数据库事务管理和运行管理 数据库建立和维护功能
名词解释
1、SOL
是引种介于关系袋鼠和关系盐酸之间的结构化非过程查询语言,是专用数据库而建立的指令集,其功能包括数据的定义查询更新和数据控制等多个方面
2、外码
关系模式R1中的某一属性F与关系模式R2的主键相对应,但不是R1的超键,则称F是关系模式R1的外键
3、等值连接自然连接
自然连接:市一中特殊的等值连接,要求两个关系中进行比较的分量必须是相同的属性组,并且要求在结果中把重复的属性去掉。
4、数据库的安全性
主要是指保护数据库,防止不合法的使用,以免数据的泄漏更改和破坏
5、数据库的完整性
是指数据库中数据的正确性和相容性,防止错误的数据进入数据库造成无效操作
6、模式外模式内模式
模式:也称逻辑模式或者概念模式,是三级模式结构中的中间层,是数据库中全体数据逻辑结构和特征的描述,描述现实世界中的实体及其性质与联系,是所有用户的公共数据视图
外模式:是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
内模式:存贮记录的类型,存储域的表示,存储记录的物理顺序,指引元,索引和存储路径等数据的存储组织
7、二级三级封锁协议
一级封锁协议:事务T在修改数据前必须先对其加X锁,知道事物结束才释放
二级封锁协议:在一级封锁协议中加上事务T在读取数据之前必须先对其加上S锁,读取后即可释放S锁
三级封锁协议:在一级封锁协议中加上事务T在读取之前必须先对其加上S锁,直到事务结束后才能释放S锁
8、数据流图 数据字典
数据流图:是SA中使用的工具,以图形的方式描绘数据在系统中流动和处理的过程,描绘信息流和数据流和数据从输入移动到输出的过程中锁经受的变换,由外部实体,处理过程。数据流。数据存储,组成数据字典:是关于数据的信息集合,产生于数据流图,是对数据流图中各个成分的纤细描述,是数据流图的补充。由数据项,数据结构,数据流。数据存储,处理过程组成。
9、物理独立性逻辑独立性
物理数据独立性 : 概念(或外)模式不会醉着内模式的改变而改变
辑数据独立性:外模式(或应用程序)不会随着概念模式的改变而改变
1、简述数据库设计的特点
数据库设计是硬件软件和杆件的结合数据库设计应该是应用系统设计相结合2、一般用户的需求有哪些方面
1信息需求 2 处理需求3 性能需求
3、简述用户需求的方法与步骤
1跟班作业 2开会调查 3问卷调查 4访谈询问 5查询记录
4、抽象有哪些类型,局部试图设计的步骤是什么
1分类 2聚集 3概括
5、简述全局视图设计的方法与步骤
方法:一次集成逐步集成合并重构
步骤: 1 合并局部E-R图,消除冲突初步生成E-R图2消除冗余,生成基本E-R图
6、E-R图如何向关系模型转换,简述转换的步骤和原则
概念模型向关系数据模型的转化就是将用E-R图表示的实体。实体属性和实体联系转化为关系模式
原则: 一个实体型转换成一个关系模式实体间的联系跟图联系的类型转换
7、如何优化关系模型
1确定数据依赖 2对于各个关系模式之间的数据依赖进行及消化处理 3按照数据依赖的理论对关系模式逐一进行分析,确定各关系模式分别属于第几范式 4按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否对它们进行合并和分解以提高数据操作的小龙和存储空间的利用率。
8、试述数据库物理设计的内容和步骤
内容:为关系模式选择存取方法设计关系索引等数据库文件的物理存储结构
步骤:确定数据库的物理结构对物理结构进行评价
9、简述数据库实施的步骤及运行包含的内容
步骤 :1 用DDL定义数据库结构2组织数据入库 3编制与调制应用程序
内容:功能测试,性能测试
12、简述概念结构设计的方法和步骤
自顶向下:首先定义全局的概念结构框架,再逐步分解细化
自底向上:首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构 逐步扩张:首先定义核心的概念结构,然后以滚雪球方式向外部逐步扩张
混合策略:把自顶向下自底向上结合,用自顶向下设计一个全局概念结构框架,以自底向上设计各局部概念结构
第二篇:视图的定义删除等的例题及SQL语句
实验四:视图
一、实验目的1、掌握视图的定义与维护操作
2、加深对视图在关系数据库中的作用的理解。
二、实验环境
已安装SQL Server 2005 企业版的计算机;
三、实验内容
以数据库原理实验1数据为基础,请使用T-SQL 语句实现进行以下操作:
1、创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址。
create view kh
as select cust_id,cust_name,addr
from customer where addr='上海'
2、对视图添加一条记录数据。(注意:分别查看customer表和该视图的结果。)
insert into kh
values('c0021','李阳','上海','0100888888')
3、删除视图中所有姓“王”的客户数据。
delete from kh where cust_name like '王%'
4、通过视图修改表内某一客户的姓名。
update kh set cust_name='万华' where cust_name='李勇'
5、有两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额。
1.create view ywy as select sale_id,emp_name,order_no,tot_amt from employee,sales where employee.emp_no=sales.sale_id6、将上述视图中订单号为10001的记录的销售总金额改为60000。
update ywy set tot_amt=6000 where order_no='10001'
7、给上述视图添加一条记录数据。
2.insert into ywy values('E0005','张三','1236',25000)
8、删除上述视图。
9、drop view ywy
第三篇:如何设置演讲者视图
如何设置演讲者视图
如何设置演讲者视图前言:大家在看此篇文章之前心中是不是一直存有一个疑问,那就是office组件中的powerpoint(PPT)制作中的“备注”到底有何作用?
在工作中经常用PPT放映演示给客户进行讲演,也见识过专业讲师和IT销售给我介绍产品,使用的也是PPT。但是几乎所有人的PPT使用方式还是停留在投影机上放什么,演讲者的laptop上也显示什么,演讲者要么看自己的laptop的屏幕,要么看墙上的投 影。“备注”就彻底失去了作用,因为根本看不见。
出于纳闷,我就询问了几个号称是office高手这个问题,“备注”写了是给谁看的,有什么作用?
高手给出的答案竟然是“备注”用来给演讲者回忆讲演思路,或者此PPT给别人的时候别人讲演前可以先了解一下制作此PPT的作者的思路意图。
这些都是PPT的常规用法,或者说并不怎么正确的用法,下面我给大家介绍如何高效的使用PPT进行演讲,并且充分利用“备注”的作用,以期为受众作出最出色的讲解。
下面我就开始了。下面做演示用的PPT涉及某安全厂商,原因是我手头做的比较好的PPT而且备注写的比较详细的也就这份了,我并没有用于商业用途,我也不是该厂商员工,特别声明。第一步,在你的laptop的显示属性中进行设置。
如图所示,在连接了外部显示器或者投影仪的情况下,点击“2”号屏幕,并按照图中高亮标注处选中“将windows桌面扩展到该显示器”同时设置适当的分辨率。
单击“应用”,就可以看到如下的效果。
由于家里没有投影做演示,就用了一台上了年纪的CRT做示意。从两个屏幕可以看见不同的显示内容,左面的CRT的屏幕正是要给演讲受众看的。这样,下面的观众就不会看见演讲者的笔记本里面装了什么东西,演讲者可以根据自己的意愿把需要给观众看的放映出来,而不是把演讲者的所有操作都放映出来。(这个好处我就不多说了,有过类似经历的朋友想必深有体会)第二步,打开你需要演讲的PPT进行放映前的准备工作。选择放映的设置 在图中高亮的部分选中“显示演讲者视图”(这个是重点)
单击确定后就完成了设置。第三步,开始放映。点击图中的位置,或者直接按“F5”。两者的区别是,F5从头开始放映,而图示按钮是从当前slide开始往后放映。最后,观看效果 这个就是演讲者看到的画面,下面高亮的部分就是“备注”的内容。.分析这个视图,演讲者不仅可以看见每个slide的预览;
.还可以知晓下一张PPT的大致内容(标题);
.可以不用准备,直接阅读“备注”(对于新手和临场不知所错的朋友比较适合);
.可以很好的控制演讲时间;
.在进行slide选择(非正常流程)的时候,可以点击“黑屏”,这样观众就看不到你在进行何种“胡乱操作”了。从观众处,看见的效果就如上所示。
怎么样,对于经常使用PPT演讲的朋友,这个技巧很不错吧。
第四篇:创建一个视图
创建一个视图,该视图中包括学生的姓名和学号。create view student_view
as
select sname,sno
from student
第五篇:oracle视图总结
oracle视图总结(转)
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。
视图的优点:
1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。2.用户通过简单的查询可以从复杂查询中得到结果。3.维护数据的独立性,试图可从多个表检索数据。4.对于相同的数据可产生不同的视图。
视图的分类:
视图分为简单视图和复杂视图。
两者区别如下:
1.简单视图只从单表里获取数据,复杂视图从多表获取数据; 2.简单视图不包含函数和数据组,复杂视图包含; 3.简单视图可以实现DML操作,复杂视图不可以。
视图的创建:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] 其中:
OR REPLACE:若所创建的试图已经存在,ORACLE自动重建该视图; FORCE:不管基表是否存在ORACLE都会自动创建该视图; NOFORCE:只有基表都存在ORACLE才会创建该视图: alias:为视图产生的列定义的别名;
subquery:一条完整的SELECT语句,可以在该语句中定义别名;
WITH CHECK OPTION : 插入或修改的数据行必须满足视图定义的约束; WITH READ ONLY : 该视图上不能进行任何DML操作。
例如: Sql代码
1.CREATE OR
REPLACE
VIEW dept_sum_vw
2.(name,minsal,maxsal,avgsal)
3.AS SELECT d.dname,min(e.sal),max(e.sal),avg(e.sal)
4.FROM
emp e,dept d
5.WHERE e.deptno=d.deptno
6.GROUP BY d.dname;
视图的定义原则:
1.视图的查询可以使用复杂的SELECT语法,包括连接/分组查询和子查询; 2.在没有WITH CHECK OPTION和 READ ONLY 的情况下,查询中不能使用 ORDER BY 子句;
3.如果没有为CHECK OPTION约束命名,系统会自动为之命名,形式为SYS_Cn;4.OR REPLACE选项可以不删除原视图便可更改其定义并重建,或重新授予对象权限。
查询视图:
视图创建成功后,可以从视图中检索数据,这点和从表中检索数据一样。示例:
SQL>SELECT * FROM dept_sum_vw;
修改视图:
通过OR REPLACE 重新创建同名视图即可。
删除视图:
DROP VIEW VIEW_NAME语句删除视图。删除视图的定义不影响基表中的数据。
只有视图所有者和具备DROP VIEW权限的用户可以删除视图。视图被删除后,基于被删除视图的其他视图或应用将无效。
查询视图定义:
SELECT view_name,text from user_views;其中text显示的内容为视图定义的SELECT语句,可通过DESC USER_VIEWS 得到相关信息。
视图上的DML 操作: DML操作应遵循的原则:
1.简单视图可以执行DML操作; 2.在视图包含GROUP 函数,GROUP BY子句,DISTINCT关键字时不能删除数据行; 3.在视图不出现下列情况时可通过视图修改基表数据或插入数据:
a.视图中包含GROUP 函数,GROUP BY子句,DISTINCT关键字; b.使用表达式定义的列; c.ROWNUM伪列。
d.基表中未在视图中选择的其他列定义为非空且无默认值。WITH CHECK OPTION 子句
通过视图执行的INSERTS和UPDATES操作不能创建该视图检索不到的数据行,因为它会对插入或修改的数据行执行完整性约束和数据有效性检查。(也就是说在执行INSERTS、UPDATES时,WHERE条件中除需要INSERT、UPDATE本身的限制条件之外,还需要加上视图创建时的WHERE条件。)
例如:
CREATE OR REPLACE VIEW vw_emp20 AS SELECT * FROM emp WHERE deptno=20 WITH CHECK OPTION constraint vw_emp20_ck;视图 已建立。
查询结果:
SELECT empno,ename,job FROM vw_emp20;EMPNO
ENAME
JOB---------------------
--------------
-------------7369
SMITH
CLERK 7566
JONES
MANAGER 7902
FORD
ANALYST 修改:
UPDATE vw_emp20 SET
deptno=20 WHERE empno=7902;将产生错误:
UPDATE vw_emp20 * ERROR 位于第一行:
ORA-01402:视图WITH CHECK OPTION 违反WHERE 子句
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1,Oracle是可以通过视图来修改Base table的。所谓base table就是用来构建视图的表,也就是视图的数据来源表。但是这种修改是有条件的。比如: create view v_emp as select empno,ename,job,deptno from emp where deptno=10 with check option constraint emp_cnst;如果有这个限制,那么通过视图v_emp 插入数据的deptno字段的值必须是10,否则就会报“ORA-01402: 视图 WITH CHECK OPTIDN 违反 where 子句”的异常。
2,联结视图:
create view dept1_staff as select e.ename, e.empno, e.job, d.deptno, d.dname from emp e,dept d where e.deptno in(10,30)and e.deptno = d.deptno; 将两个表的数据联结起来,看起来应该是一个内联结(Inner joint)。
对于联结视图(Joint view)的修改规则稍显复杂,设计到所谓key_preserved table的概念。通过联结视图来修改基表,只有那些key_preserved 的表才能被修改。上述创建视图语句中emp和dept通过deptno进行联结构成视图时,emp就是key_preserved 表,而dept不是。为什么?因为在dept1_staff 中empno的值唯一的而deptno不是唯一的。所以emp是key_preserved 而dept不是。因此只能通过该视图来修改emp,而不能修改dept的数据。
3,Oracle视图非常强大的功能之一在于其可以创建一个带有错误的视图。比如说视图里的字段在基表里不存在,该视图仍然可以创建成功,但是非法的且无法执行。当基表里加入了该字段,或者说某个字段修改成视图里的该字段名称,那么视图马上就可以成为合法的。这个功能很有意思。例子:
创建基表: create table v_test(name varchar2(32),age number(12));创建带错误的视图:
create force view view_test as select name,age,address from v_test;(注意加上force选项)
由于address字段在v_test里不存在,所以会报warning: View created with compilation errors的警告,而且执行select * from view_test;时会报“ORA-04063: view “SCOTT.VIEW_TEST” 有错误”的异常。但是如果在v_test里加上address字段,那么视图就会合法。对基表进行修改:
alter table v_test add(address varchar2(128));
现在再执行select * from view_test;就会执行成功了。
from:http://www.blogjava.net/jinhualee/archive/2006/07/14/58115.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其他问题总结:
1、视图上是否可以创建索引?
一般视图上不用建立索引,对视图的操作最终会转化为对表的操作。一个讨论:http://www.itpub.net/viewthread.php?tid=150019&extra=&page=1