oracle数据库的使用

article/2025/9/29 5:26:32

文章目录

  • 1.Oracle 的表空间分类
    • 1.1永久表空间
    • 1.2临时表空间
    • 1.3创建永久表空间命令
  • 2 、创建用户
    • 2.1 通过 PL/SQL Developer 工具创建用户
  • 3 分配用户权限
    • 3.1对象权限(Object privileges)
    • 3.2角色权限(Role privileges)
    • 3.3系统权限(System privileges)
  • 4 分配链接权限
  • 5 分配系统权限
  • 6、oracle的连接配置
    • 6.1 文件位置
    • 6.2 sqlnet.ora
    • 6.3 tnsnames.ora
      • 6.3.1ORCL
      • 6.3.2PROTOCOL
      • 6.3.3HOST
      • 6.3.4PORT
    • 6.4 listener.ora
      • 6.4.1LISTENER
      • 6.4.2PROTOCOL
      • 6.4.3HOST
      • 6.4.4PORT
  • 7、 Net Configuration Assistant 工具
    • 7.1 配置监听程序
    • 7.2 Oracle 本地网络服务配置
      • 7.2.1配置本地网络服务要求:
      • 7.2.2配置方式
  • 8、Oracle 基本操作
    • 1 Oracle 中的数据类型
    • 1.1 字符类型
      • 1.1.1 CHAR 类型
      • 1.1.2 VARCHAR2 类型
      • 1.1.3 NVARCHAR2 类型
    • 1.2数字类型
      • 1.2.1 NUMBER 类型
      • 1.2.2 INTEGER 类型
    • 1.3浮点数
      • 1.3.1 BINARY_FLOAT 类型
      • 1.3.2 BINARY_DOUBLE
    • 1.4日期类型
      • 1.4.1 DATE 类型
      • 1.4.2 TIMESTAMP 类型
      • 1.4.3 TIMESTAMP WITH TIME ZONE 类型
      • 1.4.4 TIMESTAMP WITH LOCAL TIME ZONE 类型
    • 1.5 LOB 类型
      • 1.5.1 CLOB 类型(Character Large Object)
      • 1.5.2 BLOB 类型(Binary Large Object)
      • 1.5.3 NCLOB 数据类型
    • 1.6 LONG & RAW & LONG RAW 类型
      • 1.6.1 LONG 类型
      • 1.6.2 LONG RAW 类型
      • 1.6.3 RAW 类型
  • 2 在 Oracle 中创建表
    • 2.1 Oracle 表名命名规则
  • 3 数据库中的约束(未完待续)
    • 3.1 定义
    • 3.2 分类
      • 3.2.1 主键约束
      • 3.2.2外建约束
      • 3.2.3 check约束
      • 3.2.4 default 约束
      • 3.2.5 unique(唯一约束)
      • 3.2.6 not null 约束
  • 4 数据库中的表关系
    • 4.1 定义
    • 4.2 实现方式
    • 4.3 分类
      • 4.3.1 一对一
      • 4.3.2 一对多
      • 4.3.3 多对多

1.Oracle 的表空间分类

1.1永久表空间

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存
放在指定的表空间中。但主要存放的是表,所以称作表空间。

1.2临时表空间

Oracle 临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因
是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间。

1.3创建永久表空间命令

create tablespace 永 久 表 空 间 名 称 datafile ' 永 久 表 空 间 物 理 文 件 位 置 ' size 15M
autoextend on next 10M permanent online;      autoextend on next 10M 表示表空间大小如果超过15M则自动扩容10M,autoextend on next 10M 表示永久的意识

记住oracle的安装目录,创建表空间需要用户目录
在这里插入图片描述
创建永久表空间,位置在oracle安装目录下
在这里插入图片描述
在这里插入图片描述
当我们创建用户时,选则自己创建的表空间,此时的用户创建的表和表中的数据都在自己创建的表空间里
临时表空间不需要创建
注:创建表空间需要在sys和system用户下创建表空间,普通用户没有权限

