7 其他数据库对象

合集下载

苏科大实验4 管理其他数据库对象

苏科大实验4  管理其他数据库对象

《Oracle 数据库管理》实验报告实验题目实验4 管理索引、视图、同义词和序列院系电子与信息工程学院专业计算机科学与技术(专转本)学生姓名张志虎学生学号 11200135103指导教师崔玉玲成绩日期:2014年5月27日实验4 管理索引、视图、同义词和序列一.实验目的(1) 掌握索引的建立、修改、查看、删除操作。

(2) 掌握视图的建立、查询、修改、删除操作。

(3) 掌握同义词的建立、查询、修改、删除操作,比较对同义词的操作与对原数据库对象的操作是否一致。

(4) 掌握序列的建立、查询、修改、删除操作,利用序列向数据库表中插入数据。

二.实验要求(1) 记录执行命令和操作过程中遇到的问题及解决方法,注意从原理上解释原因。

(2) 记录利用企业管理器管理索引、视图、同义词和序列的方法。

(3) 记录利用SQL*Plus和iSQL*Plus管理索引、视图、同义词和序列的命令。

三.试验内容1.创建索引(1) 利用企业管理器为医院表的医院名称创建索引,并以降序排列,索引名为索引名称:HOSPITAL_NAME_INDEX表名称:HOSPITAL表名称:降序(DESC)图1-1:企业管理器为医院表建索引(2)利用SQL*Plus或iSQL*Plus为员工表的员工姓名、员工性别、出生年月排序,以员工姓名升序、员工性别降序、出生年月降序排列,索引名为“staff_info_index”。

图1-2:SQL*Plus或iSQL*Plus为员工表建索引2.查看索引引图2-1:企业管理器查看system方案的索引(2)利用SQL*Plus或iSQL*Plus从DBA_INDEXES数据字典中查看员工医疗保险系统所有索引的信息。

SQL> SELECT index_name FROM DBA_INDEXES;图2-2:查询医疗保险系统所有索引信息(3) 利用SQL*Plus或iSQL*Plus从DBA_INDEXES数据字典中查看“staff_info_index”索引的信息。

第10章 其他数据库对象

第10章 其他数据库对象

3 Sept. 2008 Confidential
序列
序列是一种用于产生唯一数字列值的数据库对象。一般使用序 列自动地生成主码值或唯一键值。序列可以是升序或降序。 • 序列特点: – 可以为表中的记录自动产生唯一序列值。 – 由用户创建并且可被多个用户共享。 – 典型应用是生成主键值,用于标识记录的唯一性。 – 允许同时生成多个序列号,而每一个序列号是唯一的。 – 可替代应用程序中使用到的序列号。 – 使用缓存加速序列的访问速度。

通过该视图进行更新操作
UPDATE v_emp4 SET salary=salary+100;
3 Sept. 2008 Confidential
删除视图

删除视图的语法
DROP VIEW view;
3 Sept. 2008 Confidential
内联视图
内联视图(Inline View),是一个在SQL语句内可以使用的子查 询的别名。是一个命名的SQL语句,但不是真正的数据库的视 图对象。最常见的内联视图的例子就是主查询中的FROM子句 中,包含的是一个命名的子查询。 • 例10-8 内联视图的例子

该约束的条件为视图中WHERE条件,即“employee_id=141”, 如视图v_emp3想执行DML操作,不能把记录的employee_id字 段值改成其他编号(只能是141),如果违反了,执行出错,会 出现错误提示。
3 Sept. 2008 Confidential
WITH READ ONLY
Top-N分析(续)
ROWNUM是一个伪列。功能是在每次查询时,返回结果集 的顺序数。第一行显示为1,第二行为2,以此类推。 • 伪列是使用上类似于表中的列,而实际并没有存储在表中的 特殊对象。 • 对ROWNUM只能执行<、<=运算,不能执行>、>=或一个 区间运算Between..And等 。

第05章其他数据库对象

第05章其他数据库对象

