问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle中的数据结构是那样的!

发布网友 发布时间:2022-03-29 00:31

我来回答

2个回答

懂视网 时间:2022-03-29 04:52

oracle存储结构正确的是表空间、段、范围、数据块。Oracle数据库的存储结构分为逻辑存储结构和物理存储结构。

  

  逻辑存储结构主要描述Oracle数据库的内部存储结构,即从技术概念上描述在Oracle数据库种如何组织、管理数据。因此,逻辑存储结构是和操作系统平台无关的,是由Oracle数据库创建和管理的。Oracle物理存储结构组成:数据文件(data file)、联机日志文件(online redo log file)、控制文件(control file)组成的归档日志文件、参数文件、警报文件、跟踪文件、备份文件。

热心网友 时间:2022-03-29 02:00

基本数据结构



表是关系数据库中的一个基本数据结构。表就是行的集合。每行(row)包含一个或多个列。

从Oracle8企业版以后,就提供了分区选件,它允许将表和索引进行分区。利用分区,Oracle可从以下两方面改善性能:

。Oracle不用去访问那些不满足查询条件的分区

。如果分区中所有数据都满足查询条件,那么Oracle将选择全部数据而不需要对每行均进行字句检查。

视图

视图(view)是Oracle中的一种由SQL语句构造的数据结构。SQL语句存储在数据库中,在查询中使用一个视图时,所存储的查询将得以执行,并向用户返回基表(base table)中的数据。

视图不包含数据,而是表示一些方法可以查看查询所指定的基表数据。

视图有以下几种用途:

。简化对多个表数据的访问

。可以保证表中数据的安全(如,创建包含WHERE子句的视图就可以*访问表中的数据)

。将应用与表中某些特定的结构分离

视图建立在基表集合的基础之上,基表包括Oracle数据库中的事实表或者其他视图。如果视图中的任何一个基表进行修改,那么该视图将无法继续使用它们,因此视图本身也无法再使用。

索引

索引(index)是用来加快访问数据库中记录速度的一种数据结构。一个索引与一个特定的表相关,而且包含该表的一个或多个列的数据。

创建索引的SQL基本语法:

CREAT INDEX emp_idx1 on emp (ename,job);

其中,emp_idx1时索引名,emp是创建索引的表,ename和job时构成索引的列值。

除了索引数据以外,索引项中还为其相关行保存了ROWID.ROWID是获取数据库行的最快方式,因此随后数据库行的获取都是以这种最佳方式来完成。

Oracle中使用的4中类型的索引结构:标准B*-树索引、反向键索引、位图索引以及Oracle8i引入的基于函数的索引。Oracle使你可以对表中的数据进行聚合,从而改善性能。

其它数据结构

序列(Sequence)

在多用户数据库中经常出现的大问题,就是很难为键或标识符提供唯一的序号。在这种情况下,Oracle允许创建序列对象。

序列号可以用名字,一个递增值或有关序列的其他一些信息。序列独立于任何表,因此多个表可以使用同样的序列号。

同义词(Synonym)

所有的Oracle数据库的数据结构都存储在一个特定的模式(schema)。模式是和一个特定的用户名相关联的,所有对象都通过带有对象名的模式名得到引用。

例如,模式DEMO中有一个表名为EMP.如果想引用表EMP,那么应该通过完整名DEMO.EMP来引用。如果没有提供特定的模式名,那么Oracle假定该结构处于当前用户名的模式中。

集群(Cluster)

集群是一种能够改善获取性能的数据结构。集群和索引一样,不会影响表的逻辑视图。

散列集群(Hash Cluster)

数据设计

约束

约束(constraint)强制数据库中某些数据的完整性。当给某列增加一个约束,Oracle自动确保不满足此约束的数据是绝不能被接受的。

约束可以在创建或增加包括某列(通过关键字)的表时与列相关联,或者在表创建后通过SQL命令ALTER TABLE来实现与该列的关联。在Oracle8及以后的版本中支持以下5个约束类型:

NOT NULL

对于任何列都可以设为NOT NULL.如果在任何SQL操作中将一个NULL值赋给某个有NOT NULL约束的列,Oracle会为这个语句返回一个错误。

惟一性

主键

外键

校验

某些约束需要创建所以来支持。

约束可以是立即的或延迟的。立即约束(immediate constraint)只要有写操作就会立即对受约束列产生影响;而延迟约束(deferred constraint)只有在对约束行产生变化的SQL语句执行完时才有强制作用。

