首页 > 数据库 >IRIS / Chronicles 数据库结构

IRIS / Chronicles 数据库结构

时间:2024-03-27 21:57:18浏览次数:25  
标签:IRIS 定义 数据库 文件夹 Chronicles 我们 上面

对于我们用得最多的关系型数据库来说,首先有的是数据库名字,然后是表名字,然后就是字段名,随后就是一条一条的数据。

对于 IRIS 来说,因为是使用的层级数据库,所以上面的定义就不能完全的照搬了,而且不建议想象成一样,因为我们没有办法最后完全的对应上。

我们最好的是把 IRIS 想想成一个文件存储柜,如下面的图。

上面的柜子的抽屉是一个一个的文件夹,让后文件夹里面夹的是一张一张的纸,纸上面存有我们的数据。

这里有些名词需要重新定义。

第一层 Database(Master file)

IRIS 中定义的数据库不是这一个大柜子,而是我们上面的那个抽屉。

EPIC 上面的抽屉定义了 800 多个,等于你安装一个 EPIC 系统,系统初始化的时候就会有 800 多个数据库帮你初始化了。

EPIC 系统中的数据库使用的是 3 个大写英文字母表示的,这 3 个英文字母在他们的系统中都有特定的意义,所以不能随便修改。

这个数据库的名称,EPIC 称为 INI,其实使用的是英文单词 Initials(简写)的 3 字母表示的。

如果你是使用 Windows 系统的话,我们知道很多系统的配置文件都用 .ini 表示,所以这里需要明确的就是数据库的名称不是系统文件。

第二层 Record

IRIS 定义第二层为 Record,实际上 就是你在每个抽屉中放的一个一个的文件夹。

以病人的病历为例,上面每一个病人就会使用一个文件夹来装病人的数据。

假设你今天来我们医院看病了,但是你从来没有来过,那么我们在你班里手续的时候就会为你创建一个账号,这个账号就是对应这里的 Record, 对应实际的内容就是抽屉里面放的文件夹。

英文在这里会有歧义,如果你对应关系数据库的话, Record 表示的是表中的一条一条的记录。在这里也可以这么想,但因为缺少了一层,所以 Record 的级别提高了。

因此最好不要用关系数据库中的表来对应。

第三层 Contract

当我们有文件夹了,那么下一步就是放一张一张的纸,在这一张一张的纸上面有我们的数据。

那么这一张一张的纸就叫做 Contract。

这个英文单词在这里又有歧义了,因为和中文翻译合同是同一个词。但在这里没有合同的意思,所以只能最好使用英文原词来避免歧义。

第四层 数据 Items

对我们来说最重要和有价值的就是数据了,所以在 Contract 的这张纸上面我们就放的是数据。

对于数据来说,通常我们可以放各种数据,比如说我们在纸上面画一个表对吧。

但 IRIS 在这里就不这样用了,IRIS 只能在纸上面放 K-V 数据库,就等于是一个一个的键值对的意思。

与数据库对应来说就是 Map 了。

在 Map 中的 K,我们通常使用的词是 Key,但 IRIS 用的单词是 Item。

Item

就是定义 Map 中的 Key,通过这个定义来约束 Value 能够存什么样的东西,这个类似我们关系数据库中在表里面定义的字段,通过这个定义的字段来对可以存储的值来进行约束。

Value

这个好说,就是对应我们 Map 中的 Value,这个 Value 就是我们存储具体数据的地方。

对应关系数据库就是我们的一个一个的数据了。

总结

通过对上面的表述,大家应该对 IRIS 是如何对数据存储结构进行表达有所了解了。

https://www.isharkfly.com/t/iris-chronicles/15557

标签:IRIS,定义,数据库,文件夹,Chronicles,我们,上面
From: https://www.cnblogs.com/huyuchengus/p/18100333

相关文章

  • Mysql数据库——高级SQL语句补充
    目录一、子查询——Subquery1.环境准备 2.In——查询已知的值的数据记录2.1子查询——Insert2.2子查询——Update2.3子查询——Delete3.NotIn——表示否定,不在子查询的结果集里3.Exists——判断查询结果集是否为空4.子查询——别名二、视图——View1.视图与表的联......
  • JDBC与数据库连接池
    JDBC1JDBC概述JDBC(JavaDatabaseConnectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API)简单理解为:JDBC,是SUN提供的一套API,使用这套API可以实现对具体数据库的操作(获取连接、关闭连接、DML、DDL、DCL)数据库的驱动:数据库厂商针对于JDB......
  • Qt 操作sql server数据库
    Qt操作sqlserver数据库添加qtsql的库连接数据库QSqlDatabase_db=QSqlDatabase::addDatabase("QODBC");_db.setHostName();_db.setDatabaseName();_db.setUserName();_db.setPassword();_db.setPort();_db.open();增QSqlQueryquery;query.prepare("INSER......
  • RestCloud数据集成平台-监听SqlServer数据库表,并同步数据到MongoDB数据库表详细教程(实
    上一篇:RestCloud数据集成平台-Windows全量包安装部署详细教程1.数据源管理数据源主要用来建立与用户的数据库的链接。数据源管理主要用来对用户添加的所有数据链接进行管理,主要包括新建数据源、测试链接、修改链接、复制链接、查询链接和删除链接等功能。1.1.创建链接......
  • 使用shell生成数据并插入到redis数据库中
    [root@snortredis]#catset.sh#!/bin/bash#Redis服务器地址和端口REDIS_HOST="localhost"REDIS_PORT="6379"REDIS_PASS="123456"#插入的键值对数量NUM_ENTRIES=1000000#插入的键的前缀KEY_PREFIX="testkey"#生成随机字符串的长度RANDOM_STRING_L......
  • oracle 11G 数据库归档日志清理流程。
    oracle11G数据库归档日志清理流程。链接:ORACLE11g数据库归档日志清理规程-百度文库(baidu.com)......
  • 【实战教程】Spring Boot项目集成华为openGauss数据库的关键步骤与注意事项
    引言:随着国产数据库技术的崛起,华为openGauss凭借其高性能、安全可靠及易用性成为了众多开发者的首选方案。本篇技术文章将聚焦于如何在SpringBoot项目中成功集成华为openGauss数据库,并揭示其中的一些关键步骤与注意事项,助您轻松驾驭这一强大的数据库引擎。正文:一、环境准备......
  • 【数据库】如何利用Python中的petl将PostgreSQL中所有表的外键删除,迁移数据,再重建外键
    一、简介在数据库管理中,外键是一种重要的约束,用于确保数据的一致性和完整性。然而,在某些情况下,我们可能需要删除或修改外键。本文将介绍如何使用Python中的petl库将PostgreSQL中所有表的外键删除,迁移数据,并重新建立外键。二、安装petl和psycopg2首先,我们需要安装petl和psycopg2......
  • 数据库三大范式的学习与数据库表设计的了解
    数据库三大范式的学习与数据库表设计的了解内容简单介绍对于数据库三大范式的理解以及一些设计表示要注意的方面本章内容梳理图数据库三大范式比较官方的定义数据库的三大范式(NormalForms)是关系数据库设计中用于确保数据结构化、减少数据冗余、并提高数据完整性的指导和规......
  • redis 数据库一致性策略
    参考常见的缓存更新策略共有3种:CacheAside(旁路缓存)策略;Read/WriteThrough(读穿/写穿)策略;WriteBack(写回)策略;CacheAside(旁路缓存)策略CacheAside(旁路缓存)策略是最常用的,应用程序直接与「数据库、缓存」交互,并负责对缓存的维护,该策略又可以细分为「读策略」和「写策略」......