64
5.4 Web页 页
5.4.1 认识 认识Web页 页 • 数据访问页是Access 2003数据库中的一个对象 类型,它和其它的数据库对象(如窗体、报表、 查询和宏等)在性质上是完全相同的。但窗体 和报表是用来显示、编辑和汇总数据的,而数 据访问页则能够允许用户与Web之间进行数据 交换,它主要是用来阅读、编辑和汇总保存在 HTML页上的数据。
– 数据表窗体
5
5.1 窗体
• 5.1.1 认识窗体
– 图表窗体
6
5.1 窗体
• 5.1.1 认识窗体
– 数据透视表窗体
7
5.1 窗体
• 5.1.1 认识窗体
– 主/子窗体 子窗体
主窗体
子窗体
8
5.1 窗体
• 5.1.2 创建窗体
1.使用向导创建窗体 1) 自动创建窗体 例5-1 自动创建“课程一览窗体” 。
25
5.1 窗体
• 5.1.2 创建窗体
2.使用设计视图创建窗体 例5-6 使用控件建立如图5-35所示的“教师”窗体。
26
5.1 窗体
5.1.3 创建包含子窗体的窗体
• 创建子窗体有两种方法
– 一种是同时创建主窗体和子窗体 – 另一种是将已有的窗体添加到另一个窗体
• 说明
– 在创建主/子窗体之前,一定确保正确设置了表的关系
9
5.1 窗体
• 5.1.2 创建窗体
1.使用向导创建窗体 2) 窗体向导 例5-2 创建教师授课评价窗体,要求输出教师姓名、职称、课程名称、评 价结果。
10
5.1 窗体
• 5.1.2 创建窗体
1.使用向导创建窗体 2) 窗体向导 例5-2 创建教师授课评价窗体,要求输出教师姓名、职称、课程名称、评 价结果。

其他数据库对象

其他数据库对象

第六部分其他数据库对象
(3)创建序列: 1)创建升序序列: create sequence sequ_sid increment by 2 start with 10 maxvalue 100 cycle cache 10 2)创建降序序列: create sequence sequ_test1 increment by 2 start with 100 maxvalue 100 minvalue 1 cycle (4)序列值的访问: 与序列值的使用密切相关的伪列nextval和currval: 当序列被创建好后,则被调用为某些表生成 序列号。访问序列中序列值用sequencename.currval和sequencename.nextval。currval是返回序列 中当前的值,nextval是当前序列的值的下一个值。
第六部分其他数据库对象
1)在下列语句中可以使用currval和nextval: A、select语句中非子查询的目标列名列表中。 B、insert 语句中的子查询的select目标列名列表中。 C、insert 语句中values子句中。 D、update语句的set子句中。 2)在下列语句中不能使用currval和nextval: A、对视图查询的select目标列名的列表。 B、使用了distinct明理的select语句中。 C、select语句中使用了group by、having、或order by语句时。 D、在select、delete、update语句的子查询中。 E、在create table或者alter table语句中默认值表达式中。 注意:在第一次使用序列时,首先使用currval会报错,只有先使用了nextval后 才能使用currval。 (5)创建序列并使用序列值,使用序列值作为表中主键的值。(独立实现)。

7 数据库对象

7 数据库对象

BFILE
用于存储指向二进制格式文件的定位器,该二进制文件保存在数据库外
部的操作系统中,文件最大为4 GB。
表的创建

约束(constraint)
在Oracle数据库中对列的约束包括主键约束、惟一性约 束、检查约束、外键约束和空/非空约束等5中,定义方 法有表级约束和列级约束2种。

参数(parameter_list)
DROP COLUMN <col>
DROP < col1,col2… > DROP UNUSED COLUMNS
//single column
//multi column
修改、删除表

删除表
DROP TABLE table_name [CASCADE CONSTRAINTS][PURGE]
表约束

创建一个SC表,语句为
CREATE TABLE SC( sno NUMBER(6) REFERENCES student(sno),
cno NUMBER(6) REFERENCES course(cno),
grade NUMBER(5,2), CONSTRAINT SC_PK PRIMARY KEY(sno, cno) );
表的创建
CREATE TABLE employee( empno NUMBER(5) PRIMARY KEY, ename VARCHAR2(15), deptno NUMBER(3) NOT NULL CONSTRAINT fk_emp REFERENCES dept(deptno) ) TABLESPACE USERS PCTFREE 10 PCTUSED 40 STORAGE(INITIAL 50K NEXT 50K MAXEXTENTS 10 PCTINCREASE 25);

MySQL数据库对象

MySQL数据库对象

