Repository: atlas Updated Branches: refs/heads/master 76a201708 -> 82bf78cca
ATLAS-2709: added model for RDBMS types Signed-off-by: Madhan Neethiraj <mad...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/5f503c15 Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/5f503c15 Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/5f503c15 Branch: refs/heads/master Commit: 5f503c157cb626b24be99e87648f7efd0d50d2e5 Parents: 76a2017 Author: Barbara Eckman <barbara_eck...@cable.comcast.com> Authored: Fri May 25 16:45:31 2018 -0700 Committer: Madhan Neethiraj <mad...@apache.org> Committed: Fri May 25 23:20:31 2018 -0700 ---------------------------------------------------------------------- addons/models/2000-RDBMS/2010-rdbms_model.json | 597 ++++++++++++++++++++ 1 file changed, 597 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/atlas/blob/5f503c15/addons/models/2000-RDBMS/2010-rdbms_model.json ---------------------------------------------------------------------- diff --git a/addons/models/2000-RDBMS/2010-rdbms_model.json b/addons/models/2000-RDBMS/2010-rdbms_model.json new file mode 100644 index 0000000..7d1747b --- /dev/null +++ b/addons/models/2000-RDBMS/2010-rdbms_model.json @@ -0,0 +1,597 @@ +{ + "enumDefs": [], + "structDefs": [], + "classificationDefs": [], + "entityDefs": [ + { + "name": "rdbms_instance", + "description": "Instance that the rdbms server is running on", + "superTypes": ["DataSet", "Asset"], + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "rdbms_type", + "typeName": "string", + "isOptional": false, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": true + }, + { + "name": "platform", + "typeName": "string", + "isOptional": false, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": true + }, + { + "name": "cloudOrOnPrem", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "hostname", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "port", + "typeName": "int", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "protocol", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "contact_info", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "comment", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "databases", + "typeName": "array<rdbms_db>", + "isOptional": true, + "cardinality": "SET", + "isUnique": false, + "isIndexable": false, + "constraints": [ + { + "type": "ownedRef" + } + ] + } + ] + }, + { + "name": "rdbms_db", + "description": "a database (schema) in an rdbms", + "superTypes": ["DataSet", "Asset"], + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "prodOrOther", + "typeName": "string", + "isOptional": false, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": true + }, + { + "name": "instance", + "typeName": "rdbms_instance", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false, + "constraints": [ + { + "type": "inverseRef", + "params": { + "attribute": "databases" + } + } + ] + }, + { + "name": "contact_info", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "tables", + "typeName": "array<rdbms_table>", + "isOptional": true, + "cardinality": "SET", + "isUnique": false, + "isIndexable": false, + "constraints": [ + { + "type": "ownedRef" + } + ] + } + ] + }, + { + "name": "rdbms_table", + "description": "a table in an rdbms database (schema)", + "superTypes": ["DataSet", "Asset"], + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "db", + "typeName": "rdbms_db", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false, + "constraints": [ + { + "type": "inverseRef", + "params": { + "attribute": "tables" + } + } + ] + }, + { + "name": "name_path", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "createTime", + "typeName": "date", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "comment", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "type", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "contact_info", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "valuesMinCount": 1, + "valuesMaxCount": 1, + "isUnique": false, + "isIndexable": false + }, + { + "name": "columns", + "typeName": "array<rdbms_column>", + "isOptional": true, + "cardinality": "SET", + "isUnique": false, + "isIndexable": false, + "constraints": [ + { + "type": "ownedRef" + } + ] + }, + { + "name": "indexes", + "typeName": "array<rdbms_index>", + "isOptional": true, + "cardinality": "SET", + "isUnique": false, + "isIndexable": false, + "constraints": [ + { + "type": "ownedRef" + } + ] + }, + { + "name": "foreign_keys", + "typeName": "array<rdbms_foreign_key>", + "isOptional": true, + "cardinality": "SET", + "isUnique": false, + "isIndexable": false, + "constraints": [ + { + "type": "ownedRef" + } + ] + } + ] + }, + { + "name": "rdbms_column", + "description": "a column in an rdbms table", + "superTypes": ["DataSet", "Asset"], + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "data_type", + "typeName": "string", + "isOptional": false, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": true + }, + { + "name": "length", + "typeName": "int", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "default_value", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "comment", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "table", + "typeName": "rdbms_table", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false, + "constraints": [ + { + "type": "inverseRef", + "params": { + "attribute": "columns" + } + } + ] + }, + { + "name": "isNullable", + "typeName": "boolean", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "isPrimaryKey", + "typeName": "boolean", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + } + ] + }, + { + "name": "rdbms_index", + "description": "An index on an RDBMS table", + "superTypes": ["DataSet", "Asset"], + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "table", + "typeName": "rdbms_table", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false, + "constraints": [ + { + "type": "inverseRef", + "params": { + "attribute": "indexes" + } + } + ] + }, + { + "name": "index_type", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "isUnique", + "typeName": "boolean", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "columns", + "typeName": "array<rdbms_column>", + "isOptional": true, + "cardinality": "SET", + "isUnique": false, + "isIndexable": false + }, + { + "name": "comment", + "typeName": "string", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + } + ] + }, + { + "name": "rdbms_foreign_key", + "description": null, + "superTypes": ["DataSet", "Asset"], + "typeVersion": "1.0", + "attributeDefs": [ + { + "name": "table", + "typeName": "rdbms_table", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "key_columns", + "typeName": "array<rdbms_column>", + "isOptional": true, + "cardinality": "SET", + "isUnique": false, + "isIndexable": false + }, + { + "name": "references_table", + "typeName": "rdbms_table", + "isOptional": true, + "cardinality": "SINGLE", + "isUnique": false, + "isIndexable": false + }, + { + "name": "references_columns", + "typeName": "array<rdbms_column>", + "isOptional": true, + "cardinality": "SET", + "isUnique": false, + "isIndexable": false + } + ] + } + ], + "relationshipDefs": [ + { + "name": "rdbms_instance_databases", + "typeVersion": "1.0", + "relationshipCategory": "AGGREGATION", + "endDef1": { + "type": "rdbms_instance", + "name": "databases", + "isContainer": true, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "rdbms_db", + "name": "instance", + "isContainer": false, + "cardinality": "SINGLE", + "isLegacyAttribute": true + }, + "propagateTags": "NONE" + }, + { + "name": "rdbms_db_tables", + "typeVersion": "1.0", + "relationshipCategory": "AGGREGATION", + "endDef1": { + "type": "rdbms_db", + "name": "tables", + "isContainer": true, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "rdbms_table", + "name": "db", + "isContainer": false, + "cardinality": "SINGLE", + "isLegacyAttribute": true + }, + "propagateTags": "NONE" + }, + { + "name": "rdbms_table_columns", + "typeVersion": "1.0", + "relationshipCategory": "AGGREGATION", + "endDef1": { + "type": "rdbms_table", + "name": "columns", + "isContainer": true, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "rdbms_column", + "name": "table", + "isContainer": false, + "cardinality": "SINGLE", + "isLegacyAttribute": true + }, + "propagateTags": "NONE" + }, + { + "name": "rdbms_table_indexes", + "typeVersion": "1.0", + "relationshipCategory": "AGGREGATION", + "endDef1": { + "type": "rdbms_table", + "name": "indexes", + "isContainer": true, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "rdbms_index", + "name": "table", + "isContainer": false, + "cardinality": "SINGLE", + "isLegacyAttribute": true + }, + "propagateTags": "NONE" + }, + { + "name": "rdbms_index_columns", + "typeVersion": "1.0", + "relationshipCategory": "ASSOCIATION", + "endDef1": { + "type": "rdbms_index", + "name": "columns", + "isContainer": false, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "rdbms_column", + "name": "indexes", + "isContainer": false, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "propagateTags": "NONE" + }, + { + "name": "rdbms_table_foreign_key", + "typeVersion": "1.0", + "relationshipCategory": "AGGREGATION", + "endDef1": { + "type": "rdbms_table", + "name": "foreign_keys", + "isContainer": true, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "rdbms_foreign_key", + "name": "table", + "isContainer": false, + "cardinality": "SINGLE", + "isLegacyAttribute": true + }, + "propagateTags": "NONE" + }, + { + "name": "rdbms_foreign_key_key_columns", + "typeVersion": "1.0", + "relationshipCategory": "ASSOCIATION", + "endDef1": { + "type": "rdbms_foreign_key", + "name": "key_columns", + "isContainer": false, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "rdbms_column", + "name": "key_column_references", + "isContainer": false, + "cardinality": "SET" + }, + "propagateTags": "NONE" + }, + { + "name": "rdbms_foreign_key_table_references", + "typeVersion": "1.0", + "relationshipCategory": "ASSOCIATION", + "endDef1": { + "type": "rdbms_foreign_key", + "name": "references_table", + "isContainer": false, + "cardinality": "SINGLE", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "rdbms_table", + "name": "foreign_key_references", + "isContainer": false, + "cardinality": "SET" + }, + "propagateTags": "NONE" + }, + { + "name": "rdbms_foreign_key_column_references", + "typeVersion": "1.0", + "relationshipCategory": "ASSOCIATION", + "endDef1": { + "type": "rdbms_foreign_key", + "name": "references_columns", + "isContainer": false, + "cardinality": "SET", + "isLegacyAttribute": true + }, + "endDef2": { + "type": "rdbms_column", + "name": "foreign_key_references", + "isContainer": false, + "cardinality": "SET" + }, + "propagateTags": "NONE" + } + ] +}