Oracle 的安装与相关名词定义

一、安装数据库

1.Oracle 数据库安装包下载之后,会出现了两个 zip 压缩包名称分别为 win64_11gR2_database_1of2.zip 以及

win64_11gR2_database_2of2.zip

2.将两个压缩包解压到同一个文件夹中,找到 setup 应用程序安装包;

3.按照安装包的顺序安装 Oracle 数据库;

4.安装完成之后,配置电脑的环境变量:

变量名TNS_ADMIN

​ 变量值: D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN(该目录为 Oracle 数据库)

变量名NLS_LANG

​ 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

5.在 CMD 中,输入以下命令:

sqlplus / as sysdba

6.创建数据库,其文件存储在 F:\Workspaces\Tablespaces\DATA.DBF

create tablespace DATA logging  datafile 'F:\Workspaces\Tablespaces\DATA.DBF' size 256m  autoextend on  next 256m maxsize 10240m  extent management local;

7.创建数据库临时文件,其文件存储在 F:\Workspaces\Tablespaces\DATA_TEMP.DBF

create temporary tablespace DATA_TEMP tempfile 'F:\oracle\DATA_TEMP.DBF' size 256m auToextend on next 256m maxsize 10240m extent management locacl;

8.创建用户 xjlrs 及密码,并与上述两个文件形成映射关系:

create user xjlrs identified by xjlrs default tablespace DATA temporary tablespace DATA_TEMP;

9.给用户 xjlrs 授权:

CREATE USER xjlrs IDENTIFIED BY xjlrs;//创建用户及设置密码
grant dba,connect,resource to xjlrs;/授权

10.将 F:\oracle\test.dmp 数据库文件导入数据库(在 CMD 命令行中执行):

imp xjlrs/xjlrs file='F:\oracle\test.dmp'  full=y;

11.(可选)使用 sql developer 可视化工具: 完成之后,下载 sql developer 并安装,之后打开软件,并输入在 Oracle 中刚创建的用户及密码,选择数据库,登录完成之后,成功。

注意:

若在 sql developer 中出现 ORA-12545 错误,则需要重启当前电脑或者修改 D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN 文件夹中listener.ora 文件的 host 变量如下:

… host = [计算机全名] …

12.导入数据库(在 CMD 命令行中执行):

imp username/password file=[文件目录]/[文件]  full=y;

二、相关名词定义

1.DDL(数据库定义语言):包括 create、alter、drop 等。
添加列:

alter table tableName add ( 列名 数据类型[默认值][约束],列名 数据类型...);

删除列:

alter table tableName drop column(列名1,列名2);

修改列名:

alter table tableName rename column oldname to newName;

修改列的其它属性:

alter table tableName modify(列名 数据类型[默认值][约束],列名 数据类型,...);

添加约束:

alter table tableName add 约束名;

删除约束:

alter table tableName drop constraint 约束名;

定义约束,同时给约束添加名称:

create table t_test(
	id number(10) constraint pk_test primary key,name varchar(20)
);

删除表:

drop table tableName;

序列:
概念:用以给某列生成自动增长的(不可重复)一组值
语法:create sequence 序列名[可选参数]
创建序列,默认从1开始,每次递增1;increment by m :每次递增m

maxvalue n; //最大值是n
minvalue m;//最小值是m
start with ... //默认从1开始
increment by ... //默认递增1
cycle/nocycle  //默认不循环
no cache/cache value //默认有缓存,缓存为20

序列使用:
序列名.nextval //获取下一个可用值
序列名.curval //获得当前会话中的序列值(至少执行一次 nextval)
序列删除: drop sequence 序列名

注意
序列一旦被创建,可以在任意表中使用;序列中的值一旦产生,不能重复获取

视图:
概念:是一种虚表(相对的,视图所依赖的表叫基表)

注:视图相当于从表中抽取出的逻辑上相关的数据集合。

