Overview and Basic Concepts of Relational Database Systems

Some Definitions

Data: from Latin given; given facts, from which additional facts can be inferred (= response to a user query)
given fact: true proposition in logic

Database: collection of true propositions

Relational approach:

Entity: any object about which we wish to record information

Relationship: linking entities (can themselves be interpreted as a type of entity)

Properties: used to record information about entities: numbers, dates, strings

DBMS: Database Management System; software that implements DB concepts, e.g. Postgres, Mysql, SQLite

Advantages of relational Databases

over application-specific files such as spreadsheets:

Information Principle

The entire information content of the database is represented in only one way, explicit values in column positions in table rows.

The Relational Model

relation = math. for table, NOT from ER-model

A relation has two parts:

When the context is clear the attribute names can be ommitted, e.g.
the (unnamed) tuples of relation Age are { (John, 30), (Jane, 25) }

Relations are sets of tuples:

→ there is no preferred order for the tuples, and
→ there is no point in stating a fact more than once.

Relational Algebra: a brief Overview

Operations on one or more relation always result in a relation (not some other kind of object).

History

The Structured Query Language is the standard for data query and manipulation in relational database systems. It implements many (but not all) concepts of the relational model.

Table vs. Relation

The basic concept of the SQL implementation is the table. When going from the relation model to the SQL implementation relations become tables.

An SQL table is similar to a relation, with some important differences:

Data Types

Numbers:

SQL92 standard numeric data types:

Postgres: DECIMAL(p, s) and NUMERIC(p, s) equivalent.

Other Types: