Questions tagged [database-metadata]

Metadata is "data about data". In database terminology, this set of metadata is referred to as the catalog. The SQL standard specifies a uniform means to access the catalog, called the information schema, but not all databases implement it, even if they implement other aspects of the SQL standard. For an example of database-specific metadata access methods, see Oracle metadata.

Meta Data:

Metadata is “data about data”. An item of metadata describes the specific characteristics about an individual data item. In databases, metadata describes the structural components of tables and their elements. For example, metadata about an element could include data types, name of data, size and many more characteristics about that element. It would also give information about the tables the database is storing, information, such as length of fields, number of columns, where the tables are located and other pertinent information. One of the main uses for met data is to provide a link between the information creator and the information users. Metadata allows the users to speed up the search for individual data. This is done by being able to set parameter for searches, allowing the filtering of unwanted information. Metadata can be stored either internally, in the same file as the data or externally, in a separate area. Both have advantages and disadvantages. If the data is stored internally, the metadata is together with the data making more easily accessible to view or change. However, this method creates high redundancy. If metadata is stored externally, the searches can become more efficient. There is no redundancy but getting to this metadata may be a little more technical. There are certain formats that must be used, such as Uniform Resource Identifier(URI) to get to the metadata if this format is not used the metadata becomes inaccessible. All the metadata is stored in a data dictionary or a system catalog. All programs that access data in the database work through a DBMS. The DBMS uses the data dictionary to look up the required components and relationships. Any changes made to the database structure are automatically recorded in the data dictionary. This makes the data dictionary manager’s job a lot easier because any modification of programs that are affected by the changed structure is not necessary.

Metadata at the most basic level is simply defined as “data about data”. An item of metadata describes the specific characteristics about an individual data item. In the database realm, metadata is defined as, “data about data, through which the end-user data are integrated and managed.” (Rob & Coronel, 2009) Metadata in a database typically store the relationships that link up numerous pieces of data. “Metadata names these fields describes the size of the fields, and may put restrictions on what can go in the field (for example, numbers only).” (Sheldon, 2001).

“Therefore, metadata is information about how data is extracted, and how it may be transformed. It is also about indexing and creating pointers into data. Database design is all about defining metadata schemas.” (Sheldon, 2001) Metadata can be stored either internally, in the same file as the data, or externally, in a separate area. If the data is stored internally, the metadata is together with the data, making it more easily accessible to view or change. However, this method creates high redundancy. If metadata is stored externally, the searches can become more efficient. There is no redundancy but getting to this metadata may be a little more technical.

All the metadata is stored in a data dictionary or a system catalog. The data dictionary is most typically an external document that is created in a spreadsheet type of document that stores the conceptual design ideas for the database schema. The data dictionary also contains the general format that the data, and in effect the metadata, should be. Metadata is an essential aspect of database design, it allows for increased processing power, due to the fact that it can help create pointers and indexes.

Useful Resources:

217 questions
4
votes
0 answers

DatabaseMetaData.getColumns returns columns of similar named tables

In my database I have tables "EMPLOYEE_DETAILS" and "EMPLOYEE DETAILS" with different columns for both tables. When I used the getColumns() method of the DatabaseMetaData (java.sql.DatabaseMetaData) to get the column details of the table…
Hajas
  • 115
  • 1
  • 3
  • 10
4
votes
3 answers

Oracle Stored Procedure List Parameters

I'm developing a .NET front end that interacts with an Oracle database. I have figured out how to get a list of stored procedures to execute, but I don't know how to get a list of parameters that belong to the stored procedure. I want to be able…
Michael Sheely
  • 961
  • 2
  • 10
  • 31
4
votes
4 answers

How to get all trigger names from a database using Java JDBC?

I'd like to retrieve all trigger names from an Oracle database schema. I use getFunctions to retrieve all functions but i can't find another one for the triggers. DatabaseMetaData dbmd; ResultSet result = dbmd.getFunctions(null, Ousername, null);
gtzinos
  • 1,205
  • 15
  • 27