创建视图:

create view viewname as select  语句

视图使用(主要是用来做查询的,没有性能优化):

select * from viewname;

删除视图:

frop view viewname;

注:删除只是删除视图的定义,不会删除基表中的数据

查看当前用户的所有视图:

select * from user_views;

查看视图定义语句:

select dbms_metadata.get_ddl('VIEW','viewname') from dual;
select text from all_viewa where view_name='viewname';

索引
为指定的表的指定列创建索引:提高查询效率
创建索引:

create index index_name on tablename(columnname);

使用索引:根据索引指定的列查询时,oracle 数据库会自动应用索引,提高查询效率。

删除索引:

drop index indexname;

注意:
索引类似于字典的目录,用于提高查询效率
索引索引并不是建得越多越好(占用存储空间,添加/修改/删除数据的同时,需要维护索引,消耗时间、内存和 CPU 的资源)
在主键和唯一键上,oracle 会自动创建索引

2.DML(数据操作语言):用于检索或修改数据。包含 insert 、update、delete

注意:
delete 操作:注意子表外键,将外键设置为 null,或删除子表中的数据。

3.DQL(数据查询语言):使用保留字 select、where、order by、group by、having 等。
4.DCL(数据控制语言):用于定义数据库用户权限。关键字 alter password、grant、revoke、create synonym
5.TPL(事务处理语言):确保被 DML 语句影响的表的所有行及时得以更新。

begin transaction,commit,rollback

6.事务
概念:事务是一个原子操作。是一个最小执行单元,由一个或多个 SQL 组成,这 n 条 sql 的执行规则是要么全部执行成功,只要有一个执行失败,就都必须失败。

事务边界:
开始:上一个事务结束后的第一个 DML 语句,开始执行第一个 sql ,事务开启。
提交:
1> 显示提交:commit
2> 隐式提交:rollback ,正常退出命令— sqlplus exit
回滚:
1> 显示回滚:rollback
2> 隐式回滚:非正常退出(断电,宕机)

事务的隔离级别:
无事务
读未提交:read-uncommitted
提交读:read-committed(oracle 默认支持)
可重复读:repeatable-read
序列化读:serializable-read(oracle 支持)
事务的传播属性:

PROPAGATION_REQUIRED   	  -- 支持当前事务,如果当前没有事务,就新建一个事务。父事务与子事务只要有一个失败,就全部回滚。

PROPAGATION_SUPPORTS   	  -- 支持当前事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY  	  -- 支持当前事务,如果当前没有事务,就抛出异常。

PROPAGATION_REQUIRES_NEW  -- 新建事务,如果当前存在事务,把当前事务挂起。父事务与子事务相互独立运行,互不影响。

PROPAGATION_NOT_SUPPORTED -- 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

PROPAGATION_NEVER 		  -- 以非事务方式执行,如果当前存在事务,则抛出异常。

PROPAGATION_NESTED 		  -- 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。


TransactionDefinition接口中定义了五个表示隔离级别的常量:
TransactionDefinition.ISOLATION_DEFAULT:使用后端数据库默认的隔离界别,MySQL默认采用的REPEATABLE_READ隔离级别,Oracle默认采用的READ_COMMITTED隔离级别。
TransactionDefinition.ISOLATION_READ_UNCOMMITTED:最低的隔离级别,允许读取,允许读取尚未提交的的数据变更,可能会导致脏读、幻读或不可重复读。
TransactionDefinition.ISOLATION_READ_COMMITTED:允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。
TransactionDefinition.ISOLATION_REPEATABLE_READ:对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。
TransactionDefinition.ISOLATION_SERIALIZABLE:最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就说,该级别可以阻止脏读、不可重复读以及幻读。但是这将严重影响程序的性能。通常情况下也不会用到该级别。

7.CCL(指针控制语言):
declare cursor,fetch into,update where current 用于对一个或多个表单单独进行的操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值