2 、创建用户

2.1 通过 PL/SQL Developer 工具创建用户

在这里插入图片描述
注意:需要sys用户登陆数据库
在这里插入图片描述

登陆用户
在这里插入图片描述
缺少会话的权限,没有权限,需要分配连接权限
在这里插入图片描述

3 分配用户权限

在这里插入图片描述

3.1对象权限(Object privileges)

对象权限是指在指定的表,视图,序列上制定执行动作的权限或权利。(表和视图序列存储过程都称为数据库对象)

3.2角色权限(Role privileges)

角色是可以授予用户的相关权限的组,该方法使权限的授予,撤回更加容易管理。

3.3系统权限(System privileges)

为用户分配创建表、创建用户、创建视图、创建存储过程等权限。

4 分配链接权限

为当前用户分配一个 connect 链接角色,connect表示链接
在这里插入图片描述

5 分配系统权限

创建表的时候提示没有权限,需要创建系统权限
在这里插入图片描述
设置权限
在这里插入图片描述

在这里插入图片描述

此时创建表后提交,发现继续报错:提示用户对表空间无权限
在这里插入图片描述
添加不限制表空间
在这里插入图片描述
设置用户全部权限,可以给用户dba角色
在这里插入图片描述

6、oracle的连接配置

6.1 文件位置

Oracle 目录\product\11.2.0\dbhome_1\NETWORK\ADMIN
在这里插入图片描述

6.2 sqlnet.ora

名称解析。通过这个文件来决定怎么样找一个连接中出现的连接字符串。
如:sqlplus bjsxt/oracle@orcl
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

在这里插入图片描述

6.3 tnsnames.ora

用在 oracle client 端,用户配置连接数据库的别名参数,就像系统中的 hosts 文件一样。
在这里插入图片描述

6.3.1ORCL

客户端连接服务器端使用的服务别名。注意一定要顶行书写,否则会无法识别服务别名。

6.3.2PROTOCOL

客户端与服务器端通讯的协议,一般为 TCP,该内容一般不用改。

6.3.3HOST

ORACLE 服务器端 IP 地址或者 hostname。确保服务器端的监听启动正常。

6.3.4PORT

数据库侦听正在侦听的端口,此处 port 的值一定要与数据库侦听正在侦听的端口一样。

6.4 listener.ora

用在 oracle server 端,可配置 Oracle 的监听端口

6.4.1LISTENER

监听名称,可以配置多个监听,多个监听的端口号要区分开来。

6.4.2PROTOCOL

监听协议,一般都使用 TCP 。

6.4.3HOST

本机 IP 地址或者 localhostname。

6.4.4PORT

监听的端口号。

7、 Net Configuration Assistant 工具

7.1 配置监听程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.2 Oracle 本地网络服务配置

7.2.1配置本地网络服务要求:

1,防火墙需要关闭
2,相互是可 ping 通的

7.2.2配置方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

8、Oracle 基本操作

1 Oracle 中的数据类型

1.1 字符类型

字符串数据类型还可以依据存储空间分为固定长度类型(CHAR) 和可变长度类型
(VARCHAR2/NVARCHAR2)两种。

1.1.1 CHAR 类型

CHAR 类型,定长字符串,会用空格填充来达到其最大长度。非 NULL 的 CHAR (12)
总是包含 12 字节信息。一个汉字是3个字节,CHAR 字段最多可以存储 2,000 字节的信息。如果创建表时,不指定 CHAR 长度,则默认为 1。

1.1.2 VARCHAR2 类型

变长字符串,与 CHAR 类型不同,它不会使用空格填充至最大长度,一个汉字是3个字节,VARCHAR2 最多可以存储 4,000 字节的信息。

1.1.3 NVARCHAR2 类型

这是一个包含 UNICODE 格式数据的变长字符串。无论是汉字和其他类型,都是统一的格式,一个表示一个字符, NVARCHAR2 最多可以存储 4,000字节的信息。

