企业Oracle1 数据库管理

Oracle的安装

一、基础表的创建

1.1 切换到scott用户

  1. 用sys 账户 登录

image.png

  1. 解锁scott账户
alter user scott account unlock;

conn scott/tiger;

image.png
发现并不存在scott账户,自己创建一个?

  1. 查找资料后发现,scott用户的脚本需要自己执行一下
@C:\app\oracle\product\12.2.0\dbhome_1\rdbms\admin\scott.sql;

image.png

  1. 手动创建了
--sys
CREATE USER c##scott IDENTIFIED BY TIGER;
alter user c##scott identified by TIGER;
GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE, DBA TO c##scott IDENTIFIED BY TIGER;
ALTER USER c##scott DEFAULT TABLESPACE USERS;
ALTER USER c##scott TEMPORARY TABLESPACE TEMP;


--c##scott
DROP TABLE DEPT;
CREATE TABLE DEPT
       (DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
	DNAME VARCHAR2(14) ,
	LOC VARCHAR2(13) ) ;
DROP TABLE EMP;
CREATE TABLE EMP
       (EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
	ENAME VARCHAR2(10),
	JOB VARCHAR2(9),
	MGR NUMBER(4),
	HIREDATE DATE,
	SAL NUMBER(7,2),
	COMM NUMBER(7,2),
	DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);
