「荏苒之境」数据库系统是为「荏苒之境」创作者开放的表格资料存放处,可用于存放架空语言词典、架空事件等信息。
为了使用该数据库系统,首先确保您拥有「荏苒之境」统一账号(详见本网站注册说明页),并下载支持 MySQL 或 MariaDB 格式数据库的本地客户端(例如 TablePlus、MySQL Workbench 等)。
本公告将使用 TablePlus 介绍该系统的使用方法,其他数据库客户端操作类似(包括手机版的 TablePlus 或其他移动端应用)。
目录
连接数据库服务器
打开 TablePlus,可见如下引导界面:
点击位于底部的 Create a new connection…(创建一个新的连接),在弹出的菜单中选择 MariaDB,之后在出现的窗口中填入如下信息:
具体而言:
- 主机(Host)文本框中输入「荏苒之境」数据库服务器的地址 db.gilatod.art。端口(Port)保持默认的 3306。
- 用户名(User)和密码(Password)为您的「荏苒之境」统一账号的用户名(通常为名字的小写形式)与密码。
- 数据库(Database)可以留空,在您连接成功后再做选择,也可填入一个连接成功后默认进入的数据库(关于数据库的内容将在后文介绍)。
- 「荏苒之境」数据库强制要求使用加密连接,因此 SSL 模式(SSL mode)需要选为 REQUIRED 或 ENFORCE(强制要求)。
输入完成后点击 Connect(连接)即可登录数据库。
数据库系统的结构
包括「荏苒之境」数据库在内的关系形数据库采用如下结构来组织数据:
- 数据被存放在表格(Table)中,表格的一行称为一条记录。
- 表格本身规定了每一条记录中数据项的个数(即列数),以及每一项数据的格式(文本、数字、日期、文件等等)。
- 表格被存放在若干独立的数据库(Database)中,每一个数据库拥有不同的名称与访问权限。
特别地,在「荏苒之境」数据库系统中,存在如下数据库:
- public:「荏苒之境」公共数据库。在此数据库中任何用户都可创建、修改、删除任何表格或表格中的记录(请不要未经理事会许可大范围删除、修改公共数据库的内容)。
- [用户名]_protected:每位「荏苒之境」用户都拥有一个以自己用户名开头、连接“_protected”后缀的数据库,称为该用户的受保护数据库。只有该用户拥有创建、修改、删除表格与表格记录的权限,其他用户只有浏览权限。
- [用户名]_private:每位「荏苒之境」用户都拥有一个以自己用户名开头、连接“_private”后缀的数据库,称为该用户的私有数据库。每位用户只能查看或修改自己的私有数据库,其他用户无法访问。
受保护数据库可用于存放展示给其他用户的资料(例如公开的词典、架空世界设定),而私有数据库则可用于存放用户私密或正在编写中的资料。
进入数据库
了解了数据库系统的结构以后,数据库客户端的使用方式就变得易于理解了——我们首先应当选择需要进入的数据库(Database)。点击登陆后出现的主界面上方的数据库菜单项:
连接 public 公共数据库:
进入后主界面左侧的 Tables 栏就是所有表格的显示处:
创建表格
在 Tables 上点击右键即可开始新表格的创建流程。数据库系统在创建新的表格时会要求用户指定表格每一列的名称、数据项类型等信息。常见的数据项类型有 TEXT(文本),DATETIME(日期),TIME(时间间隔),BOOLEAN(布尔值,可选值为 true 与 false)等等,具体可查阅 MySQL / MariaDB 数据库教程。
例如,我们可以创建一个人造语言接龙活动的表格(点击下方的 + Column 来加入新的表格列):
具体而言:
- # 代表表格每一列的序号,保持默认即可。
- column_name 表示列的名称。
- data_type 表示该列存放的数据项的类型(见上文)。
- is_nullable 表示数据项是否可以为空(在这里我们要求参与接龙的成员的名称,即“参与者”一列不可为空,其余保持默认可为空)。
- column_default 表示该列数据项的默认值,可按需求选填。
在创建新表格时 TablePlus 客户端为为我们创建一列用来表示记录索引编号的数据项 id,如不需要该项可删除。
到目前为止,我们所做的一切修改都是在本地进行的,尚未同步到服务器——这种模式可以防止我们对数据进行误操作而无法撤回修改)。为了提交修改,需要点击窗口顶部的提交按钮:
这样表格就创建成功了。
向表格添加记录
首先我们可以试着点击列表下方的按钮 + Row 来向表格添加一个空行,并再次点击提交按钮:
服务器会拒绝我们的提交,因为在创建该表格时指定了参与者一列不可为空。填入参与者与其他信息以后再次点击提交:
可以看到该记录变为蓝色,说明记录提交成功。可以继续添加更多数据:
向表格导入数据
如果您有本地的表格数据(例如 Excel 表格)希望导入进数据库,请首先将这些数据导出成 CSV 格式文件(一种纯文本格式的表格文件),接着在数据库客户端中创建对应的表格,创建完成后右键单击表格名,按照图中所示找到导入菜单项:
选中需要导入的 CSV 文件后即可进入导入窗口:
默认情况下,TablePlus 会将 CSV 文件的第一行视为表格每一列的标题名(即图中居中显示的“拼写”与“释义”),并在导入时忽略该行。如果您的 CSV 文件第一行已经是记录本身了,请将下方 First line is header 选项框取消。
在正式导入前我们需要设定 CSV 文件的表格列到数据库内表格列的映射关系:目前导入窗口的两列数据顶部的映射提示是 Do not import,表示该列不会被导入到最终的表格记录中。我们需要将其换成这一列对应的数据库表格列名:
这样,在导入后,CSV 文件中的第一列(即“拼写”)就会对应数据库表格每一条记录中的名称为 spelling 的列,而第二列就会对应到 paraphrase。最后点击 Import 即可完成导入。
「荏苒之境」数据库系统的优势
- 数据库可以存放大量的表格记录并采用各种方式对这些记录进行排序、查找与修改。
- 对表格列类型、可否为空值等信息的指定能够防止错误格式数据的录入。
- 所有表格数据都在每一个连接「荏苒之境」数据库的客户端间实时同步,并可随时导出为 csv 等本地格式。
呈上,
「荏苒之境」理事会。
好耶!