1.2数字类型

1.2.1 NUMBER 类型

NUMBER(P,S)是最常见的数字类型。
P 是 Precision 的英文缩写,即精度缩写,表示整数的位数,最多不能超过 38 个有
效数字。
S 是 Scale 的英文缩写,表示小数点数字的位数。
例如:
a、number(4,3)是表示这个数一共有4位是有效位,后面的3表示有3个是小数也就是这个数,只能是1.234,这样格式的最大只能是9.999,
b、number(3,4) 表示这个数,有效位数是3位。但是有四位小数,也就是只能是这个格式0.0123最大只能是0.0999;
c、number(3,-3) 就是这个数有效位数一共3位,如果是正3,则是3位小数。如果是负数的话就是3位整数,也就是123这个格式,最大只能是999.
d、还有这样的number(2,-3) 就是这个数的有效位数是2位 但是有三位整数 所以只能是230 这样的 最大是990;

1.2.2 INTEGER 类型

INTEGER 是 NUMBER 的子类型,它等同于 NUMBER(38,0),用来存储整数。若插
入、更新的数值有小数,则会被四舍五入。

1.3浮点数

1.3.1 BINARY_FLOAT 类型

BINARY_FLOAT 是 32 位、 单精度浮点数字数据类型。可以支持至少 6 位精度,每个
BINARY_FLOAT 的值需要 5 个字节,包括长度字节。

1.3.2 BINARY_DOUBLE

BINARY_DOUBLE 是为 64 位,双精度浮点数字数据类型。每个 BINARY_DOUBLE
的值需要 9 个字节,包括长度字节。

1.4日期类型

1.4.1 DATE 类型

DATE 是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数
字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。为每个日期值, Oracle
存储以下信息: 世纪、 年、 月、 日期、 小时、 分钟和秒。一般占用 7 个字节的存储空
间。

1.4.2 TIMESTAMP 类型

这是一个 7 字节或 12 字节的定宽日期/时间数据类型。它与 DATE 数据类型不同,因为
TIMESTAMP 可以包含小数秒,带小数秒的 TIMESTAMP 在小数点右边最多可以保留 9 位。

1.4.3 TIMESTAMP WITH TIME ZONE 类型

这是 TIMESTAMP 类型的变种,它包含了时区偏移量的值。

1.4.4 TIMESTAMP WITH LOCAL TIME ZONE 类型

将时间数据以数据库时区进行规范化后进行存储

1.5 LOB 类型

1.5.1 CLOB 类型(Character Large Object)

二进制数据,存储单字节和多字节字符数据。最大长度 4G。

1.5.2 BLOB 类型(Binary Large Object)

它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件。最大长度 4G。

1.5.3 NCLOB 数据类型

存储 UNICODE 类型的数据 ,最大长度 4G。

1.6 LONG & RAW & LONG RAW 类型

1.6.1 LONG 类型

它存储变长字符串(超长字符串),最多达 2G 的字符数据(2GB 是指 2 千兆字节, 而不
是 2 千兆字符)。

1.6.2 LONG RAW 类型

能存储 2GB 的原始二进制数据,可存放多媒体图象声音等。

1.6.3 RAW 类型

用于存储二进制或字符类型数据,必须制定长度。这种数据类型存储的数据不会发生字
符集转换。可存放多媒体图象声音等。

2 在 Oracle 中创建表

2.1 Oracle 表名命名规则

必须以字母开头
长度不能超过 30 个字符
避免使用 Oracle 的关键字
只能使用 A-Z、a-z、0-9、_#$
2.2使用带有特殊符号的表名
Oracle 在创建表时,表名会自动转换大写。Oracle 对表名大小写不敏感。
如果在定义表名时含有特殊符号,或者用小写字母来定义表名则需要在表名两侧添加双
引号。

3 数据库中的约束(未完待续)

3.1 定义

对一个表中的属性操作的限制叫做约束

3.2 分类