控制流语句
WHILE语句
WHILE循环语句,判断条件成立与否,如果成立则循环执行程序体 语法:
WHILE 条件 DO … END WHILE
控制流语句
示例: CREATE PROCEDURE pro(IN x INT) BEGIN WHILE x<5 DO SELECT 'OK'; SET x=x+1; END WHILE; END;
数据库对象
查看视图:
SHOW TABLE STATUS WHERE COMMENT='VIEW';
更新视图
ALTER VIEW 视图名称 AS SELECT语句;
删除视图
DROP VIEW 视图名称;
数据库对象
视图的优点:
① 安全性更强,通过视图可以将一些数据隐藏,仅将视图中的数据提供给用户使用 ② 提高查询性能,将经常访问的数据提前保存在视图中,后续的数据查询可以直接在视图
数据库对象
➢ 存储过程
存储过程是一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中,用户可 以通过存储过程的名称来调用并执行它
创建存储过程
CREATE PROCEDURE 存储过程名称(参数列表) BEGIN
程序体(SQL语句集) END;
数据库对象
存储过程的参数列表
用于定义存储过程的参数,每一个参数由3部分构成: 输入输出类型(IN、OUT、INOUT)、参数名称、参数类型 • IN类型的参数:是存储过程用于保存接收外部传入的数据 • OUT类型的参数:是存储过程用于保存输出到外部的数据 • INOUT类型的参数:可以灵活的根据需要,作为IN或OUT类型的参数来使用
数据库对象

其它数据库对象

其它数据库对象

同义词(Synonyms)是oracle 的对象,它是指向其它数据库表的指针。

当创建一个同义词时就指定了一个同义词名字(表的别名),当引用同义词名字时,oracle 服务器就会自动地用同义词定义的对象来代替同义词的名字。

有两种类型的同义词:Private 和Public私有同义词是在制定的模式中创建的,并且只允许拥有他的模式访问。

公共同义词由public 模式所拥有,所有的数据库模式都可以引用它。

使用同义词可以保护数据库对象的隐私。

创建同义词:Create[public | private ]synonym<同义词名字> for<表名>例如:创建同义词mytest 作为表mens1的别名cretae synonym mytest for system.mens1删除同义词:drop synonym <同义词名字>查看同义词:使用下列视图之一:Dba_SynonymsAll_SynonymsUser_Synonyms练习:为从Access数据库导入的”HealthCheck”表创建全局同义词health,使所有用户可以访问。

序列可以保证多个用户对同一张表进行操作时生成唯一的整数,通常用来做表的主键。

创建序列:create sequence <序列名字>start with<起始值>increment by<增长值>[MaxValue <最大值>][NoMaxValue] //没有上限例如:create sequence mySeqstart with 1increment 1删除序列:drop sequence <序列名字>修改序列:alter sequence <序列名字>[start with<起始值>][increment by<增长值>][MaxValue <最大值>]查看序列:使用下列视图之一:Dba_SequencesAll_ SequencesUser_ Sequences访问序列:CurVal返回序列的当前值NextVal返回序列的下一个值例如:select mySeq.NextVal,city from post视图一.概述视图是数据库中的一个对象,本身不存储数据,但它使用一个或多个表中的数据,相当于数据库表的一个窗口,它是一种逻辑表。

ACCESS练习题-第2章

ACCESS练习题-第2章

ACCESS练习题第二章数据库和表一、选择题1、Access数据库中哪个数据库对象是其他数据库对象的基础?A)报表B)查询C)表D)模块2、某数据库的表中要添加internet站点的网址,则该采用的字段类型是A)OLE对象数据类型B)超级连接数据类型C)查阅向导数据类型D)自动编号数据类型3、某文本型字段的值只能是字母且不允许超过6个,则可将该字段的输入掩码属性定义为A)AAAAAA B)LLLLLLC)CCCCCC D)9999994、将所有字符转换为大写的输入掩码是A)> B)<C)0 D)A5、Access中表与表的关系都定义为A)一对多关系 B)多对多关系C)一对一关系 D)多对一关系6、NULL是指A)0 B)空格C)未知的值或无任何值 D)空字符串7、以下字符串符合Access字段命名规则的是A)!address!B)%addressC)[address] D) 'address'8、某数据库的表中要添加一个word文档,则该采用的字段类型是A)OLE对象数据类型 B)超级连接数据类型C)查阅向导数据类型 D)自动编号数据类型9、以下描述不符合Access特点和功能的是A)Access仅能处理Access格式的数据库,不能对诸如DBASE、FOXBASE、等格式的数据库进行访问B)采用OLE技术,能够方便创建和编辑多媒体数据库,包括文本、声音、图像和视频等对象C)Access支持ODBC标准的SQL数据库的数据D)可以采用VBA(Visual Basic Application)编写数据库应用程序10、Access数据库的设计一般由5个步骤组成,以下步骤的排序正确的是(P14)a.确定数据库中的表b.确定表中的字段c.确定主关键字d.分析建立数据库的目的e.确定表之间的关系A)dabec B)dabceC)cdabe D)cdaeb11、某字段中已经有数据,现要改变该字段大小的属性,将该字段大小重新设置为整数型,则以下所存数据会发生变化的是A)123 B)2.5C)-12 D)156312、在Access表中,可以定义三种主关键字,它们是A) 单字段、双字段和多字段 B) 单字段、双字段和自动编号C) 单字段、多字段和自动编号 D) 双字段、多字段和自动编号13、在Access数据库的表设计视图中,不能进行的操作是A) 修改字段类型 B) 设置索引 C) 增加字段D) 删除记录14、数据类型是A) 字段的另一种说法B) 决定字段能包含哪类数据的设置C) 一类数据库应用程序 D) 一类用来描述Access表向导允许从中选择的字段名称15、在Access数据库中,为了保持表之间的关系,要求在子表中添加记录时,如果主表中没有与之相关的记录,则不能在子表中添加该记录。

16.其它数据库对象(序列、同义词)

16.其它数据库对象(序列、同义词)


同义词共有两种类型:
公有同义词可被所有的数据库用户访问。 私有同义词只能在其模式内访问,且不能与当前模式的 对象同名。
同义词
私有同义词
公有同义词
私有同义词
CREATE SYNONYM emp FOR SCOTT.emp;
SCOTT.emp 的别名
模式名
表名
公有同义词
CREATE PUBLIC SYNONYM emp_syn FOR SCOTT.emp;
同义词名称
创建或替换现有的同义词
CREATE OR REPLACE SYNONYM emp_syn FOR SCOTT.emp;
替换现有的同义词
删除同义词
SQL> DROP SYNONYM emp; SQL> DROP PUBLIC SYNONYM emp_syn;

序列是用于生成唯一、连续序号的对象 序列可以是升序的,也可以是降序的 使用CREATE SEQUENCE语句创建序列
指定序列的下一个值
SQL> SELECT toys_seq.CURRVAL FROM dual;
检索序列的当前值
使用ALTER SEQUENCE语句修改序列, 不能更改序列的START WITH参数
SQL> ALTER SEQUENCE toys_seq MAXVALUE 5000 CYCLE;
使用DROP SEQUENCE语句删除序列
SQL> DROP SEQUENCE toys_seq;


同义词是现有数据库对象的别名 序列用于生成唯一、连续的序号
欢迎访问我们的官方网站

通过序列的伪列来访问序列的值
◦ NEXTVAL 返回序列的下一个值 ◦ CURRVAL 返回序列的当前值

Oracle数据库之其他数据库对象(pdf 15页)

Oracle数据库之其他数据库对象(pdf 15页)

Copyright 2008,Oracle HJCChapter 7–Page 1第7章其他数据库对象Copyright 2008,Oracle HJCChapter 7–Page 27.1数据库模式对象Copyright 2008,Oracle HJCChapter 7–Page 37.2索引的创建和使用7.2.1Oracle 数据库的索引索引(INDEX)是为了加快数据的查找而创建的数据库对象,特别是对大表,索引可以有效地提高查找速度,也可以保证数据的惟一性。

索引是由Oracle 自动使用和维护的,一旦穿件成功,用户不必对索引进行直接的操作。

索引是独立于表的数据库结构,即表和索引是分开存放的,当删除索引时,对拥有索引的表的数据没有影响。

在创建PRIMARY KEY 和UNIQUE 约束条件时,系统将自动为相应的列创建惟一(UNIQUE)索引。

索引的名字同约束的名字一致。

索引有两种:B*树索引和位图(BITMAP)索引。

B*树索引是通常使用的索引,也是默认的索引类型。

在这里主要讨论B*树索引。

B*树是一种平衡2叉树,左右的查找路径一样。

这种方法保证了对表的任何值的查找时间都相同。

B*树索引可分为:惟一索引、非惟一索引、一列简单索引和多列复合索引。

创建索引一般要掌握以下原则:只有较大的表才有必要建立索引,表的记录应该大于50条,查询数据小于总行数的2%~4%。

虽然可以为表创建多个索引,但是无助于查询的索引不但不会提高效率,还会增加系统开销。

因为当执行DML 操作时,索引也要跟着更新,这时索引可能会降低系统的性能。

一般在主键列或经常出现在WHERE子句或连接条件中的列建立索引,该列称为索引关键字。

7.2.2索引的创建创建索引不需要特定的系统权限。

建立索引的语法如下:CREATE[{UNIQUE|BITMAP}]INDEX索引名ON表名(列名1[,列名2,…]);其中:UNIQUE代表创建惟一索引,不指明为创建非惟一索引。

常见数据库对象(视图、索引、触发器、事务)

常见数据库对象(视图、索引、触发器、事务)

常见数据库对象(视图、索引、触发器、事务)⼀、视图1.1 视图的定义 视图是指计算机数据库中的视图,是⼀个虚拟表,其内容由查询结果来定义。

同真实的表⼀样,视图包含⼀系列带有名称的⾏和列数据。

但是,视图并不在数据库中以存储的数据值集形式存在。

⾏和列数据来⾃由定义视图的查询所引⽤的表,并且在引⽤视图时动态⽣成。

如果基表中的数据发⽣变化,则从视图中查询出的数据也随之变化。

1.2 视图的优点(1)定制⽤户数据 每个组织都有不同⾓⾊的⼯作⼈员,以销售公司为例,采购⼈员需要⼀些与采购有关的数据,⽽与采购⽆关的数据,对采购⼈员没有任何意义。

可以根据这⼀实际情况,专门为采购⼈员创建⼀个视图,以后采购⼈员在查询数据时,只需执⾏“select * from 采购视图”就可以了。

(2)简化数据操作 在使⽤查询时,很多时候需要使⽤聚合函数,同时还要显⽰其他字段的信息,可能还会关联到其他表,这时写的SQL语句会很长,如果这个多做频繁发⽣的话,就可以通过创建视图,简化数据来查询。

(3)细粒化的安全机制 因为视图是虚拟的,物理上是不存在的,它只是存储了数据的集合。

因此,可以将基表中重要的字段信息不通过视图提供给⽤户。

视图是动态的数据的集合,数据是随着基表的更新⽽更新的。

同时,⽤户不可以随意地更改和删除视图,以保证数据的安全性。

(4)合并分离的数据 随着社会的发展,公司的业务量不断地扩⼤。

为了管理⽅便,对于设有很多分公司的⼤公司,需要统⼀表的结构,从⽽定期查看各个分公司的业务情况。

使⽤union关键字,可以将各分公司的数据合并为⼀个视图,这样既⽅便⼜⾼效。

1.3 视图的创建和使⽤语法: create view view_name as select column_name(n) from table_name(n) where condition说明: view_name:视图名 column_name(n):视图中的字段列表,可以来源于多个表 table_name(n):表名,可以来源于多个表 condition:条件表达式,如果是多个表,则该表达式还包含标的连接条件⼆、索引2.1 索引的基本知识 2.1.1 理解索引 2.1.2 索引⼯作的原理 2.1.3 索引的作⽤ 2.1.4 索引的优缺点 优点: (1)⼤⼤加快了数据的检索速度。

第6章创建与管理其他数据库对象

第6章创建与管理其他数据库对象
➢表是用来物理存储数据的结构,而视图是存储在系统目录中的 信息。 ➢表是实际存在的物理数据,而视图是虚拟的、动态产生的数据。
➢视图可以看作是一个或者多个表查询的结果。
➢视图中保存的是SELECT语句,视图中的记录实际上是对基表内 存储数据的引用,通过创建视图时所定义视图的查询语句实现。
视图的基本概念
表中。 有关视图相关性的信息添加到sysdepends表中。 视图的定义信息存储到syscomments表中。
视图的创建
使用SSMS创建视图
视图的创建
使用T-SQL语句创建视图
CREATE VIEW [schema_name.]view_name[(column[,...n])] [WITH {ENCRYPTION|SCHEMABINDING|VIEW_METDATA}[,…n]] AS Select_staement [WITH CHECK OPTION]
视图的作用是可以间接地访问其它的表或视图中的数据。 视图提供了另一种观察数据库中一个或多个表中数据的
方法。 使用视图的优点
➢集中数据显示 ➢简化数据操作 ➢提供简便易行的安全保密措施 ➢易于合并或分割数据
视图的创建
要创建视图,用户必须具有在视图所引用的表 或视图上的“SELECT”权限以及“创建视图”的 权限 。
数据库技术与应用 第六章创建与管理
其他数据库对象
主要内容
视图 索引 存储过程 触发器
游标控制
视图
视图(View)是一种常用的数据库对象,是关 系数据库系统提供给用户以多种角度来观察数 据的一种重要机制。
使用视图使得用户能够以更多样而且更有弹性 的方式来访问数据,不仅可以确保数据库的安 全性,而且可以提高其使用的便利性。

对象数据库系统详述

对象数据库系统详述

对象数据库系统详述引言对象数据库系统是一种用于管理和存储对象数据的数据库系统。

与传统的关系型数据库系统不同,对象数据库系统以对象为主要存储单位,并且支持面向对象的数据模型和操作。

本文将详细介绍对象数据库系统的概念、特点以及应用领域。

什么是对象数据库系统对象数据库系统是一种使用对象作为主要存储单元的数据库系统。

与关系数据库系统中的表相比,对象数据库系统中的数据以对象的形式存在。

对象是指具有属性和方法的实体,可以将其视为现实世界中的实体或概念的抽象。

对象数据库系统支持面向对象的数据模型,意味着它允许数据的继承、封装和多态等面向对象的特性。

它还提供了面向对象的查询语言,使得用户可以使用类似于面向对象编程的方式进行数据库查询和操作。

对象数据库系统的特点1. 支持复杂的数据结构与关系数据库系统相比,对象数据库系统可以存储更加复杂的数据结构。

对象可以包含其他对象、集合、数组等复杂数据类型,使得系统能够更好地表示和处理现实世界中的复杂问题。

2. 支持面向对象的查询语言对象数据库系统提供了面向对象的查询语言,能够更加方便地进行数据库查询和操作。

用户可以使用类似于面向对象编程的方式编写查询语句,从而提高编程的灵活性和效率。

3. 高效的数据访问由于对象数据库系统将数据以对象的形式存储,因此在访问和检索数据时具有较高的效率。

与传统的关系数据库系统相比,对象数据库系统不需要进行复杂的表连接操作,从而可以更快地获取所需的数据。

4. 支持事务处理和并发控制对象数据库系统支持事务处理和并发控制,能够确保数据的完整性和一致性。

用户可以使用事务来管理复杂的数据库操作,并且系统可以通过并发控制机制来处理多个用户同时对数据库进行访问和修改的情况。

5. 灵活的数据建模和演化对象数据库系统具有灵活的数据建模和演化能力,可以根据应用的需求动态地调整数据库的结构和内容。

用户可以根据需要定义新的类和属性,并且可以在不破坏现有数据的情况下对数据库进行演化和扩展。

管理数据库其他对象、视图

管理数据库其他对象、视图
授课班级
计英0901
计应0901

32

授课时间
11月16日
11月16日
星期


授课地点
805机房
805机房
实验项目
实验十六管理数据库其他对象、视图
实验目的
1.学会创建、删除用户自定义数据类型、用户自定义函数;
2.根据需要合理地创建用户自定义数据类型、用户自定义函数
3.掌握使用企业管理器和T-SQL语句创建与管理视图
2、创建视图v_Sale2,显示每种产品的产品编号、3,显示销售金额在10万元以下的产品清单。
4、用select语句查看视图中所定义的查询结果
5、sp_helptext查看视图中包含的查询命令
四、修改视图(选做)
1、向视图v_Sale1中插入记录(因为涉及到三个表,所以视图中一条记录的插入要分三次才能完成)。
2、更新视图v_Sale2,将所有产品的单价提高20%。(注意一条update语句只能更新一个基表中的内容)
3、删除所有视图,在执行过程中遇到什么样的问题?思考为什么?
实验要求
1.按要求完成各题,并写出主要命令
2.在实验报告中描述遇到的问题及解决的办法、收获
3.实验总结
心得体会
4.熟悉通过视图更新数据表中记录数据的方法
实验环境
WindowsXP系统、SQL Server 2005环境
实验内容
一、导入Sale数据库
二、管理数据库其他对象
自定义函数,能够利用该函数计算出销售总金额(数量Quantity*单价Price)
三、创建视图
1、创建视图v_Sale1,显示销售日期、客户编号、客户姓名、产品编号、产品名称、单价、销售数量和销售金额。

数据库中基本的对象

数据库中基本的对象

数据库中基本的对象数据库是计算机系统中存储、管理和组织数据的基本工具。

在数据库中,有许多基本的对象用于存储和处理数据。

本文将介绍数据库中的五个基本对象:表、字段、记录、索引和视图,并探讨它们在数据库中的作用和用途。

一、表表是数据库中最基本的对象,它由一组有序的行和列组成。

每一列都代表了表中的一个属性,每一行则代表了一个实体或记录。

表可以存储不同类型的数据,例如员工信息、产品信息等。

通过表,我们可以方便地对数据进行增删改查的操作,实现数据的有效管理。

二、字段字段是表中的一个列,它定义了表中的每个属性的类型和约束条件。

字段可以是整数、字符、日期等不同类型的数据。

通过字段,我们可以确定表中每个属性的数据类型,以便数据库系统能够正确地处理和存储数据。

三、记录记录是表中的一行,它代表了一个实体或对象的具体信息。

每个记录由一组字段值组成,这些字段值对应了表中每个属性的值。

通过记录,我们可以存储和管理大量的数据,并方便地进行数据的查询和分析。

四、索引索引是数据库中用于提高数据检索效率的一种数据结构。

它可以加快查询操作的速度,减少数据库系统的负载。

索引可以根据表中的一个或多个字段来创建,通过对这些字段进行排序和分组,可以快速定位到需要的数据。

索引的创建和维护需要消耗额外的存储空间和计算资源,但它能够大大提高数据库的查询性能。

五、视图视图是一个虚拟表,它是由一个或多个表的数据组成的。

与表不同的是,视图并不实际存储数据,而是根据定义的查询条件和逻辑关系动态地生成结果。

通过视图,我们可以将复杂的查询操作简化为一条简单的查询语句,并对数据进行逻辑上的组织和管理。

表、字段、记录、索引和视图是数据库中基本的对象,它们在数据库系统中起着不同的作用和用途。

表用于存储和管理数据,字段定义了表中每个属性的类型和约束条件,记录存储了具体的实体信息,索引提高了数据库的查询效率,视图简化了复杂的查询操作。

这些基本对象通过组合和关联,构成了一个完整的数据库系统,为用户提供了高效、可靠和安全的数据存储和管理服务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

