企业Oracle1 数据库管理

news2025/1/12 12:24:57

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:对数据库特定部分进行锁定

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring:StopWatch

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、输出总耗时 二、输出所有任务的耗时和占比 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、输出总耗时 public void stopWatc…

【web 编程技术】基于 B/S 架构的电商平台(java web)

基于 B/S 架构的电商平台(java web) 课程设计实验目的课程设计实验环境课程设计功能概述课程设计需求分析三层架构图功能列表系统用例图系统活动图-用户端需求分析 课程设计详细设计实现过程数据库BaseServlet 的实现商品显示模块-分页显示所有商品、查看…

【网站项目】基于SSM的274办公自动化管理系统

🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

安全防御-基础认知

目录 安全风险能见度不足: 常见的网络安全术语 : 常见安全风险 网络的基本攻击模式: 病毒分类: 病毒的特征: 常见病毒: 信息安全的五要素: 信息安全的五要素案例 网络空间&#xff1a…

flutter项目怎么判断是不是web平台?Unsupported operation: Platform._operatingSystem

如果你使用Platform 这个工具来判断的时候,很有可能会报错: Exception caught by widgets library The following UnsupportedError was thrown building MyApp(dirty): Unsupported operation: Platform._operatingSystem The relevant error-causin…

关于索引的最常见的十道面试题

面试题一:索引底层如何实现的? MySQL索引的底层实现是取决于存储引擎的,但是是大部分存储引擎底层都是通过B树实现的,以默认的存储InnoDB为例,底层就是通过B树实现的,如下图所示: B树是一种自平…

为什么C++17要引入std::string_view?

目录 1.引言 2.原理分析 2.1.结构 2.2.构造函数 2.3.成员函数 2.4.std::string_view字面量 3.实例 3.1.std::string_view和std::string的运算符操作 3.2.查找函数使用 3.3.std::string_view和临时字符串 4.总结 1.引言 在C/C日常编程中,我们常进行数据的…

elastic search入门

参考1:Elastic Search 入门 - 知乎 参考2:Ubuntu上安装ElasticSearch_ubuntu elasticsearch-CSDN博客 1、ElasticSearch安装 1.1安装JDK,省略,之前已安装过 1.2创建ES用户 创建用户:sudo useradd esuser 设置密码&…

多线程编程1

一、线程的引入 上节,我们介绍了进程的概念,以及操作系统内核是如何管理进程的(描述组织),PCB中的核心属性有哪些, 引入进程这个概念,最主要的目的,就是为了解决“并发编程”这样的…

机器学习周记(第二十六周:文献阅读-DPGCN)2024.1.15~2024.1.21

目录 摘要 ABSTRACT 1 论文信息 1.1 论文标题 1.2 论文摘要 1.3 论文背景 2 论文模型 2.1 问题描述 2.2 论文模型 2.2.1 时间感知离散图结构估计(Time-aware Discrete Graph Structure Estimation Module,TADG Module) 2.2.2 时间…

【Linux】grub命令行引导进入系统

文章目录 1.grub命令行界面2.设置启动目录3.chainloader加载windows启动文件4.启动5.grub命令行无响应办法 在卸载Linux系统后,有的小白可能会忘记删除Linux的EFI引导。这样的话,下次开机时就会自动进入grub的命令行,连windows系统都进不去了…

C++入门学习(八)sizeof关键字

sizeof 是 C 和 C 中的一个运算符&#xff0c;用于确定特定类型或对象的内存大小&#xff08;以字节为单位&#xff09;。 1、查看数据类型占据内存大小 #include <iostream> using namespace std; int main() {short a 1;int b 1;long c 1;long long d 1;cout<…

Dubbo 的心脏:理解和应用多种协议【十三】

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Dubbo 的心脏&#xff1a;理解和应用多种协议【十三】 前言<dubbo:protocol> 基础<dubbo:protocol> 的定义和作用微服务中协议的重要性支持的协议类型配置示例 配置基本配置参数高级配置选…

配置DNS主从服务器,实现真反向解析

主服务器 [rootbogon ~]# systemctl stop firewalld.service #关闭防火墙 [rootbogon ~]# setenforce 0 #关闭selinux [rootbogon ~]# systemctl restart named #启动dns服务 [rootbogon ~]# vim /etc/named.conf #进入dns配置文件 options {#监听…

2024年开年的荣誉--来自国产数据库

上周在北京参加了阿里云的开发者大会&#xff0c;我因为去年做了一点小贡献。非常荣幸的获得了阿里云的MVP的这个殊荣。&#xff08;期间也认识了一些大神级的人物&#xff09;还有就是一些网上认识的打卡们线下见面。 这个也是我一直追求的荣誉。 几乎在同时P&#xff08;Ping…

力扣hot100 找到字符串中所有字母异位词 滑动窗口 双指针 一题双解

Problem: 438. 找到字符串中所有字母异位词 文章目录 思路滑动窗口 数组滑动窗口 双指针 思路 &#x1f469;‍&#x1f3eb; 参考题解 滑动窗口 数组 ⏰ 时间复杂度: O ( n ) O(n) O(n) &#x1f30e; 空间复杂度: O ( 1 ) O(1) O(1) class Solution { // 滑动窗口 …

基于STM32CubeMX创建FreeRTOS—以STM32F429为例

目录 1. 实验任务 2. 使用STM32CubeMX创建基础工程 2.1 打开STM32CubeMX 2.2 创建新项目 2.3 时钟设置 2.5 修改时钟基准&#xff0c;打开串行调试 2.6 配置串口 2.7 配置状态指示灯 2.8 FreeRTOS 2.9 配置工程输出项 3. 代码编辑 3.1 printf重映射 3.1.1 使用ARM…

资产及价值导入

文章目录 1 Introduction2 Code3 Summary 1 Introduction We will implement the following fuction for importing asset value . In the code we introduce that how to transfer value for BAPI. 2 Code DATA: key TYPE bapi1022_key,generaldata …

ROS第 13 课 TF 坐标系广播与监听的编程 实现

文章目录 第 13 课 TF 坐标系广播与监听的编程 实现1.机器人的坐标变换2.创建功能包3.编程方法3.1 编写广播和监听程序3.2 运行程序 第 13 课 TF 坐标系广播与监听的编程 实现 1.机器人的坐标变换 在进行编程前&#xff0c;先需要了解机器人的坐标变换。这里以运行海龟案例来…

洛谷-P1002-[NOIP2002 普及组]-过河卒

[NOIP2002 普及组] 过河卒 题目描述 棋盘上 A A A 点有一个过河卒&#xff0c;需要走到目标 B B B 点。卒行走的规则&#xff1a;可以向下、或者向右。同时在棋盘上 C C C 点有一个对方的马&#xff0c;该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为…