3.2.1 主键约束

不允许重复元素,不能为空,避免了数据冗余

3.2.2外建约束

保证事物所关联的其他事物一定是存在的,事物与事物之间的关系是通过外建来体现的

3.2.3 check约束

限制某一个值,在某一范围之内,保证事物属性的取值在合法的范围之内

  create table student (student_id  int primary key,stu_sal int check (stu_sal >=1000 and stu_sal <= 8000)

3.2.4 default 约束

保证事物属性一定会有一个值,不给该属性取值时,系统会自动给该属性取默认值

create table student 
(student_id int primary key stu_sal int check  (stu_sal >=1000 and stu_sal <= 8000)stu_sex  char(1) default '男')insert into student(stu_id,stu_sal) values (1,100) 性别没有插入,此时执行默认值为男

3.2.5 unique(唯一约束)

保证了事物属性不允许重复,但允许为空

  create table student (student_id  int primary key,stu_sal int check (stu_sal >=1000 and stu_sal <= 8000)stu_sex  char(1) default '男'stu_name varchar2(200) uniqueinsert into student2 values (1,6000,‘男’,‘张三’) 
insert into student2 values (2,6000,‘男’,‘张三’)  --error,违反了唯一性约束
insert into student2 values (null,6000,‘男’,‘王五’)  --error,主键不能为空
insert into student2 values (null,6000,‘男’,‘ ’)  唯一建能为空注:stu_name varchar2(200) unique not null  unique和not null 约束可以组合使用

唯一约束和主键约束的区别
不要用业务逻辑当主键
用一个编号当主键,把哪个本来可以当主键的当做唯一建,不需要用业务逻辑当主键

create table student4 (student_id  int primary key identitystu_name  varchar2(50)  unique not nullstu_email  varchar2(50)  not nullstu_address varchar2(50) )

3.2.6 not null 约束

要求用户必须为该属性赋一个值,否则语法出错

  create table student (student_id  int primary key,stu_email  varchar2(50)  not null,stu_name varchar2(200) unique,stu_sal int check (stu_sal >=1000 and stu_sal <= 8000)stu_sex  char(1) default '男'insert into student5 values (1,hb.qq.com,zhangshan,6000)    --error  有默认值也需要附值insert into student5 (stu_id,stu_email,stu_name,stu_sal) values (1,hb.qq.com,zhangshan,6000)  正确写法insert into student5 values (stu_id, stu_email,stu_sal)values(3,'hb.qq.com',5000) --ok
select * from student5 返回直:3,hb.qq.com,null,5000,男
如果一个字段不写null,也不写not null则默认是null,即默认值允许为空可以不给该字段赋值

null 和 default区别
相同点:都允许用户不赋值
不同点:null修饰的字段如果用户不赋值则默认null。default修饰的字段如果用户不赋值则默认是default指定的值

表和约束的区别
数据库是通过表来解决存储问题
数据库是通过约束来解决事物的取直的有效性和合法性
建表的过程就是指定事物属性及其事物属性各种约束的过程

4 数据库中的表关系

4.1 定义

表和表之间的联系

4.2 实现方式

通过设置不同形式的外建来体现表和表不同关系

4.3 分类

4.3.1 一对一

既可以把表A的主键充当表B的外建
也可以把表B的主键充当表A的外建

4.3.2 一对多

把表A的主键充当表B的外键或则讲:表A表的主键添加到B表的外键,在多的一方添加外键
在这里插入图片描述

4.3.3 多对多

班级 老师
学生 老师

一个班级对应多个老师,一个老师对应多个班级
一个学生对应多个老师,一个老师对应第一个学生

在这里插入图片描述
创建表

班级表 --
create table banji 
( banji_id  int primary key banji_num int not nullbanji_name varchar2(200))--教师表
create table jiaoshi
(jiaoshi_id  int primary key jiaoshi_name   varchar2(200))--第三张表,用来模拟班级和教师关系
create table banji_jiaoshi_mapping
(banji_id  int constraint fk_banji_id foreign key references banji(banji_id)
jiaoshi_id int forign key references jiaoshi(jiaoshi_id),
kecheng varchar(20),
constraint pk_banji_id_jioashi_id primary key(banji_id,jiaoshi_id,kecheng)  班级id和教师id和课程组合为主键

http://chatgpt.dhexx.cn/article/w73cDFuM.shtml

相关文章

oracle入门学习

一、oracle课程介绍 Oracle是当今世界最强大的数据库软件。 二、oracle安装 准备安装程序 Oracle 10g setup.exe 1、oracle的启动 三种方式&#xff1a; 1、计算机管理工具——服务——打开oracle相关服务配置。 2、将一下脚本程序更改为.bat文件 Sc start”OracleOraDb…

菜鸟教程网oracle,Oracle数据库入门教程 Oracle数据库菜鸟教程

Oracle数据库&#xff0c;可以说是数据库界的老大了。只要你是对数据库感兴趣&#xff0c;或者说是想要从事数据库方面的工作的话&#xff0c;你都需要去了解接触一下oracle数据库的一些知识。但是对于很多刚刚开始学习oracle数据库的朋友来说&#xff0c;想要入门还是需要有一…

Oracle数据库安装教程--Oracle19c DataBase

#注意声明&#xff1a;本文继续留给有需要的Oracle开发学习者使用&#xff0c;作者将不再继续解答Oracle相关的问题。 首先&#xff0c;下载Oracle安装包的压缩文件 访问Oracle官网&#xff08;https://www.oracle.com/index.html&#xff09;下的数据库下载地址&#xff1a; …

Oracle数据库教程(一)

目录&#xff1a;导读 一、简介二、数据类型常用数据类型 三、数据定义建表约束 四、数据操纵增加数据删除数据修改数据查询语句数据提交/回退 五、SQL操作符算术操作符比较操作符逻辑操作符连接操作符操作符优先级 一、简介 Oracle 数据库是 Oracle&#xff08;中文名称叫甲骨…

Oracle数据库安装教程

一、安装前准备 1.在官网下载oracle数据库的安装包。&#xff08;官方下载地址为&#xff1a;https://www.oracle.com/database/technologies/oracle-database-software-downloads.html&#xff09; 2.需要注意的是下载安装包时File1和File2都需要下载。下载会出现登录界面&am…

Oracle数据库基础入门

Oracle数据库基础入门 一&#xff0c;了解Oracle数据库 1.1 什么是数据库 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库 1.2 常见的数据库 Oracle&#xff0c;MySQL&#xff0c;DB2&#xff0c;SQLserver等 1.3 DBMS数据库管理系统 数据库管理系统(Data…

oracle数据库菜鸟入门

所有应用软件之中&#xff0c;数据库可能是最复杂的。 MySQL的手册有3000多页&#xff0c;PostgreSQL的手册有2000多页&#xff0c;Oracle的手册更是比它们相加还要厚。 但是&#xff0c;自己写一个最简单的数据库&#xff0c;做起来并不难。Reddit上面有一个帖子&#xff0c;…

Oracle 学习(一)入门

一、学习目标 Oracle介绍Oracle安装Oracle体系结构Oracle与PL/SQL是什么关系DML、DQL、DCL、DDL基本查询条件查询单行函数多行函数 二、Oracle介绍 Oracle &#xff1a;关系型的数据库 &#xff0c; 端口号&#xff1a;1521 &#xff0c;收费&#xff08;学习是免费的&#…

oracle入门教程

推荐一个Oracle入门学习教程 点击下面链接进入自学网站 学习网站:http://www.51zxw.net/study.asp?vip16229363 点击图片箭头所指按钮——请点击进入学习 在下面方框里面搜索Oracle 第一个搜索结果就是小姐姐Oracle视频讲解课程 入门教程部分 永久表空间 存储数据库中需要永…

Oracle数据库 - 安装教程

前言&#xff1a;初次使用Orcale&#xff0c;安装并使用自己感觉好痛苦&#xff0c;不断试错&#xff0c;经验分享&#xff0c;少走弯路 一天阅读上百个网页是小事 下载 官网&#xff1a;项目客户要求Oracle Database 19c Enterprise Edition 19.3.0.0.0 &#xff08;自己用建…

在Windows 10系统下安装Oracle 11g数据库

1.准备工作 (1)去官网https://www.oracle.com下载Oracle数据库&#xff0c;具体操作看图&#xff1a; ①把官网设置为中文 ②找到专门下载数据库专栏 ③详细下载过程&#xff0c;本次安装Oracle 11g(32位)数据库&#xff0c;数据库多少位数都可以&#xff0c;也就是说3…

Oracle数据库入门教程(作者原创)

文章目录 Oracle 是什么常规命令基础表查询SQL基础&#xff0c;约束,表关系表之间的关系SQL语言基础Oracle简单查询语句函数及分组Oracle高级查询语句最后 Oracle 是什么 Oracle系统&#xff0c;即是以Oracle关系数据库为数据存储和管理作为构架基础&#xff0c;构建出的数据库…

Oracle数据库教程

原文连接&#xff1a;https://www.w3cschool.cn/oraclejc/oraclejc-eswu2qqq.html Oracle数据库教程 Oracle数据库是什么&#xff1f;数据文件&#xff08;dbf&#xff09;表空间用户 数据库和实例1 Oracle数据库1.1 物理存储结构1.2 逻辑结构 2 Oracle实例主要的Oracle数据库的…

Rational Rose

rational Rose 是一种建模工具&#xff0c;它可以在Rose建模中提供建立、视图、修改和操作组件的能力。 Rose 运行环境。 ——windows NT ,Windows 95 ——UNIX&#xff08;Solaris ,HP/UX ,ALX ,DEC Unix&#xff09; Rose 支持Unified&#xff0c;Booch ,OMT标记法 …

Rational Rose 使用技巧

1、浏览区 2、菜单项 其中Format选项中&#xff1a; 决定各项是否显示&#xff0c;也可以通过右击—option选择 3、常用快捷键&#xff1a; F1&#xff1a;任何时候都可以按F1获得相关帮助&#xff0c;把鼠标放在某条菜单上按F1可以获得这条菜单的相关帮助。 F2&#xff1a;刷新…

安装rational rose软件教程

一、下载相关文件 二、安装DAEMON Tools Lite 按照正常的安装流程开始安装 路径选择自己想要的路径&#xff0c;直到弹出许可证选择同意就好了。 三、安装rational rose 打开DAEMON Tools Lite软件&#xff0c;并点击“快速装载” 然后选择rational rose的映像文件 在下方就…

使用Rational Rose绘制各种图

发生了一件事&#xff1a;论文中需要绘制几种图 我感觉&#xff1a;以前没有学好也没有太大的关系&#xff0c;现在用中学自己需要的部分&#xff0c;效率特别高。我不反对以后会有用的这句话&#xff0c;但相比于眼前就有用或是未来肯定有用的&#xff0c;我自然优先选择后者…

Rational Rose 7.0安装及科学使用教程

Rational Rose 7.0科学的使用 Rational Rose 7.0安装及科学使用教程下载安装挂载镜像准备安装开始安装前序工作正式安装安装完毕 Rational Rose 7.0安装及科学使用教程 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水…

Rational Rose2007的安装

UML:统一建模语言(Unified Modeling Language&#xff0c;UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言&#xff0c;是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具&#xff0c;独立于任何具体程序设计语言。 我们用rational rose2…

Rational rose 2007 下载和安装教程

文章目录 Rational rose 简介一&#xff0c;下载Rational rose 2007二&#xff0c;安装Rational rose 2007三&#xff0c;激活Rational Rose 2007四&#xff0c;启动Rational Rose 2007 Rational rose 简介 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视…