前言:刚学习Oracle,发现和MySQL有着很大的区别,里面有着一些与MySQL不同的逻辑。查阅了Oracle官网文档及一些编程交流网站,将入门Oracle需要用到的概念整理的下来,入门先了解这些概念基本够用。然后有不同见解的朋友们欢迎一起探讨。有很多点不是那么容易理解,需要一字一句去斟酌。
数据库(DB)
a. 数据库视为一个有组织的信息集合。
b. 数据库的目的是收集、存储和检索相关数据信息以供数据库应用程序使用。
c. 数据库是指由若干个相关数据的集合组成,它们被存储在计算机系统中,以便于对这些数据进行管理、处理和访问。数据库包含多个表格,每个表格包含着所存储的数据。
d. 数据库是位于磁盘上的一组文件,用于存储数据。
e. Oracle 在一开始就是一整个大的数据库,与MySQL区别很大。
数据库管理系统 (DBMS)
数据库管理系统是控制数据的存储、组织和检索的软件。
数据库管理系统是与数据库交互、访问和操作数据的软件程序。
第一代数据库管理系统包括以下类型:
层次数据库管理软件
层次数据库以树结构组织数据。每个父记录都有一个或多个子记录,类似于文件系统的结构。
网状数据库管理软件
网状数据库类似于层次数据库,不同之处在于记录具有多对多关系,而不是一对多关系。
第一代的数据库管理系统以严格的预定关系存储数据。由于不存在数据定义语言,因此更改数据结构很困难。此外,这些系统缺乏简单的查询语言,这阻碍了应用程序开发。
关系模型数据库管理软件
在1970年E. F. Codd定义了基于数学集合论的关系模型。目前,最广泛接受的数据库模型是关系模型。
关系数据库是符合关系模型的数据库。关系模型具有以下主要方面:
结构:定义良好的对象存储或访问数据库的数据。
操作:明确定义的操作使应用程序能够操作数据库的数据和结构。
数据完整性规则:完整性规则控制对数据库的数据和结构的操作。
关系数据库将数据存储在一组简单关系中。关系是一组元组。元组是一组无序的属性值。表是一组行。列标识表描述实体的属性,而行具体标识一个实体。
表是以行(元组)和列(属性)形式呈现的关系的二维表示形式。表中的每一行都有相同的列集。关系数据库是在关系(表)中存储数据的数据库。
Oracle的存储结构
物理存储结构(数据文件)
逻辑数据结构(如表、视图和索引)独立于物理存储结构。由于物理结构和逻辑结构是分开的,因此在管理数据的物理存储时,而不会影响对逻辑结构的访问。Oracle 数据库是一组将 Oracle 数据存储在持久存储中的文件。
Oracle物理存储文件有:
1 数据文件
每个 Oracle 数据库都有一个或多个物理数据文件,其中包含所有数据库数据。逻辑数据库结构(如表和索引)的数据以物理方式存储在数据文件中。
2 控制文件
每个 Oracle 数据库都有一个控制文件。控制文件包含指定数据库物理结构的元数据,包括数据库名称以及数据库文件的名称和位置。
3 日志文件
逻辑存储结构(表空间)
Oracle 数据库为数据库中的所有数据分配逻辑空间。数据库空间分配的逻辑单元如:表空间。
表空间是逻辑存储容器,存储空间的数据库对象,例如表和索引。在物理级别,表空间将数据存储在一个或多个数据文件或临时文件中。
数据库实例
数据库实例是一组管理数据库文件的内存结构。该实例由一个共享内存区域和一组后台进程组成。实例可以独立于数据库文件存在。
用户与表空间的联系
就是正常情况下,如果创建用户的时候指定了表空间,那么这个用户创建的这一个表,这个表就默认存在当前的这个用户指定的表空间。如果你的一个表放在表空间二中,你的用户当前用户默认表空间是一,那么如果你这个用户的权限够(管理员)或者是更高级权限的话,这个用户是可以操作表空间二中的表,但是如果这个用户是个普通用户,他只能操作自己表空间中的表。