ML Wiki
Machine Learning Wiki - A collection of ML concepts, algorithms, and resources.

Relational Databases

Relational Data Model

A relational database is a collection of ‘‘relations’’

  • everything is a table
  • every row in a table has the same number of columns
  • relations are implicit: no pointers

Structure of Data

A ‘‘relation’’ is a two-dimension table

For example, Consider a ‘'’Movie’’’ relation:

Title Year Length Genre Gone with the Wind 1939 231 Drama   Star Wars 1977 124 Sci-Fi

Columns

  • The columns of a relation are named by ‘‘attributes’’
  • E.g.: Title, Year, etc.
  • They describe the meaning of entities in columns

The name of a relation with its attributes is called ‘‘schema’’

  • e.g.: Movies(Title, Year, Length, Genre)
  • Note that the attributes form a set, not a list
  • A database consists of one or more relations, each with a schema
  • And the set of all schemata within one database is called ‘‘Relational DB Schema’’

Rows of a relation (other than the header row - which describes the attributes) are called ‘‘tuples’’

  • (“Gone with the Wind”, 1939, Drama)
  • We don’t include the attribute names, so the order is important here

We usually associate a ‘‘domain’’ with each attribute - a particular elementary type

  • E.g.: Movie(Title: String, Year: Integer, Length: Integer, Genre: String)

Operations on Data

  • Usually the operations are Relational Algebra expressions
  • SQL is usually transformed to Relational Algebra for processing

Constraint

One fundamental constraint in this model is ‘‘key constraint’’

A set of attributes form a ‘‘key’’ for a relation if there are no two tuples with the same values in for the attributes of the key

We indicate that the attributes form a key by underlining them:

  • e.g.: Movies(Title, Year, Length, Genre)

Modeling Relational Databases

Query Processing

How to translate a SQL query into physical query plan

Sources