标签: metadata

如何记录Oracle数据库?

我是 Oracle 数据库的新手。我已经习惯了 SQL Server 和表和列的描述字段 (MS_Description) 用于文档目的。Oracle 是否有等价物?记录 Oracle 数据库的最佳实践是什么?

oracle documentation metadata

7
推荐指数
2
解决办法
3623
查看次数

MySQL元数据函数在查询中获取投影列类型?

是否可以从 MySQL查询中获取字段类型,就像使用SHOW COLUMNS命令从表中获取它一样?例如从派生表中,

SELECT x -- presumedMetaFn(x) -- returns "int"
FROM (
  SELECT 1 AS x
  UNION SELECT 2
) AS t;
Run Code Online (Sandbox Code Playgroud)

鉴于上述查询,是否有一个函数或其他东西可以用来获取 x 的类型?PostgreSQL 通过系统信息函数提供此功能pg_typeof

SELECT x, pg_typeof(x)
FROM ( VALUES (1),(2) ) AS t(x);
 x | pg_typeof 
---+-----------
 1 | integer
 2 | integer
(2 rows)
Run Code Online (Sandbox Code Playgroud)

我不是在表上寻找元数据,而是从查询结果中寻找元数据。 随着psqlPostgreSQL的11+,这也可以通过运行\gdesc查询后。

mysql metadata

7
推荐指数
1
解决办法
2万
查看次数

在 Postgres 表和列上跟踪我自己的自定义元数据

有什么方法可以将我自己的元数据添加到Postgres 中的表和列中,例如短文本的键值对?

我正在从另一个数据库系统迁移表、列和数据。另一个系统具有在 Postgres 不匹配的表和列上定义的属性。例如,在其他数据库系统中,可以为每个表分配一种颜色,用于数据库结构的图形显示,例如CUSTOMER_表为绿色,INVOICE_表为红色。

所以我想要一种方法来跟踪我的 Postgres 数据库中的这些属性设置,这样我的 Java 应用程序就可以通过 JDBC 查询自定义元数据。

SET attribute ?

我注意到:

ALTER TABLE … SET ( attribute_option = value [, ... ] )
Run Code Online (Sandbox Code Playgroud)

…和…

ALTER TABLE … ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] )
Run Code Online (Sandbox Code Playgroud)

的文档ALTER TABLE并没有真正解释这些属性的作用。我可以创建自己的属性名称以用作映射到我自己的元数据值的键吗?

或者是否有其他方法可以让 Postgres 记住我自己的自定义元数据?

Comment

我想一种解决方法可能是将键值对作为文本嵌入每个表和列上的COMMENT属性。看起来有点像黑客,有点乱,因为我经常使用 COMMENT 将业务规则记录为散文。但我想它会起作用。有没有更好的方法来记住每表和每列的属性?

Extended Properties Microsoft SQL Server 的

显然,MS SQL Server 为此类元数据提供了“扩展属性”功能。说明这里对堆栈溢出,并在这里对微软文档 …

postgresql metadata postgresql-9.6

7
推荐指数
1
解决办法
2366
查看次数

了解 Oracle 的 ALL_TAB_COLUMNS

我是 Oracle 和数据库管理的新手。

作为上下文,我想创建一个 Java 类,该类将为我提供使用DESC SOME_TABLE.

我在 Java 中找不到任何特定的方法来做到这一点,但是我发现这ALL_TAB_COLUMNS可以给我类似的信息。我在 SQL Developer 中尝试过,看看输出有多大不同。事实证明,结果与我预期的大不相同。

我希望有人可以引导我了解如何解释以下内容:

desc SOME_TABLE;

select 
       COLUMN_NAME
     , DATA_TYPE
     , DATA_LENGTH
     , NULLABLE
  from ALL_TAB_COLUMNS
 where TABLE_NAME='SOME_TABLE'
 order by column_id;
Run Code Online (Sandbox Code Playgroud)

给出输出:

Name            Null    Type
--------------- ------- ----------------------
UIDPK                   NUMBER(20)
NAME                    VARCHAR2(255)

2 rows selected

COLUMN_NAME      DATA_TYPE     DATA_LENGTH    NULLABLE
--------------- -------------- -------------- -------- 
UIDPK            NUMBER        22              N
UIDPK            NUMBER        22              N
UIDPK            NUMBER        22              Y
NAME             VARCHAR2      255             N
NAME             VARCHAR2      255             Y
NAME             VARCHAR2      255 …
Run Code Online (Sandbox Code Playgroud)

oracle metadata information-schema

6
推荐指数
1
解决办法
3万
查看次数

user_users 中的用户密码到期日期为空?

是否可以在不询问 DBA 的情况下找到我的密码到期日期?

我的用户没有查看DBA_USERS表的权限。另外,我试过select * from USER_USERS桌子,但它expiry_date是空的。

oracle metadata

6
推荐指数
1
解决办法
6万
查看次数

object_id 的唯一性级别是什么?

SQL Server 中 object_id 的唯一性级别是什么?我的意思是,这个值是不是每个数据库、每个实例、每个服务器都是唯一的,...此外,当我在另一个服务器或实例中恢复数据库时会发生什么?如果我从脚本而不是备份创建数据库,那么 object_id 会发生什么?

sql-server metadata

6
推荐指数
1
解决办法
2337
查看次数

如何访问sql索引的文本定义

我能够从 sys.sql_modules 访问存储过程、视图、触发器和函数的文本定义。我想获取索引的文本定义。

如何获取 SQL Server 中索引的文本定义?

index sql-server metadata

6
推荐指数
1
解决办法
7876
查看次数

Netezza:什么模式包含所有系统表/视图?

是否有我可以查看的模式或我可以运行的查询来查看所有 Netezza 系统或元数据表?

我知道_v_table_v_view_v_relation_column,和_v_groupusers。我知道还有很多其他的,我想要一个最终的清单。每个文件的文档也很好,但我只会列出一个列表。

我查看了如何列出 netezza 系统表/视图?但我正在寻找系统表列表。该问题的作者希望提取有关其系统上表的特定元数据。

metadata netezza system-tables

6
推荐指数
1
解决办法
2万
查看次数

将 [是主键列] 添加到此查询

我做了这个查询,列出表、它的列、数据类型等:

select t.name as 'Table',
       c.name 'Column',
       ty.name 'Data_Type',
       c.max_length as 'Max_Lenght',
       c.is_nullable as 'Null',
       c.is_identity as 'Identity'
from sys.tables t
    join sys.columns c on t.object_id=c.object_id
    join sys.types ty on c.system_type_id=ty.system_type_id
        order by 1 
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

问题 1:

如何'Is primary key?'向其中添加列?我找不到可以帮助我的表(我看了看sys.indexes, sys.foreign_keys, INFORMATION_SCHEMA.table_constraints)。

问题 2:

在 中sys.columns,int 值具有max_lenghtas 4,还有一些其他字段。这是什么4?每个数据 4kb?datetime还有decimal

谢谢。

sql-server metadata sql-server-2014

6
推荐指数
1
解决办法
455
查看次数

判断用户自定义类型是否为ENUM

有没有办法确定 PostgreSQL 中的用户定义类型是否是 ENUM?

基本上我们有以下几点:

CREATE TYPE foo AS ENUM (
  'Sometimes',
  'You',
  'Wanna',
  'Go',
  'Where Everybody Knows Your Name'
);
Run Code Online (Sandbox Code Playgroud)

通过以下方式实例化的表:

CREATE TABLE bar (
  lyrics foo DEFAULT 'Wanna'::foo
);
Run Code Online (Sandbox Code Playgroud)

我能够foo从列中确定的类型lyrics,但是,我无法找到确定是否foo是 ENUM 的方法。

对于上下文,我需要此信息以编程方式获取foo给定lyrics.

postgresql metadata enum user-defined-type

6
推荐指数
2
解决办法
737
查看次数