Review of Database

Database Systems Course Review.

Introduction

Aspects of studying (questions to answer):

  • Modeling and design of databases.
    (How is the information structured?)
  • Programming: queries and DB operations like update.
    (How does one express queries and other operations on the database?)
  • DBMS implementation.
    (How to build a DBMS?)

Relational Database Modeling

The Relational Model of Data

  • Data Model = Structure of the data + Operations on data + Constraints
  • Schemas
    Relation schema = relation name + attribute list
    Database = collection of relations
    Database schema = set of all relation schemas in the database
  • Relation instances
    is current set of rows for a relation schema
  • Key of Relations
  • Three kinds of table
    • Stored relations
      real, stored
    • Views
      relations defined by a computation, virtual, not really exists
    • Temporary tables
      constructed by SQL processor, thrown away, not stored
  • Table Declarations
    • Most common types
      • INT / INTEGER
      • REAL / FLOAT
      • CHAR(n)
      • VARCHAR(n)
      • BOOLEAN: true, false, unknown
      • DATE
      • TIME
    • NULL , NOT NULL , DEFAULT value
    • PRIMARY KEY , UNIQUE
      There can be only one PRIMARY KEY for a relation, but several UNIQUE attributes.
      No attribute of a PRIMARY KEY can ever be NULL in any tuple. But attributes declared UNIQUE may have NULL’s and there may be several tuples with NULL.
  • Core Relational Algebra:
    • Union, intersection, difference
      Usual set operations, but both operands must have the same relation schema.
    • Selection
      Picking certain rows
    • Projection
      Picking certain columns
    • Products and joins
      Compositions of relations
      • Theta Join
      • Natural Join
    • Renaming
      of relations and attributes
  • Relational Algebra on Bags
    A bag (or multiset) is like a set, but an element may appear more than once.
    • Operations on Bags
  • Constraints on Relations
    • The ability to restrict the data that may be stored in a database.
    • Relational algebra: used as a constraint language abstractly.

Design Theory for Relational Databases

High-Level Database Models

Relational Database Programming

Algebraic and Logical Query Languages

The Database Language SQL

Constraints and Triggers

Views and Indexes

SQL in a Server Environment

Advanced Topics in Relational Databases

Modeling and Programming for Semistructured Data

The Semistructured-Data Model

Programming Languages for XML