元数据/元数据形式
外观
< 元数据
某些社区(例如数据库管理员)更关注另一种类型的元数据:结构化元数据。这种类型的元数据记录了数据如何构建和存储。
例如,一家商店可能会保留一个数据库来跟踪客户在杂货上花费了多少钱。在这种情况下,我们知道客户姓名将始终是字符字符串,并且他们花费的金额将始终是正数。知道这一点,我们就可以建立一个更有效地存储数据的数据库。在创建数据库时,他们可能会发出类似以下的命令
CREATE TABLE purchases(
purchase_id UNSIGNED INTEGER,
customer_name VARCHAR(50),
amount_spent UNSIGNED INTEGER,
purchase_date TIMESTAMP,
PRIMARY KEY (customer_id)
);
这为我们的数据库表建立了一个模式 - 一组约束。以下是一些约束
purchase_date
必须以 SQL 的timestamp
格式。如果有人尝试输入Last Tuesday
作为交易的purchase_date
,数据库将抛出错误,但会接受2020-02-14 09:22:15
。- 客户在购买期间不能花费负数,因为
amount_spent
列只允许具有UNSIGNED INTEGER
类型的值,这些值必须为正数。 - 由于
VARCHAR(50)
类型在customer_name
列中仅允许 50 个字符的数据,因此名称很长的客户可能会发现他们的姓名在数据库中被缩短。
数据库使用一段时间后,我们可能在表中看到以下内容
purchase_id (UNSIGNED INTEGER) | customer_name (VARCHAR(50)) | amount_spent (UNSIGNED INTEGER) | purchase_date (TIMESTAMP) |
---|---|---|---|
1 | Ashok Kumar | 2784 | 2020-02-14 09:22:15 |
2 | 洪吉东 | 3516 | 2020-02-14 09:30:02 |
3 | Joe Borg | 499 | 2020-02-14 09:31:43 |
4 | 以色列以色列 | 2495 | 2020-02-15 09:00:04 |
就其本身而言,值499
、洪吉东
、4
和2020-02-14 09:22:15
毫无意义。但是,我们输入的结构化元数据使我们能够定义、解释、维护和有效地存储表中的数据。
令人困惑的是,结构化元数据有第二个定义。在数字图书馆社区,术语结构化元数据经常用于指代一种特定类型的描述性元数据,即描述特定通信的物理和/或逻辑结构的元数据。例如,如果一个数字图书馆项目创建了某本书所有页面的数字图像,那么结构化元数据将记录页面的顺序,以及可能记录每个章节或部分从哪一页开始。