对于某个特定表的约束可设置成暂时挂起。当再次启动该约束操作时,再要求Oracle对该约束验证所有数据,或者只是对新数据应用约束。在现有表中增加约束时,可以指定是否对表中所有记录进行约束校验。

触发器

触发器是个代码块,当某个表中发生了某种类型的数据库事件时它就会被触发,有以下3种事件会导致触发器的触发:

。数据库UPDATE

。数据库INSERT

。数据库DELETE

例如,可以定义一个触发器,从而在用户改变某一行时,写一个定制的审查记录。

触发器是在行一级被定义的。可以指定触发器是对每一行触发,或者对触发该触发器事件的SQL语句触发。

触发器的触发有3个时机:
。在执行触发事件之前                          
。在执行触发事件之后
。非触发事件

将前两种时间选项与触发器所触发的行和语句的结合,则有4种可能的触发器实现:在语句之前;在行之前;在语句之后;在行之后。

任何触发器都可以有一个触发器*(trigger restriction)。触发器*是一个布尔表达式,如果其值为FALSE,那么就阻止触发器触发。

触发器的定义和存储都独立于使用它们的表。因为触发器包含逻辑,所以必须通过比SQL功能强的某种实现数据访问的语言来写。可以直接用PL/SQL或Java来写触发器,也可以通过调用其中任一种语言编写的现有存储过程来写触发器。

触发器触发是SQL语句执行的结果,该SQL语句修改了某个表中的行。触发触发器的操作可能是修改这个表中的数据,或者产生某些改变来触发其他表的触发器。这么做的最后结果可能是以某种方法修改了数据,但Oracle认为这是不合逻辑的。这些情况都会导致Oracle返回变异表(mutating table,被其他触发器修改的表)的运行时错误,或是返回约束表(constraining table,被其他约束修改的表)的运行时错误。

Oracle8i还引入了一组非常有用的系统事件触发器和用户事件触发器。现在可以在系统事件(如,数据库启动或关闭)中放置触发器,也可以在用户事件(登录和退出)中放置触发器。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
铁路12306官网登录入口 12306密码忘了怎么重新注册 嬉戏谷门票优惠2023 嬉戏谷门票预订 嬉戏谷门票多少钱 嬉戏谷门票优惠政策 嬉戏谷门票哪里买便宜 嬉戏谷门票怎么买便宜 “山川修且广”的出处是哪里 我姓唐只知"太超修广咸"字辈,能告诉我后面是什么字辈吗 遇到工伤事故导致死亡,五险可以赔付多少钱 工伤死亡可以赔偿多少 工伤死亡赔偿金额是多少 我姐夫今年34岁,工伤死亡赔偿 工伤死亡的赔偿多少 40岁男人死了,工伤,赔多少钱 工伤致人死亡,应该赔偿多少? 工伤死亡一般能赔偿多少?? 工伤导致死亡的赔偿有多少?衡量标准呢? 工伤事故死亡最高赔偿多少万? 工伤死亡一次性赔偿标准工伤死亡赔偿金多少 工伤死亡一次性赔偿标准是多少? 工伤死亡赔偿金是多少 工伤死亡赔偿金是多少? 工伤致人死亡赔偿最多多少 因工伤死亡,一次性赔偿最高金额是多少 工伤死亡一般赔偿标准是多少 工伤致死能赔偿大概多少 微信语音通话你明明接通了,第二天没看到语音通话... 微信语音聊天记录删除掉了,还能恢复吗?咋天有条... 网上买的海尔空调遥控器怎么配对? 海尔空调 智能模式如何设置 海尔空调遥控上得智能键是怎么用的呢 海尔空调,可以用手机智能遥控开关,但不能用空调... 什么是新鲜的牛奶,与盒装牛奶有什么区别? 海尔空调的智能键是什么意思 纯牛奶和鲜牛奶有什么不同,哪个营养更好? 鲜牛奶和盒装牛奶有什么区别 鲜奶和纯牛奶的区别知乎 盒装牛奶配料的“生牛乳”“鲜牛奶”有啥区别?那个好? 他们每天送的鲜奶和超市买的纯牛奶有啥区别 请问一下,鲜奶和纯牛奶的有什么不同啊? 求助oracle大师,以下说法是否正确并给予解析 人教版小学四年级英语学习要求有哪些 小学四年级上册英语单词表 小学生四年级学哪种英语教材好 2015小学人教版新起点英语四年级上册单元知识点 小学英语四年级人教版和苏教版的区别 新人教版小学四年级英语上册教学计划 华为nova5i昨晚进水了,现在充不上电了怎么办?