在Oracle中数据库、表空间、表之间的关系
大家好:
我是个Oracle刚刚入门者,之前做项目一直用的MySQL,这次突然要用Oracle,不知如何下手,在网上看了一些资料,比如什么“表空间”,把我看的挺晕的,发现以前的MySQL上的知识一点用不到Oracle中。
另外,在Oracle中怎么创建数据库、表空间、表和如何删除数据库、表空间、表。
不甚感激!
答案:在oracle中,表空间是存储概念上的,建立表空间需要有对应的数据文件,数据文件建立好之后直接会把一定的磁盘空间分配给它,这样可以对数据库的存储空间进行有效的管理。然后在建表的时候指定对应的表空间,该表的数据就会都存在表空间对应的数据文件上,和Mysql那种每个表一个文件的方式比起来,存储的可控性更强。
oracle和mysql不同,不存在mysql中那种数据库的概念,而是实例的概念,当然,也可以在实例里建立不同的user来区分,每个user对应的表都是相对独立的,比如两个user下可以分别建同名的表,但又可以通过授权来交互使用。
建数据库是在安装oracle之后执行dbca建立实例。
建表空间语句是 CREATE TABLESPACE TBS_DEFAULT DATAFILE
'/app/oradata/sys_tbs/tbs_default.dbf' size 500M
LOGGING
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
/
这里主要是需要指定对应的datafile。
建表基本都一样,例如
create table (col_1 number(8),col_2 char(2),col_3 date)
tablespace tbs_default
/
数据库就不要删除了,这方面你看下关于user操作的语句就可以了。
drop tablespace tbs_name including contents and datafiles;--删除表空间及数据文件
drop table tab_name purge; -- 删除表。
其他:我用我理解的去回答你哈,
oracle一个数据库实例下可有N个表空间,在表空间下可以创建N张表,这个关系。
oracle可以用Database Configuration Assistant向导来创建数据库,这对于初学者来说可以避免不必要的麻烦。
数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。
CREATE TABLESPACE 表空间名 DATAFILE 物理地址 SIZE 大小 AUTOEXTEND ON NEXT 增长大小
CREATE USER 用户名IDENTIFIED BY 密码 DEFAULT TABLESPACE 默认的表空间;
构建好了之后给用户赋予权限,剩下就是T-SQL了,构建表都是一样的 oracle有一个管理工具,可以在安装时创建数据库、表空间,可以利用管理工具删除表空间,数据库是无法删除的,表的创建和删除可以用SQL语句,另外,可以使用PL/SQL Developer工具进行表空间、表的创建和删除 举个简单的例子,你有一所房子,你可以在房子里进行任何不违法的操作,这个就等同于oracle,房子就是表空间,在表空间里你可以建表、等其他不违反数据库的任何操作,建表的话这个同你的mysql其实一样,可以选择用sql语句去建立,或者通过可视化工具来进行操作,工具可能来的方便一点,不需要写太多句子就可以,至于这个工具跟mysql一样是很多的,看你如何选择了 用sys用户登录后 step1-在存储-表空间-右键-新建表空间 设定名称,大小 增量 自增大小无限制。step2-在安全性-用户-新建用户-选择默认表空间(刚刚建的)-角色选DBA的-创建-ok 这样就完成了用户的创建,也相当于mysql里面的数据库。 数据库是通过表空间来存储物理表的,一个数据库可以有若干个表空间。 数据库是房子!
表空间是书柜!
表是书!
创建、删除数据库可以使用DBCA删除!
表空间可以再SQLPLUSLI里面创建~
例如:
create table test datafile '/oracle/oradata/test.dbf' size 10G autoextend off;
删除表空间用drop tablespace tablespace_name
创建表这个和MUSQL差不多的~
create table test (id number ,name varchar2(20).......) 建议你看看ORACLE的原厂文件。对你的问题都有回答。 创建数据库可以按数据库创建向导进行创建;
表空间:create tablespace 表空间名
datafile ‘路径’size 大小 autoextended on(开启自增);
drop tablespace 表空间名
表:create table 表名
(字段列表)
drop table 表名
上一个:请教如何在linux下面安装oracle数据库
下一个:Java是什么,他跟Oracle数据库有什么关系