·物理操作(Physical operations)
在这种操作中,RDBMS要确认该怎样进行和完成 命令。举个例子,一个应用查询某表,这个数据库可以使用index(索引)去找到要查询的行,读这些数据进入内存(memory),以及执行一堆其他步骤,才能返回结果给应用。因为RDBMS就是负责存储和检索数据的,所以物理操作对于应用来说是透明的-也就是说 应用只要selelct delete xxx 剩下的事数据库自己会搞定
Oracle 数据库就是一个RDBMS. 而实现了面相对象的特性,如用户定义类型,权限继承以及多态(polymorphism,搞不懂啥意思)的RDBMS被成为"object-relationaldatabase management system(ORDBMS)".
Oracledatabase拥有扩展过的关系模型,也就是object-relational model.这使得在关系型数据库中存储复杂的business model 成为了可能。
Oracle简史 -这个要看一看,可以用来出去tree new bee
当前版本的Oracle database 超过30年的创新研发的结果。
而Oracle database进化过程中的亮点包括:
·Oracle的创建
1977年,Larry Ellison(这哥们可真是rich man),Bob Miner 以及Ed Oates 创建了" Software Development Laboratories" ,这是"Relational Software,Inc.(RSI)"的前身,在1983年,RSI又变成了"Oracle Systems Corporation" 以及后来的"OracleCorporation"
·第一版卖钱的RDBMS
1979年,RSI 推出了Oracle V2(Version 2) 这是第一块用来市场销售的 基于sql的RDBMS(Sql-based RDBMS),这是一个在关系型数据库上具有里程碑意义的事件
·Portable version of oracle database(翻译过来是可移植,也就是说可以跨平台的)
Oracle Version 3,在1983年发布。是第一款能同时运行在大型机,小型机,和PC上的关系型数据库,使数据库能够在多种平台运行
·增强版本并发控制,数据分发,以及可扩展性
Version 4 增加了多版本多一致性。Version5发布在1985年,支持了C/S运算以及分布式数据库系统。Version 6 优化了 磁盘I/O,行锁,可扩展性以及备份和恢复,并且 version6引进了PL/SQL,PL/SQL是基于SQL的可程序增强。
·能够存储的程序化的PL/SQL包(以前都是临时包,现在能存进库里了)
Oracle7 在1992年发布,引进了触发器和可存储的PLSQL包
·分区表
Oracle8发布在1997年,是个object-relational database,支持了很多数据类型(data types),另外Oracle8支持了大表的分区
·Internet computing(也就是8i,9i的那个i的来源)
Oracle8i数据库,发布在1999年,本身支持了Internet中的各种协议以及服,务端的JAVA支持。Oracle8i 是为了internet computing而设计的,使数据库能部署在多层环境中。
·Oracle Real Application Clusters(Oracle RAC)
Oracle9i数据库增加了Oracle Rac.2001发布。使得多个instance可以同时访问一个database,另外,增加了Oracle XML 数据库(Oracle XML DB),能够存储和查询XML.
·Grid computing
Oracle Database 10g 发布在2003,增加了grid computing.这个版本使的公司可以根据grid infrastructure 将一大堆低成本的服,务器虚拟化成一个 计算资源(说的跟真的似的 - -切!),还有一个关键目标是使数据库能够自我管理,以及自我调整(说白了就是自动化了很多),Oracle Automatic Storage Management(Oracle ASM) 帮助完成虚拟花和简单化数据库存储的管理。
·增加了可管理型,可诊断性,以及可用性
Oracle database 11g,发布在2007年,增加了一堆新特性,使得管理员和开发能很快适应不短变化的商业需求。增加适应性的关键是,通过整合信息和尽可能的自动化,简化信息的基础架构
Schema Objects(Schema中有哪些东西)
一个RDBMS的特性就是存储数据 的物理数据存储 和逻辑数据结构是相互独立的。在Oracle Database,一个database schema 是一个容器,里面放着一堆逻辑数据结构(表什么的)。一个数据库user拥有且只有一个schema,schema名字和用户名字一样。(不懂来找我)。
SchemaObjects是用户创建的结构,database中数据的具现化,数据库支持很多类型的schema objects,而其中最重要的就是表,和索引。
Tables(表)
一个表描述一个实体 比如 雇员们的信息,你可以定义一个表,表名比如叫employees,以及一堆列,一般情况下,你得给每个列一个列名,一个数据类型(char什么的),以及宽度(比如char(20))
一个表就是一堆行,一个列表示一个实体的属性,其中每行表示一个实体的一例(比如employees表中的一个employee)。
你可以为表的每列指定规则(可选的),这些规则被称为intergrityconstrants(完整性约束)。举个例子 "NOT NULL"完整性约束。这个约束强制保证每行的这个列必须有值,不能是空的
Index(索引)
索引是一个可选的数据结构,你可以将它创建在表的一个列或者多个列上。索引可以增加数据检索的速度,当处理一个查询,数据库可以使用索引高效的去定位相关的行。索引用在当应用经常查询指定的行,或者一小部分行时。