Oracle教程-01

Posted 程序缘之家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle教程-01相关的知识,希望对你有一定的参考价值。

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

数据库通常分为层次式数据库、网络式数据库和关系式数据库三种;

不同的数据库是按不同的数据结构来联系和组织的。

将反映和实现数据联系的方法称为数据模型。

层次结构模型实质上是一种有根结点的定向有序树,按照层次模型建立的数据库系统称为层次模型数据库系统;

按照网状数据结构建立的数据库系统称为网状数据库系统;

关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式),由关系数据结构组成的数据库系统被称为关系数据库系统。

 

数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。

它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

用户通过DBMS访问数据库中的数据。数据库管理系统是数据库系统的核心,是管理数据库的软件。

数据库的概念

 1,   起源,发展,现状

1977年,Oracle 诞生了,它是使用汇编语言开发的,但它的出现并没有引起太多的关注

1982年,Oracle公司推出了Oracle 3,这是第一个能够运行在大型和小型机上的关系型数据库

1997年,Oracle公司又推出了基于Java语言的Oracle 8

2001年6月,Oracle公司发布了Oracle 9i

2007年7月12日,Oracle公司推出Oracle 11g,Oracle 11g中的“g”代表“网格”


Oracle数据库系统主要包含以下4个特点

支持大数据库、多用户、高性能的事务处理

数据安全性和完整性方面性能优越

网格计算

具有可移植性、可兼容性






 2,  数据库的类型 :

     1,关系型数据库 oracle数据库  mysql SQLServer   DB2,SyBase。

    如何选择数据库:


    


3,数据库开发语言:

  DCL,DML,DDL,DQL,TCL


数据定义(Data Definition Language,DDL)

用于创建、修改和删除数据库对象,如CREATE TABLE、ALTER TABLE、DROP TABLE等。DDL语句会自动提交事务

数据操纵语言(Data Manipulation Language,DML)

用于操纵数据库,包括INSERT、UPDATE、DELETE、SELECT等

数据控制语言(Data Control Language,DCL)

用于执行授予权限和撤销权限的操作,包括GRANT(授予权限)、REVOKE(撤销权限)两条命令。DCL语句会自动提交事务 

事务控制语言(Transactional Control Language,TCL)

用于维护数据的一致性,包括COMMIT(提交事务)、ROLLBACK(回滚事务)和SAVEPOINT(设置保存点)3条语句


oracle数据的安装和配置



1,服务器端

    解锁scott账号密码tiger

    sys用户 超级管理员权限最高他的角色DBA

    system用户系统管理员 角色dbaoper 

    sys和system比较

    sys具有create database权限,而system没有 其他功能类似,在日常对oracle管理过程中

    使用system就够了


  Oracle 11g数据库的组成

Oracle的整体架构:

Oracle教程-01

上图示;

一般Oracle数据库管理系统由:实例和数据库两部分组成。

 



1、数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);

Oracle数据库由操作系统文件组成,这些文件也称为数据库文件,为数据库信息提供实际物理存储区。

Oracle数据库包括逻辑结构和物理结构。数据库的物理结构包含数据库中的一组操作系统文件。

数据库的逻辑结构是指数据库创建之后形成的逻辑概念之间的关系,如表、视图、索引等对象。

 

2、实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区。

 

Oracle可以创建多个oracle数据库,一个oracle数据库将又由实例和数据库构成。如默认安装时创建的orcl数据库外还可再创建其它数据库。创建的数据库将在$oracleHome/oradata/数据库名 目录下以一个个的*.DBF文件体现出来。


  oracle 数据库后台服务的介绍

    xxxListener

    xxxService

    OracleServiceOrcl 数据库服务

    创建一个数据库就会有一个数据库名称的服务,


  Oracle 11g数据库服务

Oracle * VSS Writer Service -- Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。(非必须启动)

 

OracleDBConsole* -- Oracle数据库控制台服务;在运行Enterprise Manager(企业管理器EM)的时候,需要启动这个服务;此服务被默认设置为自动开机启动的(非必须启动)

 

OracleJobScheduler* -- Oracle作业调度服务。此服务被默认设置为禁用状态(非必须启动)

 

OracleMTSRecoveryService -- 服务端控制。该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。恢复、闪回需要开启该服务(非必须启动)

 

OracleOraDb11g_home1ClrAgent -- Oracle数据库.NET扩展服务的一部分。 (非必须启动)

 

OracleOraDb11g_home1TNSListener -- 监听器服务,服务只有在数据库需要远程访问或使用SQL Developer等工具的时候才需要,此服务被默认的设置为开机启动(非必须启动)

 

OracleService* -- 数据库服务,是Oracle核心服务该服务,是数据库启动的基础, 只有该服务启动,Oracle数据库才能正常操作。此服务被默认的设置为开机启动。(必须启动)





    

2,客户端:

  命令行: sqlplus, 

  图形:sqldeveploper,pl/sql devploper

  

SQL Plus 设置与常用命令

 显示设置

-- 设置每行显示的最长字符数

set linesize 120

 

-- 设置一页显示的行数

set pagesize 20

 

-- 设置是否显示一页的记录数

set feedback on/off

 

-- 打开或取消oracle自带的输出方法dbms_output,并输出内容

set serveroutput on/off

 

-- 格式化列的内容:将列名对应的列的值格式化为四位数值长度

col 表中对应的列名 for 9999

column 表中对应的列名 format 9999

 

【示例】