4
votes
1 answer

Spring Batch - Connection closed in when processing is done in external process

I have a job that is built of several steps - one of the steps is a tasklet that activates processing Pentaho I pass to Pentaho the parameters it needs in order to connect to the DB on its own and it works OK The issue I have starts when the…
Noa Drach
  • 2,381
  • 3
  • 26
  • 44
4
votes
1 answer

Get discriminator value from Entity in Entity Framework

I have a TPH (Table per Hierarchy) set up in Entity Framework, where I use a column called Discriminator to seperate the different EntityTypes. I.e. when the Discriminator is 0 the type is Dog, if it's 1 it's Cat etc Now I want to move some code…
Dirk Boer
  • 8,522
  • 13
  • 63
  • 111
3
votes
2 answers

What is the Python equivalent to JDBC DatabaseMetaData?

What is the Python equivalent to DatabaseMetaData
Joshua
  • 26,234
  • 22
  • 77
  • 106
3
votes
1 answer

Partial or full index in Oracle?

I'm working on a library that retrieves database metadata for multiple databases, and I wanted to find if an index is partial or full in Oracle. According to Oracle docs, an index is partial if all its columns can be null. In that case not all rows…
The Impaler
  • 45,731
  • 9
  • 39
  • 76
3
votes
1 answer

DatabaseMetaData getProcedureColumns stored procedure column names order?

I use databasemetadata to get columns (read parameters) of a stored procedure on SQL server: Connection connection = getConnection(); //getting the connection - DatabaseMetaData dbMetaData = connection.getMetaData(); HashMap
HBK
  • 735
  • 1
  • 11
  • 29
3
votes
1 answer

How to get the table name from a column in a join query with SQL Server and FIREDAC?

I looking for get metadata on a TFDQuery (FireDAC). I have this query: SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Code = t2.code I would like to know the column information (table name, the real column name in the table, ....) I find this…
Joc02
  • 345
  • 8
  • 18
3
votes
2 answers

Programmatically check if Oracle AQ Queue exists

We have a messaging system based on Oracle AQ - it works very well, enqueing and dequeing without any problems. Now we got a request to add some sanity checks before startup and during runtime, for example "check if the queue actually exists for the…
Scorpio
  • 2,309
  • 1
  • 27
  • 45
3
votes
2 answers

Metadata management for (Azure) data-lake

To my understanding, the data-lake solution is used for storing everything from raw-data in the original format to processed data. I have not able to understand the concept of metadata-management in the (Azure) data-lake though. What are…
3
votes
2 answers

How to get all columns which are nearly as long as the maximum allowed size

Is it possible to get all columns (varchar2, char, nvarchar2), where the data is as long (or nearly as long - 2 characters less) than the allowed maximum size of the column in an Oracle Database? With the following statement, I get the maximum…
3
votes
1 answer

Getting all tables / columns and their datatype firebird in one query

I want to query the following: all tables, with their columns and data type I got this so far from http://www.firebirdfaq.org/faq174/ select f.rdb$relation_name, f.rdb$field_name, f.rdb$field_source from rdb$relation_fields f join rdb$relations r on…
Maveron
  • 71
  • 1
  • 8
3
votes
2 answers

Alternative for DBMS_METADATA.GET_DLL in Oracle 8i

In our project we have one database running on oracle 8i (i know this version is ancient but ...) I want to check the DDL statement for one PUBLIC database link i tried : select dbms_metadata.get_ddl('DB_LINK', 'LINKNAME', 'PUBLIC') from…
Nagendra Nigade
  • 866
  • 2
  • 12
  • 28
3
votes
1 answer

Match Table Name and Alias at runtime from DatabaseMetaData?

I know how to use .getTables() to get the TABLE and ALIAS entries. final ResultSet rs = dmd.getTables(null, "MySchema", "%", new String[]{"TABLE","ALIAS"}); What I need to be able to determine is which ALIAS goes with which TABLE name? I…
user177800
1 2
3
14 15