数据发展历程(一)——在DBMS产生前的那些事情

@数据发展历程

首先,谢谢大家翻到这篇文章,这一系列文章是为了自己的一次分享所作的一些记录,如有问题,欢迎随时提出。

文件系统

最初档案学的文件系统是一个与现代计算机的文件系统极其相似的数据管理方式。记录数据的文档被放在放在文件夹中。这些文件夹本身可以放置在其他文件夹中,创建一个终止于包含所有记录和子文件夹的单个目录的层次结构。

穿孔制表机

打孔卡这个最早的数据存储媒介是在1725年由Basile Bouchon发明出来,用来保存印染布上的图案。是一个只记录0/1数据。
打孔卡
但是关于它的第一个真正的专利权,是Herman Hollerith在1884年9月23日申请的。起因是1880年美国人口普查。Dr.Hollerith,也就是IBM的创始者发明了分拣机、制表机和记录机,用打孔卡来记录完整的数据。这个发明用了将近100年,一直用到了20世纪70年代中期。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Oracle 数据库中,可以使用 DBMS_CRYPTO 包来对表中某一列的数据进行加密。下面是一个简单的示例: 1. 创建测试表 ``` CREATE TABLE test_table ( id NUMBER, name VARCHAR2(50), secret VARCHAR2(50) ); ``` 2. 插入测试数据 ``` INSERT INTO test_table VALUES (1, 'Alice', 'my secret message'); INSERT INTO test_table VALUES (2, 'Bob', 'another secret message'); ``` 3. 使用 DBMS_CRYPTO 加密 secret 列 ``` DECLARE v_key RAW(128) := UTL_RAW.CAST_TO_RAW('my secret key'); v_iv RAW(16) := UTL_RAW.CAST_TO_RAW('my initialization vector'); v_secret VARCHAR2(50); v_encrypted RAW(2000); BEGIN FOR row IN (SELECT id, secret FROM test_table) LOOP v_secret := row.secret; v_encrypted := DBMS_CRYPTO.ENCRYPT( UTL_RAW.CAST_TO_RAW(v_secret), DBMS_CRYPTO.AES_CBC_PKCS5, v_key, v_iv ); UPDATE test_table SET secret = UTL_RAW.CAST_TO_VARCHAR2(v_encrypted) WHERE id = row.id; END LOOP; END; ``` 在这个示例中,我们使用 AES 算法和 CBC 模式对 secret 列进行加密。我们需要提供一个密钥和一个初始化向量来执行加密操作。在循环中,我们逐行读取表中的数据,并使用 DBMS_CRYPTO.ENCRYPT 函数对 secret 列进行加密。加密后的数据以 RAW 类型存储在 v_encrypted 变量中,我们将它转换为 VARCHAR2 类型并更新表中的记录。 4. 查询加密后的数据 ``` SELECT * FROM test_table; ``` 现在,我们可以看到 secret 列的数据已经被加密了。 ``` ID NAME SECRET -- ----- ------ 1 Alice 7D16D2B6E5C6B4C5... 2 Bob 3A9F9C9E8CC2EBB8... ``` 请注意,此示例仅用于演示目的,实际上你需要更复杂的逻辑来保护密钥和初始化向量并确保加密操作的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值