-- 表明将empno列名对应的列值格式为4位长度的数值型

col empno for 9999 

 

-- 格式化列的内容:将列名对应的列的值格式化为10位字母长度

col 表中对应的列名 for a10

 

【示例】

-- 表明将ename列名对应的列值格式为10位长度的字符型

col ename for a10

  常用命令

   

命令

说明

show all

查看系统所有变量值

show user

显示当前连接用户

show error

显示错误

desc 表名

显示表的结构;如:desc emp

/* */

--

多行注释

单行注释

/

执行缓冲区中的语句

ed

打开默认编辑器,Windows系统中默认是notepad.exe,把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑(如果提示没有afiedt.buf请使用管理员身份打开SLQ Plus);常用于语句比较长需要修改时。

spool off

假脱机命令;将命令行的内容(从设置后开始的命令行内容)记录到文本。添加append的意思是在原有的文本内容上追加后续的命令行的内容;需要注意的是所有的这些内容都将在spool off之后才记录。如:

spool d:\itcast\itcast.txt

spool d:\itcast\test.sql append

spool off

clear screen 或者 host cls

清屏

exit

退出SQL Plus


 1,链接数据库 

    超级管理员(sys)登录 链接后面必须加上as sysdba

    用户名:sys as sysdba;

    密码;xxx

    普通用户: conn 用户名/密码;

 2,显示当前用户 show user;

 3, 修改用户名的密码

       alter user 用户名 identified by 新密码; 

    如果账号已经锁定:

    alter user 用户名identified by 密码 account unlock;

  4,接触用户锁定

1)不登陆方式启动。

在命令控制符窗口中键入sqlplus /nolog

      2) 使用connect命令以sysdba身份连接数据库

    connect  / as sysdba

    3) 如果要锁定帐户

    alter user username account lock

    4) 对应的,解锁帐号

    alter user username account unlock


  5,创建表空间

create tablespace  表空间名称 datafile ‘表空间文件路径’ size 64M autoextend  on next 扩展大小 maxsize 最大大小;

不指定maxsize,则不限制

解释oracle数据库和其他数据库表空间的概念

  6,创建用户

    create user 用户名 identified by 密码 default tablespace 表空间名称;

  7,用户授权

       一般新用户赋予权限 connect, create any view (创建视图),resource

       grant connect,resource to 用户名;  --表示把 connect,resource权限授予指定用户

    grant dba to 用户名;  --表示把 dba权限授予给news用户

    收回权限:

    revoke  [<权限> | <角色>] from<用户>;

8,数据库:导出 导入

导出

–Exp 用户名/密码@数据库实例 file=D:\文件名.dmp full=y

–用户模式:

–Exp 用户名/密码@orcl file=D:\文件名.dmp owner=用户名

–表导出:

– exp 用户名/密码@数据库实例   file=D:\文件名.dmp  tables=(表1,表2) 

导入

–imp 用户名/密码@数据库实例 file=D:\文件名.dmp full=y ignore=y

–用户模式:

–imp 用户名/密码@orcl file=D:\文件名.dmp fromuser=用户名  touser=用户名

–表导入:

– imp 用户名/密码@数据库实例   file=D:\文件名.dmp  owner=用户名 tables=(表1,表2) 



图形化客户端配置

PL/SQL Deveploper


配置oracle环境变量

•ORACLE_HOME----D:\app\Administrator\product\11.2.0\dbhome_1

•TNS_ADMIN-----D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN

–NLS_LANG-----SIMPLIFIED CHINESE_CHINA.ZHS16GBK

PL/SQL客户端配置




数据库的设计

以网络购物商城为例

实体;  客观存在并可相互区别的事物


实体可以是具体的人、事、物,如一名学生、一门课程等;也可以是抽象的概念或联系,如一次选课、一场竞赛等。


属性(Attribute):实体所具有的一组特征或性质。

域(Domain):属性的取值范围。

键(Key):唯一标识实体的属性集称为键或关键字。工号就是职工实体的键。


实体间的关系

一对一联系     人和身份证

一对多联系     员工和公司,出版社和图书

多对多联系     学生和课程,订单和商品


E-R图-->数据库关系模型

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型


ER图中有如下四个成分:

矩形框:表示实体,在框中记入实体名。

菱形框:表示联系,在框中记入联系名。

椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。

连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。)


作图步骤

(1)确定所有的实体集合;

(2)选择实体集应包含的属性;

(3)确定实体集之间的联系;

(4)确定实体集的关键字,用下划线在属性上表明关键字的属性组合;

(5)确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型


软件PowerDesigner设计数据库

 使用PD设计E-R模型


关系模型生成数据库sql语句:

–配置所需生成数据库DBMS。

•此处选择oracle11g。

•操作步骤为:PowerDesigner→Database(数据库)→Change Current DBMS(改变当前DBMS),选择oracle11g 。

–由物理模型生成数据库。

•操作步骤为:PowerDesigner→Database(数据库)→Generate Database(生成数据库),即生成oracle数据库表结构的创建代码。


以上是关于Oracle教程-01的主要内容,如果未能解决你的问题,请参考以下文章

oracle教程

Linux服务器搭建Oracle 12c数据库 详细安装教程

实战篇:Oracle 配置透明网关访问 MySQL 详细教程

实战篇:Oracle 配置透明网关访问 MySQL 详细教程

03.风哥Oracle数据库入门必备Linux基础系列视频教程(Oracle零基础教程)

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33