—高级软件人才实作培训专家! 高级软件人才实作培训专家!
唯一约束
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家!
主键约束
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 外键约束
北京传智播客教育
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 本章总结
序列 利用序列使表实现自动编号 同义词 私有公有同义词 利用公有同义词实现对象的公共访问 视图
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 提问时间
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 序列(sequence)
序列为ORACLE整数,最多可有38位数字 序列号生成是独立于表,所以同一序列生 成器可用于一个和多个表 序列号可用于生成唯一的主码
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! CHECK约束
..., deptno NUMBER(2), CONSTRAINT emp_deptno_ck CHECK (DEPTNO BETWEEN 10 AND 99),...
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 添加约束
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 创建序列
SQL> CREATE SEQUENCE test_sequence 2 INCREMENT BY 1 3 START WITH 1 4 NOMAXVALUE 5 NOCYCLE 6 CACHE 10; 序列已创建。 SQL>
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 使用序列
SQL> select test_sequence.currval from dual ; select test_sequence.currval from dual * ERROR 位于第 1 行: ORA-08002: 序列 序列TEST_SEQUENCE.CURRVAL 尚未在此进程中定义 SQL> select test_sequence.nextval from dual ; NEXTVAL ---------1 SQL> select test_sequence.currval from dual ; CURRVAL ---------1 SQL>
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 删除同义词
删除私有同义词: 删除私有同义词: DROP SYNONYM testsyn; 删除公共同义词: 删除公共同义词: DROP PUBLIC SYNONYM testsyn1; 例如: 例如: SQL> CREATE PUBLIC SYNONYM testsyn1 FOR lunar.aaa; 同义词已创建。 同义词已创建。 SQL> drop SYNONYM testsyn1; drop SYNONYM testsyn1 * ERROR 位于第 1 行: ORA-01434: 要删除的隐含同义词不存在 SQL> drop public SYNONYM testsyn1; 同义词已丢弃。 同义词已丢弃。 SQL> 教师实验: 教师实验:分别建立公有私有同义词进行访问实验
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 一个复杂的序列
SQL> CREATE SEQUENCE test_sequence 2 INCREMENT BY 5 3 START WITH 0 4 MAXVALUE 100 5 MINVALUE -100 6 CYCLE 7 CACHE 20; 该序列从0开始,每次增长5,最大到100,之后循环回-100再 次增长,系统在内存中缓存20个值
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! With check option
回想刚才的简单的视图: Create view myview as select * from emp where job=‘MANAGER’; 含义是:公司的所有的经理 我们给它插入记录: Insert into myview(empno,ename,job,deptno) values(2222,’rose’,’CLERK’,10); 该记录可以插入成功,可是我们查询视图却看不到这这个记录,原 因是这个记录根本就不满足这个视图的要求,可是为什么还是可以 插入呢? 我们删除视图:drop view myview; 重新建立: Create view myview as select * from emp where job=‘MANAGER’ with check option; 教师实验:再次发出插入语句试试看!
—高级软件人才实作培训ห้องสมุดไป่ตู้家! 高级软件人才实作培训专家!
第七章 其他数据库对象
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 知识回顾
从多个表中获取数据 分组函数 子查询
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 内容摘要
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 视图
视图是一个虚拟的表 视图本本身其中并没有存储任何数据 使用视图我们可以限定用户只访问表的一 部分数据 利用with check option选项我们可以限制 用户对视图的更改和插入记录在我们制定 的值域中。
column,... [CONSTRAINT constraint_type (column, ...), constraint_name]
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家!
NOT NULL 约束
北京传智播客教育
约束 视图 序列
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 约束
列级约束
column [CONSTRAINT constraint_name] constraint_type,
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 表级约束
数据库对象的替换名称
优点: 优点:
—简化SQL语句 —隐藏对象的名称和所有者 —为分布式数据库的远程对象提供了位置透明性 —提供对对象的公共访问
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 创建同义词
SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------A TABLE B TABLE C TABLE JY_PER TABLE JY_RENWU TABLE PLAN_TABLE TABLE SQLEXPERT_PLAN1 TABLE TEST TABLE 已选择8行 已选择 行。 SQL> CREATE PUBLIC SYNONYM testsyn FOR lunar.aaa; 同义词已创建。 同义词已创建。 SQL>
一个同义词(synonym)为任何表、视图、 快照、序列、过程、函数或包的别名,其 定义存储在数据字典中 有两种同义词:公用和专用 。公用同义 词可为数据库中每一个用户所存取 ;专 用同义词是包含在指定用户的模式中,仅 为该用户和授权的用户所使用。
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家!
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 删除序列
SQL> drop sequence test_sequence; 序列已丢弃。 SQL>
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 同义词(synonym)
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 创建视图
1、简单的视图: Create view myview as select * from emp where job=‘MANAGER’; 2、带有聚合函数的视图 Create view myviewa as select deptno,sum(sal) totsal from emp group by deptno; 3、从多张表连接形成的视图 Create view myviewb as select ename,job,dname,loc from emp e,dept d where e.deptno=d.deptno;
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 视图的可更改性
第一张视图可以更改,对视图的更改实际上是对表的更改。 Update myview set sal=sal+20; 第二张视图的更改语句会失败: Update myviewa set totsal=10000 where deptno=10; 原因是totsal列的数据都是表中多个数据聚合得来的,存在一对多 的关系所以不能更改。 对第三个视图发出两个语句: Update myviewb set job=‘MANAGER’ WHERE ENAME=‘SMITH’; 和 update myviewb set loc=‘beijing’ where ename=‘SMITH’ ; 教师实验:通过实验分析为什么第一个语句成功,而第二个语句失 败
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 使用序列形成自动编号
相关文档
最新文档