界面好不好,其实和数据库本身没设么关系,sqlserver本身的交互界面做得好,oracle本身几乎没做过什么交互界面,如果想找有交互界面的,那么个人建议最好用第三方工具,比如
pl/sql developer 或者是其他一些界面工具,这个网上有很多,我就不一一说了。
你会用sqlserver那么一定会sql语句,会sql语句的话oracle没什么困难的(当然仅仅是些sql这块)。
你说的表空间时什么,这样我举个例子。
张三和李四,每个人最开始都有一套房子,后来有钱了,每个人又买一套房子。
这样张三和李四每人有了两套房子,同时还有两套房子没人买。
那么我说“张三的房子”的时候,指的是这两套房的统称,这个统称就是表空间。每套房子就是一个数据文件。
但是你会发现,这个统称并不真实存在,真实存在的仅仅是一套一套的房子。
所以,这个表空间仅仅是一个逻辑的概念,有这个概念是为了说起来方便。比如:一台新电脑放在了张三的房子里。我不管是张三的第几个房子,反正有一台新电脑在张三的房子里。如果是张三把一台新电脑放在了他的第二个房子里。这个是比上面那个在下一层的说法,多加了一个"第二"的维度。
这个张三就是oracle数据库所说的数据库用户(user)。
同时没人买的房子,我也可以放在一起,称为"待售的房子",那么这个待售的房子也可以是一个表空间。就是还没有人认领的表空间。(就是不是任何一个user默认的表空间)
那么李四加房子堆满了,能不能把李四的东西放在张三家呢?明显可以,不过要经过张三的同意,如果不放在张三家,而是放在空闲的房子里行不行呢?也可以,经过管理房子的人(DBA用户)的确认就可以了。
这就是表空间的通俗解释。
例子是临时想的,有些地方不是太靠谱,希望能帮到你。
至于你说的速成oracle,看你像怎么个速成法,如果是sql语句,那么和sqlserve差不多,都是sql92或者sql99标准,仅仅在函数和用法上有些区别,如果想连着体系结构,优化等串一遍,还真的没有简便方法。
oracle也有类似的痛惜,不过oracle分的是用户,同样的dbo。table。oracle的解释是:dbo用户下的table表。
表空间仅仅是一个逻辑概念物理上不存在,物理上你能看到的是一个一个的数据文件。
每个数据文件是物理上真实存在的。还是那句话,为了方便你理解。比如表A在表空间B上。表空间B有三个数据文件B1,B2,B3(数据文件是操作系统上能看到的),这时你不用管表A到底在哪个数据文件上,也就是你用管物理上该表到底存在哪,只要知道该表在表空间B上就行了。
而table,存储过程什么的都是属于某一个用户的。比如上面的表A,表A属于数据库用户C,那么如果你没有用用户C登录,数据库,假如你用用户D登录,如果C用户或者DBA用户授权D用户,可以访问C用户下的A表,那么也就是说select * from C。
A(说明D用户查询的是C用户的A表。),如果不写C。那么是select * from A(那么你用用户D登录查询的就是用户D的A表,如果用户D没有A表,那么这个查询就会报错。说找不到该表)
比如,某镇有四个区,ABCD,你是新搬来的。
镇里把你分配到A区,给了你A区里的1亩地大小的面积,让你盖房子。这里ABCD四个就相当于4个表空间,镇里那个分配宅基地的就是DBA,你就是那个用户。那1亩地就是DBA分给你的可使用的存储空间。
过段时间镇里又在B区给你分了1亩地,那么这一亩地也是属于你的,你也可以往这里放东西。
又过了一段时间,因为人口减少,C区没人了,镇里吧整个C区都分给你了,你可以自由建设,那也就是说整个表空间都是你的。
但是,后来因为又有人来投资了,土地资源紧张,于是镇里说:"C区你们两个人都干着,谁东西多就多占点。
"(先别管合不合理),于是C区整个属于你们俩,具体怎么盖房子,或者是干什么用不管,只要还有空地方你们俩随便。也就是说一个表空间不一定只给一个用户。
比如你家运来了一套沙发,那么如果你没告诉说,运到C区,那么一般会直接给你送家去(A区),这个也就是默认表空间。
全部