INSERT INTO DEPT VALUES
	(10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES
	(30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES
	(40,'OPERATIONS','BOSTON');
INSERT INTO EMP VALUES
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP VALUES
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES
(7788,'c##SCOTT','ANALYST',7566,to_date('13-JUL-87')-85,3000,NULL,20);
INSERT INTO EMP VALUES
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP VALUES
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87')-51,1100,NULL,20);
INSERT INTO EMP VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
DROP TABLE BONUS;
CREATE TABLE BONUS
	(
	ENAME VARCHAR2(10)	,
	JOB VARCHAR2(9)  ,
	SAL NUMBER,
	COMM NUMBER
	) ;
DROP TABLE SALGRADE;
CREATE TABLE SALGRADE
      ( GRADE NUMBER,
	LOSAL NUMBER,
	HISAL NUMBER );
INSERT INTO SALGRADE VALUES (1,700,1200);
INSERT INTO SALGRADE VALUES (2,1201,1400);
INSERT INTO SALGRADE VALUES (3,1401,2000);
INSERT INTO SALGRADE VALUES (4,2001,3000);
INSERT INTO SALGRADE VALUES (5,3001,9999);
COMMIT;


1.2 导入数据文件

01_del_data.sql02_hr_cre.sql03_hr_popul.sql

@C:\Users\ifeng\Desktop\guigu\01_del_data.sql;

@C:\Users\ifeng\Desktop\guigu\02_hr_cre.sql;

@C:\Users\ifeng\Desktop\guigu\03_hr_popul.sql;

image.png

二、Oracle 管理

可以用Oracle企业管理器 连接 数据库服务器

image.png

2.1 用户
2.1.0 创建用户
create user ifeng identified by 123456

image.png

2.1.1 概要文件

每个Oracle数据库都有一个默认的资源概要文件,名为DEFAULT
其中的口令 可以 设置 用户密码错误n次口 账户锁定

image.png

image.png

image.png

2.2 对象

每一个登录的账户都是一个用户对象

image.png
未授权的情况下,每个用户只能读取自己的创建的表
授权:

  1. 在Oracle企业管理器 中 找到要管理的用户,
  2. 其他用户(当做一个对象)呈现
  3. 其他对象(用户)的 表 ,给select 权限

image.png

2.2.2 模式

组织数据库 对象(用户)的一个逻辑概念,与数据库对象的物理存储无关
一个模式只能属于一个数据库用户,与用户名相同

从一个模式中引用另一个模式的对象(查询另一个用户的表)
可以用 scott.emp 的形式 ,不同模式的对象名字可以重复

2.2.3 模式对象和非模式对象

可以包含在模式中的对象:

  • 索引
  • 触发器

不属于任何模式的对象:

  • 表空间、
  • 用户账户、
  • 角色、
  • 概要文件
2.2.4 默认表空间

逻辑存储

用户的各种模式对象(表、索引、过程、触发器)都放在表空间中
默认为USERS表空间

2.2.5 临时表空间

大量的查询排序 需要 用到临时表
默认为TEMP表空间

2.2.6 SYSTEM表空间

system表空间用来存储数据库系统信息

  • 表、视图 —数据字典
  • 源代码—函数、触发器

2.3 权限

2.3.1 系统权限

对整个数据库的操作能力
image.png

2.3.2 对象权限

对某个对象(用户、DB的概念)执行的权限
image.png

2.4 角色

利用角色进行管理

很好理解吧,也可以创建自定义的角色

给与用户权限的时候,也可以直接授予 角色
image.png

三、SQL

SQL(Structured Query Language)和 PL/SQL(Procedural Language/Structured Query Language)是用于在 Oracle 数据库中进行编程和查询的不同语言。
下面是它们之间的主要区别:

  1. SQL 是一种用于管理和查询关系型数据库的语言。它用于执行操作,如插入、更新和删除数据,以及查询数据。SQL 主要用于处理数据和执行数据库级别的操作,而不是编写复杂的业务逻辑。
  2. PL/SQL 是 Oracle 数据库提供的过程式编程语言,它结合了 SQL 和通用编程语言的特性。PL/SQL 具有变量、条件控制、循环和异常处理等传统编程语言的功能,同时也可以包含 SQL 语句来操作数据库。它允许开发者编写复杂的业务逻辑、触发器、存储过程和函数等。
  3. SQL 主要用于执行查询和数据操作,它强调对数据进行检索和操纵的能力。SQL 语句可以用于从数据库中获取数据、创建表、定义约束、建立索引等。SQL 是一种声明性语言,您只需指定您需要什么,而不需要关注实现的细节。
  4. PL/SQL 是一种完整的编程语言,它具有流程控制、变量和常量、异常处理等编程语言的特性。PL/SQL 强调编写复杂的业务逻辑,可以将 SQL 语句与程序代码结合起来,实现更灵活和强大的功能。

总结来说,SQL 是一种用于查询和操作数据库的语言,而 PL/SQL 是一种过程式编程语言,它在 SQL 的基础上扩展了更多的编程功能。SQL 主要用于对数据库进行操作,而 PL/SQL 则更适合编写数据库应用程序和处理复杂的业务逻辑。

  • DML : Manipulation 操纵 语言
    • insert、update、delete
    • select
  • DDL : Definition 定义 语言
    • create
    • alter
    • drop
    • create/drop index :在表上创建索引
  • DCL : Control 控制语言
    • Grant/Revoke
    • commit/rollback
    • savepoint
    • Lock:对数据库特定部分进行锁定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/339068.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FDM3D打印系列——宝可梦妙蛙种子

fdm打印妙蛙种子 大家好,我是阿赵。   每次打印3D模型,都有新的感觉,这次打印了个宝可梦里面的妙蛙种子,也就是俗称的蒜头王八。   先来看看成果,然后在后面再聊一下关于3D打印的一些体会。使用创想三维的Sermoon …

Linux内核pinctrl子系统驱动框架

一. 简介 本文简单了解一下Linux内核代码中, pinctrl子系统的驱动实现。 注意:本文会涉及到 Linux 驱动分层与分离、平台设备驱动等还未讲解的知识 ,所以,也不会影响后续的实验。 二. Linux内核pinctrl子系统驱动 1. probe函…

C++笔记之bool类型的隐式转换现象与应用

C++笔记之bool类型的隐式转换现象与应用 —— 《C++ Primer Plus》 文章目录 C++笔记之bool类型的隐式转换现象与应用1.C++中,有几种类型和表达式可以隐式转换为bool类型2.使用explicit关键字来声明显示转换运算符,这样只有在使用static_cast<bool>时才能将对象转换为…

蓝桥杯理历年真题 —— 数学

1. 买不到的数目 这道题目&#xff0c;考得就是一个日常数学的积累&#xff0c;如果你学过这个公式的话&#xff0c;就是一道非常简单的输出问题&#xff1b;可是如果没学过&#xff0c;就非常吃亏&#xff0c;在考场上只能暴力求解&#xff0c;或是寻找规律。这就要求我们什么…

vue中的插槽

在vue中&#xff0c;有的名词听着高大上&#xff0c;挺怪异的&#xff0c;比如插槽&#xff0c;就是slot&#xff0c;它的作用是为了解决组件之间写的内容在组件中的使用问题。 一、插槽的作用 <!DOCTYPE html> <html> <head><title>Vue中的插槽</…

nginx虚拟主机

虚拟主机指的就是一个独立的站点配置&#xff0c;是nginx默认支持的一个功能&#xff0c;它能够有自己独立的域名&#xff0c;独立的ip&#xff0c;独立的端口配置&#xff0c;能够配置完整的www服务&#xff0c;列如网站搭建&#xff0c;邮件服务器代理等等。并且nginx支持多虚…

Macos数据库管理软件:Navicat Premium for Mac 16.3.5中文版

Navicat Premium 16 for Mac是一款强大的数据库管理和开发工具&#xff0c;支持多种数据库系统&#xff0c;如MySQL、Oracle、SQL Server等。它提供了直观的用户界面和丰富的功能&#xff0c;使用户能够轻松地创建、管理和维护数据库。 软件下载&#xff1a;Navicat Premium fo…

【书生·浦语大模型实战营05】《(5)LMDeploy 大模型量化部署实践》学习笔记

《(5)LMDeploy 大模型量化部署实践》 课程文档&#xff1a;《LMDeploy 的量化和部署》 1、大模型部署背景 1.1 模型部署 定义 将训练好的模型在特定软硬件环境中启动的过程&#xff0c;使模型能够接收输入并返回预测结果为了满足性能和效率的需求&#xff0c;常常需要对模型…

web架构师编辑器内容-完成属性设置的优化

对于业务组件来说&#xff0c;其属性是有很多的&#xff0c;如果把所有属性都平铺在页面上&#xff0c;就会非常长&#xff0c;而且想要更改其中的某些属性&#xff0c;可能需要向下滚动很久才能找到&#xff0c;对于UI的交互不是很友好&#xff0c;需要对属性的不同特性进行分…

OpenCompass 大模型评测

OpenCompass 大模型评测 关于测评的三个问题为什么需要测评&#xff1f;我们需要评测什么&#xff1f;怎么测试大预言模型&#xff1f; 主流大模型评测框架OpenCompass能力框架OpenCompass评测流水线设计 随着人工智能技术的快速发展&#xff0c; 大规模预训练自然语言模型成为…

线程同步--生产者消费者模型--单例模式线程池

文章目录 一.条件变量pthread线程库提供的条件变量操作 二.生产者消费者模型生产者消费者模型的高效性基于环形队列实现生产者消费者模型中的数据容器基于生产者消费者模型实现单例线程池 一.条件变量 条件变量是线程间共享的全局变量,线程间可以通过条件变量进行同步控制条件…

Springboot JSP项目如何以war、jar方式运行

文章目录 一&#xff0c;序二&#xff0c;样例代码1&#xff0c;代码结构2&#xff0c;完整代码备份 三&#xff0c;准备工作1. pom.xml 引入组件2. application.yml 指定jsp配置 四&#xff0c;war方式运行1. 修改pom.xml文件2. mvn执行打包 五&#xff0c;jar方式运行1. 修改…

表白墙网站PHP源码,支持封装成APP

源码介绍 PHP表白墙网站源码&#xff0c;适用于校园内或校区间使用&#xff0c;同时支持封装成APP。告别使用QQ空间的表白墙。 简单安装&#xff0c;只需PHP版本5.6以上即可。 通过上传程序进行安装&#xff0c;并设置账号密码&#xff0c;登录后台后切换模板&#xff0c;适配…

HCIA——21C/S、P2P、peer的选择

学习目标&#xff1a; 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议&#xff0c;了解典型网络设备的组成和特点&#xff0c;理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

Java面试题50道

文章目录 1.谈谈你对Spring的理解2.Spring的常用注解有哪些3.Spring中的bean线程安全吗4.Spring中的设计模式有哪些5.Spring事务传播行为有几种6.Spring是怎么解决循环依赖的7.SpringBoot自动配置原理8.SpringBoot配置文件类型以及加载顺序9.SpringCloud的常用组件有哪些10.说一…

Debian11下编译ADAravis和Motor模块的一条龙过程

Debian11编译EPICS ADAravis记录 一年前整理的上面文&#xff0c;这几天重新走了一遍&#xff0c;有些地方会碰到问题&#xff0c;需要补充些环节&#xff0c;motor模块以前和areaDetector一条龙编译时&#xff0c;总是有问题&#xff0c;当时就没尝试了&#xff0c;这几天尝试…

C#串口通讯控制4路继电上位机

C#串口通讯控制4路继电上位机 界面如下 源码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;//引入空间 using System.Windows.Forms; using System.I…

通过Stable Diffusion生成虚假的遥感影像

简介 这两天玩了一下stable diffusion&#xff0c;是真的好玩&#xff01; 然后我在想遥感有没有相关的生成模型&#xff0c;找了一下&#xff0c;还真找到了&#xff08;https://github.com/xiaoyuan1996/Stable-Diffusion-for-Remote-Sensing-Image-Generation/tree/main&a…

spark 入门教程

一、安装scala环境 官网下载地址 Download | The Scala Programming Language,本次使用版本为sacla2.11.12,将压缩包解压至指定目录&#xff0c;配置好环境变量&#xff0c;控制台验证是否安环境是否可用&#xff1a; 二、添加pom依赖 创建一个maven项目 1、添加scala的sdk依…

详细分析Java中Service报NullPointerException的相关知识(实战Bug)

目录 前言1. 问题所示2. 基本知识3. 原理分析 前言 在Java中&#xff0c;NullPointerException是一种常见的运行时异常&#xff0c;通常发生在尝试访问或操作一个空对象引用&#xff08;null reference&#xff09;时 1. 问题所示 在操作代码的时候&#xff0c;浏览器报服务…