Oracle 简单介绍

来源:互联网 发布:高校网络教育阳光招生服务平台 编辑:程序博客网 时间:2024/05/23 02:01
1 sql(数据定义语言) 和PL/Sql的区别:
    SQL是结构化查询语言,比较接近自然语言,使用SQL,只需要说干什么,不需要说怎么干。由数据定义语言、数据操纵语言、数据控制语言构成,它不面向过程,即前一条语句与后一条语句无关。SQL是标准的语。
    PL/SQL,Oracle对SQL标准的扩充,增加了面向过程的功能,所以可以用来编写存储过程、存储函数、触发器等等。  PL/SQL是结构化SQL,就是在标准SQL中加入了IF...ELSE...   For....等控制过程的SQL。

2 具体的什么是PL/SQL:
    PL/SQL(Procedural Language/SQL)是对SQL的扩充,它吸收了近年来编程语言的许多最高设计特点:如数据封装性、信息隐蔽性、重载和例外处理等。它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。
  PL/SQL的优点如下:
  块结构(Block Structure):PL/SQL是块结构语言,意味着程序可以分成若干逻辑块,各自包含那个单元里要求的逻辑语言资源。可以对块宣布本地变量,在块中使用这些变量,可在它们应用的块中特别地处理错误条件(叫做Exceptions)

3.检验oracle数据库的安装是否正确:
      在cmd命令行中输入sqlplus /nolog,如果没有报错,并出现oracle版本号,则代表安装成功。
 
4.在Oracle中创建用户和为用户赋值权限:
      (1)在cmd中输入如下证明登录成功:sqlplus sys as sysdba;
      (2) 先创建一个用户:使用命令:create user 用户名 identified by 密码
create user guigu identified by 123456;  
     (3)给该用户解锁:使用命令:alter user 用户名 account unlock(不解锁无法登陆)
alter user guigu account unlock
     (4)给该用户授权:grant create session to 用户名,这里是给的登录权限。如果想把dba的权限授权给该用户,分别如下:
grant create session to guigu;grant sysdba to guigu;

5.登录oracle数据库左边的一系列文件夹分别代表什么意思?
    用户对象:oracle是以用户为模式,用户下的所有视图,触发器,表,授权表等等一系列的,统统成为用户对象。


每个目录详细介绍:
1.recent objects:你最近访问或是使用过的对象,就是一个记录,相当于的最近访问的内容列表。2.recycle bin :回收站启动和关闭,查看回收站内容 ,还原回收站内容,清空回收站等相关操作(通过命令进行)。3.Functions: 函数 不多解释4.procedures 存储过程,存储过程在Oracle中,可以在数据库中定义子程序,这种程序块称为存储过程。5.Packages :oracle包6. types 可以自定义数据类型7.type bodies 通packpages bodies一个是类型,一个是你类型体。type, 看似简单 实则涉及到高级开发,有兴趣可以专门去研究一下8.trigger 触发器:trigger和procedure,function类似,只不过它不能被显示调用,只能被某个事件触发然后Oracle自动去调用.常用的一般是针对一个表或视图创建一个trigger,然后对表或视图做某些操作时触发trigger.当然除此之外还有,schema,database级别的trigger9.java sources:可以调用在函数中调用java类10.jobs.可以定时执行存储过程。11.Queue 高级队列12.libraries oracle 库 (也没有用过) 百度了,网上资料比较少13.directonries oracle目录14.tables 表 不介绍了吧15.view 视图 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。16.materialized viewOracle高级应用之物化视图(materialized view)(没有实用过)17.sequence 索引 不解释18.user 用户表空间 这个自己用就知道了19.profiles 限制ORACLE用户20,roles.授予权限或者角色 权限控制21.synonyms Oracle的同义词(synonyms)从字面上理解就是别名的意思22.database link 此功能可以在本库中操作其他数据库23. tablespace 表空间24.cluster 表簇 这个功能还真的没有用过

6.Oracle数据库、实例、用户、表空间、表之间的关系:
(1) 数据库:
    Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。
(2) 实例:  
    一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。
(3) 用户:
    用户是在实例下建立的。不同实例可以建相同名字的用户。
(4) 表空间:
    表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
(5) 数据文件(dbf、ora):
    数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
    注:表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!
    关系示意图:

理解1:
    Oracle数据库可以创建多个实例,每个实例可以创建多个表空间,每个表空间下可以创建多个用户(同时用户也属于表空间对应的实例)和数据库文件,用户可以创建多个表(每个表随机存储在一个或多个数据库文件中),如下图:

理解2:
    理解1MS有误。实例下有和,授权访问,是管理的,经授权在中创建,随机存储到不同的中。如下图所示:


操作1:

安装Oracle后会有默认的实例,即ORCL。一般不创建多个实例,在默认实例下创建表空间和用户等。
    ① 运行CMD进入DOS界面,首先输入:sqlplus,回车;再输入:sys/sys as sysdba,回车,即进入“SQL〉”操作状态。
    ② 输入:CREATE TABLESPACE 表空间名称 LOGGING DATAFILE 'c:\表空间数据文件.ora' SIZE 500M autoextend on next 200m maxsize 2048m;,表空间创建完成。
    ③ 输入:CREATE USER 用户名称 PROFILE default IDENTIFIED BY 用户密码 DEFAULT TABLESPACE 授权访问的表空间名称 TEMPORARY TABLESPACE temp ACCOUNT UNLOCK;,用户创建完成,并授权用户访问某表空间。
具体操作如下图所示:


操作2:

创建表和插入数据,并查询浏览插入的数据。
    ① 创建表,输入:
create table 表名(字段名称1 字段类型,字段名称2 字段类型,字段名称3 字段类型);
    ② 插入数据,输入:insert into 表名(字段1,字段2,字段3) VALUES(值1,值2,值3);
    ③ 查询数据,输入:select * from 表名;