您的位置:首页 > 数据库 > Oracle

Oracle入门

2018-01-10 08:59 323 查看
一. Oracle基本介绍

1. 什么时候用Oracle数据库?

SQL SERVER 号称百万级数据(一个表的数据),但是其实做多20万条数据

超过20万条数据就用Oracle

 

2. Oracle的版本

         Oracle8i/9i(internet)基于网络的;

         Oracle10g/11g基于网络,oracle10g/11g
(grid)基于网格的,它的客户端就是个web程序了,可以在IE里打开的:oracle->Database
Control - orcl点下就会在IE中打开,如果找不到地址就是没开动OracleDBConsoleorcl服务(DBC控制器),该功能就相当于SQL
Server;

         orcale12c;

3. Oracle 12c --oracle 11g的升级版,应用服务器方面,很炫,但对初学者来说,然并卵

4. 

二.启动的服务

    1.//oracle核心服务

        OracleServiceORCL

       2.  //oracle监听服务

        OracleOraDb11g_home1TNSListener

       3.//oracle数据库工作日程调度,没有工作日程安排不用启动,占资源

         OracleJobSchedulerORCL

 

二. Oracle默认的账户scott

   密码:tiger(安装时设置)

   他下面存在几个常用的表:emp,dept,salgrade等表 

 

三.Sql与Oracle最大的不同:

    Sql中可以随时随意的创建数据库;

    但Oracle只有一个数据库,一台电脑只会安装一个数据库。

Oracle只有创建账户,

 

四.账户、表空间、数据库

   案例:两个同学创建2个不同的数据库

这两个同学都要在Oracle中找自己的数据库,刚说了一个Oracle只有一个数据库,怎么办?为两个同学各创建一个账户,给账户开辟数据库空间----表空间(TableSpace)。

表空间代替了数据库,创建数据库就是开辟账户空间。

注意:Oracle为A账户开辟个空间,为B账户开辟个空间,请问A和B是不是在用同一个数据库?

      不同账号之间能不能互访?

      同一个数据库;不能互访,除非开了访问权限

 

五. 创建数据库和账户

        数据库

            物理的:数据库文件.dbf;
日志文.log; 控制文件.ctl;

            虚拟的:表空间(可以用户开辟)

        问先创建表空间还是账户?

            答:先创建表空间,再给用户

 

       关于账户

      Sys、system管理员账户,在装软件时就已分配好的,因此可以用这账户开辟空间。

         Scott(释放账户:给我们看和用的)密码是tiger。

         注意:千万不要去改这账户和密码,全球都是一样的。(最好不要改,以防装逼失败,无法进入数据库)

 

       关于账户登录

       可以用sys或system管理员账号登录,也可以用scott账户登录

 1.在开始菜单中选择oracle目录--应用程序开发--sql
plus

         2.在cmd状态下,直接通过命令sqlplus来登录。

当然cmd下的用户界面差,我们用PL-SQL第三方来操作oracle,但是不能说sqlplus就不用了,以后在unix下面就只能用sqlplus写代码,比较悲催

 

 

思考:

A.管理员账户可以调用一般账户的表吗?

select * from scott.emp;

        答:可以

B.一般账户可以调一般账户的表吗?

答:授权之后才可以访问

C.代表代码写完的标志是?

‘;’,用分号代表代码写完了,可以执行

D.模式是什么?

                模式是账户的另一个名称

                比如scott就是一个账户,比如其它的对象就是个模式

                每个对象都是个模式

 

六.创建表空间

基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间。

 

创建表空间的语法:

      create tablespace 表空间名

          例:

             Create tablespace ts_1

             Datafile ’e:111.dbf’  --数据库文件地址

             Size 100M         --文件初始值大小

             --只要以上三行就行了

             autoextend on next 32 maxsize unlimited

    logging

    extent management local

    segment space management auto;

 

 七. My Objects(我的对象)

Functions 函数-

   Procedures 存储过程-

   Packages 包-

   Package bodies 包体-

   Types 类型-

   Type bodies 类型体-

   Triggers 触发器-

   Java sources

   Jobs 工作

   Queues 队列

   Queue table 队列表格

   Libraries

   Directories

   Tables 表格-

   Views 视图-

   Materialized views

   Sequences 序列-

   Users 用户-

   Profiles 控制文件-

   Reles 角色-

   Synonyms 同义词-

   Database links

   Tablespaces 表空间-

   Clusters

八.给表空间分配账户,给账户角色授权

   1.首先创建账户,指定访问表空间,但是未给它赋值任何权限,登录时是等不了的!

              Create user 用户名

              identified by 123

              Default tablespace 表空间  --指定改用户管理的表空间

    案例:create user u_dml

          identified by 123

          Default tablespace ts_1

  2.给账户授予角色

   (把账户和角色分清楚)

    角色:李鹏飞是个学生
角色:学生

    账户:李鹏飞是个学生
账户:李鹏飞

    角色分类:

            Connect:临时用户角色

            Resource:正式用户角色

            DBA:管理员(一般不用)

    授予角色:

      Grant  connect , resource  to 账户

    撤销角色:

      Revoke connect,resource  from
账户

    删除(撤销)用户:

      DROP USER 用户名

      DROP user  用户名 CASCAED

      --CASCAED表示删除用户的同时删除其建立的实体

    操作授权:

      案例:将查询scott用户的stu表的权限授予test用户

           Grant select on scott.stu to test

 

 

 

九.建表

          建的表都在tables里面

          两种建表方式:

1.视图

2.代码

 Create table tb_1(

Sid number,   --int类型用number

Sname varchar2(20)
--没有varchar

Sex  varchar2(4)

);

 

 表中的约束写法

    PK

    FK

    default

    unique

    check

    not null

--查看表中的数据

 Select *from tb_1;

 

问:Orecle中有没有表示列?

   oracle没有表示列,不过有一个替代品(触发器+序列)

--插入数据

Insert into tb_1(sid,sname,sex)

Values(10,’张天’,’男’)

 

--视图版的创建表

--视图版的添加表:

  右击Tables--新建--主键:在键里,名称自己取,类型primary,选定哪个列做主键,联合主键就选两个,请问有几个主键?1个主键,多个联合主键

删除列:右侧的减号

--怎么把建表的脚本给我?

  右下角--view SQL

--建完表后点“应用”

 

--指定表和字段的注释

COMMENT ON TABLE PET IS ‘宠物’;

COMMENT  on  COLUMN pet.name is’宠物昵称’

注意:不要物理删除硬盘上的dbf文件,oracle启动时到时找不到文件,oracle也启动不了,需要重装oracle。

删用户:

  Drop user 用户名;

删表空间:

Drop tablespace 表空间;

视图也可以删,但别去无聊操作,要用就用代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: