当前位置: 首页 > news >正文

【Oracle学习笔记】1.数据库组成对象

在Oracle数据库中,数据库对象是用于存储、管理和操作数据的基本构建块。以下是Oracle数据库中常见的对象类型及其简要说明:

1. 表(Table)

● 定义:表是存储数据的基本结构,由行(记录)和列(字段)组成。
● 作用:用于存储实际数据。
● 示例:

CREATE TABLE employees (employee_id NUMBER PRIMARY KEY,first_name VARCHAR2(50),last_name VARCHAR2(50)
);

2. 视图(View)

● 定义:视图是基于一个或多个表的逻辑查询结果集,不存储实际数据。
● 作用:简化复杂查询、提供数据安全性、实现数据抽象。
● 示例:

CREATE VIEW employee_summary AS
SELECT first_name, last_name FROM employees;

3. 索引(Index)

● 定义:索引是对表中一列或多列的值进行排序的数据结构,用于加快数据检索速度。
● 作用:提高查询性能。
● 示例:

CREATE INDEX idx_employee_name ON employees(last_name);

4. 序列(Sequence)

● 定义:序列是用于生成唯一数字值的对象,通常用于主键列。
● 作用:自动生成唯一值。
● 示例:

CREATE SEQUENCE employee_seq
START WITH 1
INCREMENT BY 1;

5. 同义词(Synonym)

● 定义:同义词是数据库对象的别名,用于简化对象访问。
● 作用:简化对象引用,提高代码可读性。
● 示例:

CREATE SYNONYM emp FOR employees;

6. 存储过程(Stored Procedure)

● 定义:存储过程是一组预编译的SQL语句,存储在数据库中。
● 作用:实现复杂的业务逻辑,提高代码复用性。
● 示例:

CREATE PROCEDURE add_employee (p_first_name VARCHAR2,p_last_name VARCHAR2
) AS
BEGININSERT INTO employees (first_name, last_name)VALUES (p_first_name, p_last_name);
END;

7. 函数(Function)

● 定义:函数是返回单个值的存储程序,可以接受参数。
● 作用:封装计算逻辑,返回结果。
● 示例:

CREATE FUNCTION get_employee_count RETURN NUMBER ASv_count NUMBER;
BEGINSELECT COUNT(*) INTO v_count FROM employees;RETURN v_count;
END;

8. 触发器(Trigger)

● 定义:触发器是与表关联的存储程序,在特定事件(如INSERT、UPDATE、DELETE)发生时自动执行。
● 作用:实现数据完整性、审计、自动化任务。
● 示例:

CREATE TRIGGER before_employee_insert
BEFORE INSERT ON employees
FOR EACH ROW
BEGIN:NEW.hire_date := SYSDATE;
END;

9. 包(Package)

● 定义:包是存储过程、函数、变量等的集合,用于模块化编程。
● 作用:提高代码组织性和复用性。
● 示例:

CREATE PACKAGE employee_pkg ASPROCEDURE add_employee(p_first_name VARCHAR2, p_last_name VARCHAR2);FUNCTION get_employee_count RETURN NUMBER;
END employee_pkg;

10. 物化视图(Materialized View)

● 定义:物化视图是存储实际数据的视图,定期刷新。
● 作用:提高复杂查询的性能。
● 示例:

CREATE MATERIALIZED VIEW employee_summary_mv AS
SELECT first_name, last_name FROM employees;

11. 表空间(Tablespace)

● 定义:表空间是数据库存储的逻辑划分,包含数据文件。
● 作用:管理物理存储。
● 示例:

CREATE TABLESPACE my_tablespace
DATAFILE 'my_datafile.dbf' SIZE 100M;

12. 用户(User)

● 定义:用户是访问数据库的实体,拥有模式(Schema)。
● 作用:管理数据库访问权限。
● 示例:

CREATE USER my_user IDENTIFIED BY my_password;

13. 角色(Role)

● 定义:角色是一组权限的集合,可以分配给用户。
● 作用:简化权限管理。
● 示例:

CREATE ROLE my_role;
GRANT SELECT ON employees TO my_role;

14. 约束(Constraint)

● 定义:约束是用于限制表中数据的规则,如主键、外键、唯一性等。
● 作用:保证数据完整性。
● 示例:

ALTER TABLE employees ADD CONSTRAINT pk_employee PRIMARY KEY (employee_id);

15. 数据库链接(Database Link)

● 定义:数据库链接用于访问远程数据库。
● 作用:实现分布式数据库访问。
● 示例:

CREATE DATABASE LINK remote_db
CONNECT TO remote_user IDENTIFIED BY password
USING 'remote_db_service';

16.层级树状图

在这里插入图片描述


http://www.mrgr.cn/news/93298.html

相关文章:

  • mybatis日期格式与字符串不匹配bug
  • 突破光学成像局限:全视野光学血管造影技术新进展
  • 网络编程之TCP协议
  • YOLOv8改进SPFF-LSKA大核可分离核注意力机制
  • java 查找两个集合的交集部分数据
  • 随机树算法 自动驾驶汽车的路径规划 静态障碍物(Matlab)
  • Qt:事件
  • NUMA架构介绍
  • vulnhub靶场之【digitalworld.local系列】的mercy靶机
  • 深度学习五大模型:CNN、Transformer、BERT、RNN、GAN详细解析
  • 【Embedding】何为Embedding?
  • tomcat的安装与配置(包含在idea中配置tomcat)
  • [mybatis]resultMap详解
  • TrustRAG:通过配置化模块化的检索增强生成(RAG)框架提高生成结果的可靠性和可追溯性
  • 前端权限流程(基于rbac实现思想)
  • 数据结构基础之《(19)—矩阵处理》
  • conda环境搭建记录
  • C++ 测试案例
  • TypeScript(正在修改)
  • 【ORACLE】ORACLE19C在19.13版本前的一个严重BUG-24761824