Table of Contents:

基础

其实在Oracle中的概念并不是创建数据库,而是创建一个表空间,然后再创建一个用户,设置该用户的默认表空间为我们新创建的表空间,这些操作之后,便和你之前用过的mysql数据库创建完数据库一模一样了。

在SQL Server或者MySQL中,一般情况下,一个项目对应DBMS中的一个数据库,连接字符串中是用“用户名+密码+数据库名”来唯一标识数据库,一个用户可以管理多个数据库;
而连接oracle中的字符串主要是 用户名+密码 来标识数据库,通俗来说,除了数据库地址,一个程序连接MySQL或SQLServer需要提供用户名、密码和它需要连接的数据库名,连接Oracle则需要提供用户名和密码即可。

一般在 oracle 中建立方案的步骤为:1.创建表空间→2.创建用户并设置其表空间和权限→3.创建数据库对象(表、视图、索引等)

新建表空间

create tablespace tbs_danny datafile 'D:\oracle\oracledata\danny\danny_data.dbf' size 50M;

新建用户并为此用户分配默认的表空间

create user danny identified by danny default tablespace tbs_danny;

为用户授权

grant connect to danny;
grant resource to danny;

建立表

create table t_user_by_danny(id varchar(32),name varchar(32)) tablespace tbs_danny;
create table t_user_by_danny(id varchar(32),name varchar(32));   #也可以不指定表空间
  1. 表空间 (Tablespace)
    • 表空间是Oracle中管理存储的逻辑结构,它由一个或多个物理数据文件(如 .dbf 文件)组成。
    • 它就像是共享的物理仓库,不同用户的表都可以把数据存放在这个仓库里(即同一个表空间),但仓库里的货物(表数据)具体是谁的,是通过“用户”(模式)来区分的139。
  2. 用户/模式 (User/Schema)
    • 在Oracle中,“用户”和“模式”基本是同义词。创建一个用户的同时,就会生成一个同名的模式来存放其所有的数据库对象(如表、视图等)。
    • 模式是对象的逻辑容器,也是真正的命名空间。这意味着,表的“唯一身份”是由模式名 + 表名共同决定的。
    • 模式是对象的逻辑容器,隔离性非常强。为不同应用创建不同的用户(模式)是一种常见的做法,每个应用的用户管理自己的一套表,即使表名相同也互不干扰。
  3. 表 (Table)
    • 表是实际存储数据的对象。它属于某个特定的模式,但可以指定存储在某个表空间中。

细节

数据库存储结构分为:逻辑存储结构、物理存储结构。

2.2 逻辑存储结构:由小到大分为 数据块、数据区、数据段、逻辑对象、表空间、数据库。

2.3 物理存储结构:数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件、警告日志文件等。