2024年bestvike study 2--自学数据库(1)

  1. 数据模型:HBase是基于列的存储系统,它是Apache Hadoop生态系统的一部分。它使用相同的 schema-less 模型 as Apache HBase,并且可以与Hadoop的文件存储系统HDFS无缝集成。
  2. 可扩展性:HBase是为大规模数据集设计的,可以轻松地水平扩展以处理更多的数据和流量。
  3. 分布式特性:HBase是一个分布式系统,可以在多个服务器上扩展。它支持自动的分区(region)和副本管理。
  4. 使用场景:HBase适用于需要高吞吐量和实时随机访问的大数据应用,如日志聚合、用户行为分析、实时推荐和大型索引构建。
    **例子1:**移动应用分析 一个移动应用需要分析用户的行为,如点击率、使用时间和偏好。HBase可以用来存储用户的行为数据,每个用户的行为记录作为一个列族存储在HBase中。通过列族,可以快速地查询和分析用户的行为模式,提供实时的用户体验优化。
    **例子2:**大型索引构建 一个搜索引擎需要构建和维护一个大规模的索引,以支持快速的搜索查询。HBase可以用来存储索引数据,每个文档作为一个行存储在HBase中,文档的内容和元数据作为列存储。HBase的高吞吐量和分布式特性使得它非常适合这种需要处理大量数据和快速访问的场景。

总结来说,MongoDB适合需要灵活数据模型的应用,Redis适合需要高性能缓存和即时访问的应用,而HBase适合需要高吞吐量和分布式存储的大数据应用。每种数据库都根据其特性和设计目的有各自的优势和适用场景。

一. 安装配置Oracle(包含卸载

https://zhuanlan.zhihu.com/p/623939015
在这里插入图片描述
Liuzhengwei1234

二. 创建使用数据库Qracle

设置用户唯一的sid
在这里插入图片描述
Liuzhengwei1234
在这里插入图片描述
在这里插入图片描述
Navicat连接Oracle数据库
【navicat】navicat数据连接存放位置: C:\Users\(用户名)\Documents(文档)\Navicat\MySQL\Servers

用navicat连接oracle的时候报错ORA-12541:TNS:no listener

这个没用试了之后不行解决方法
其中修改文件地址是:D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
在这里插入图片描述
完美解决方法结合上面的一起吧
在这里插入图片描述

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

三、认识数据库

0、全局认识Oracle

一个Oracle server是由Oracle实例(instance)和数据库两部分组成的。
   实例 = 内存结构 + 一组后台进程。
   一个Oracle数据库是一个数据单位的集合,目的是为了存储和读取信息。可以分为逻辑结构和物理结构。

在这里插入图片描述
一个表空间只能同时属于一个database。
一个表空间可能包含一个或多个段,但段不能跨越表空间。
换个方式理解:数据库就是一个相片底片,实例就是相纸,一个底片可以冲多个相纸,但一张相纸最多冲一个底片。?
在这里插入图片描述

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

Oracle网络配置

在这里插入图片描述

1、SQL 定义

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

2、SQL 命令类型

在这里插入图片描述

3、基本数据类型

     数据类型用于指定特定所包含数据的规则,决定了数据保存在列里的方式,包括分配给列的宽度,以及值是否可以是字母、数字、日期和时间等。

a、字符串类型

在这里插入图片描述

b、数字类型

在这里插入图片描述

c、日期类型

在这里插入图片描述

d、二进制及大文本数据

在这里插入图片描述

e、NULL 数据类型

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

4、数据库对象

在这里插入图片描述

5、数据完整性约束

在这里插入图片描述
在这里插入图片描述
其中对于外键约束:
外键约束(Foreign Key Constraint)是关系数据库中的一种约束,用于确保表之间的引用完整性。外键约束通过在表中的一列(或列的组合)引用另一个表的主键或唯一键,来建立两个表之间的关联。
假设我们有两个表:orders(订单表)和customers(客户表)。在orders表中,我们有一个列叫做customer_id,这个列用来存储customers表中每个订单对应的客户ID。在这里,customer_id列在orders表中是外键,它引用了customers表的主键id
外键约束的关键特性如下:

  1. 引用完整性:外键约束确保在使用外键的表(称为子表或从表)中的所有外键值都必须在参照表(称为父表或主表)中存在。这意味着,如果你想在orders表中插入一个订单,你必须确保customer_id对应的customers表中有一个有效的客户ID。
  2. 匹配类型:外键约束可以有三种匹配类型:
    • 匹配全列:子表中的所有外键列必须与父表中的所有主键列匹配。
    • 匹配部分列:子表中的外键列只需与父表中的主键列中的一个或几个列匹配。
    • 匹配任意列:子表中的外键列只需与父表中的主键列中的任意列匹配。
  3. 更新规则:外键约束还定义了当父表中的主键值发生变化时,子表中外键的行为。有三种可能的更新规则:
    • 级联更新:如果父表中的主键值发生变化,子表中的外键值也会相应地自动更新。
    • 设置为NULL:如果父表中的主键值发生变化,子表中的外键值将被设置为NULL(前提是外键列允许NULL值)。
    • 限制:如果父表中的主键值发生变化,子表中的外键值将保持不变,这可能导致引用完整性冲突。
  4. 删除规则:外键约束还定义了当父表中的记录被删除时,子表中的相关记录的行为。有三种可能的删除规则:
    • 级联删除:如果父表中的记录被删除,那么子表中所有相关的记录也将被自动删除。
    • 设置为NULL:如果父表中的记录被删除,子表中相关的外键值将被设置为NULL(前提是外键列允许NULL值)。
    • 限制:如果父表中的记录被删除,子表中相关的记录将保持不变,这可能导致孤儿记录或引用完整性冲突。
      外键约束是数据库设计中非常重要的概念,它有助于维护数据的一致性和完整性。在实际应用中,合理地使用外键约束可以避免数据冗余和数据不一致的问题。
CREATE TABLE info(
   id NUMBER(4) PRIMARY KEY,
	 name VARCHAR2(20) not null,
	 age NUMBER(3) constraint ck_age CHECK(age BETWEEN 0 AND 200),
	 sex VARCHAR2(4),
	 email VARCHAR2(30) constraint uk_email UNIQUE,
	 empass VARCHAR2(30) DEFAULT('66666')
)

6、规格化过程(范式)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

么很难做到真正的技术提升。**

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值