RelationalDatabase

RelationalDatabase[]

represents schema information about a relational database.

RelationalDatabase[db]

gives the complete schema of the database referenced by db.

RelationalDatabase[{table1 table2,},db]

gives schema information related to the tables tablei.

Details and Options

  • In RelationalDatabase[db] or RelationalDatabase[tables,db], the database can be specified using DatabaseReference[], URL[] or File[].
  • RelationalDatabase[]["prop"] can be used to access database-level properties. These include:
  • "Tables"the list of table names
    "Connection"the DatabaseReference object
  • RelationalDatabase[]["table",prop] can be used to access table-level properties. These include:
  • "Columns"the list of column names
    "PrimaryKey"the primary key constraint as an association
    "ForeignKeys"the list of foreign keys to other tables
    "UniquenessConstraints"the list of uniqueness constraints for values in columns
    "Indexes"the list of indexed columns
    All
  • the association of all table-level properties
  • RelationalDatabase[]["table","PrimaryKey",prop] can be used to access the properties of the primary key:
  • "Columns"the columns that constitute the primary key
    "ConstraintName"the name of the constraint associated with the primary key
  • RelationalDatabase[]["table","ForeignKeys"] gives a list of associations with the following elements:
  • "ToTable"the destination table of the foreign keys
    "FromColumns"the columns in the source table that map to columns in the destination table
    "ToColumns"the columns in the destination table that match the "FromColumns" in the source table
  • RelationalDatabase[]["table","Indexes"] gives a list of associations that include the following elements:
  • "Columns"the columns taken to be unique together
    "IndexName"the name of the index
  • RelationalDatabase[]["table","UniquenessConstraints"] gives a list of associations with the following elements:
  • "Columns"the columns whose combined values are taken to be unique
    "ConstraintName"the name of the uniqueness constraint
  • RelationalDatabase[]["table","column",prop] can be used to access column-level properties. These include:
  • "NativeType"the native type of the data stored in the column
    "Nullable"whether the column can contain Missing values
    Allthe association of all column-level properties
  • RelationalDatabase has the following option:
  • IncludeRelatedTablesFalsewhether to include tables referenced by foreign keys

Examples

open all close all

Basic Examples  (2)

Construct a RelationalDatabase object:

In[1]:=
Click for copyable input
Out[1]=

Find out what tables are present in the database:

In[2]:=
Click for copyable input
Out[2]=

Construct a RelationalDatabase with a subset of the tables:

In[1]:=
Click for copyable input
Out[1]=

Scope  (1)

Applications  (1)

Properties & Relations  (1)

Possible Issues  (1)

Introduced in 2019
(12.0)