Database Design

From Colettapedia
Revision as of 17:08, 17 March 2014 by Colettace (talk | contribs) (Created page with "==Database Models== ===Hierarchical=== * Organizes data into tree structure. * Parent and Child Data segments * '''1:N mapping''' between record types * Child data node can ha...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Database Models

Hierarchical

  • Organizes data into tree structure.
  • Parent and Child Data segments
  • 1:N mapping between record types
  • Child data node can have only one parent

Network

  • Based on mathematical set theory
  • More than one parent per child
  • The "set construct": An owner record type, a set name, and a member record type.

Relational

  • Defines data structures, storage and retrieval operations, integrity constraints
  • Organized into tables with following properties:
    • Values are atomic
    • Each row is unique
    • Column values are of the same kind
    • Sequence of rows and columns is insignificant, i.e., interchangeable
    • each column has a unique name
  • Designate certain fields as keys to optimize searching of that field
  • join operation: take values from two different tables matched by common field
  • Robust transaction and performance management features
  • A complex data structure must be flattened out to fit into tables or joined together from those tables, which takes overhead

Object/Relational Model

  • Adds new object storage capabilities to relational: traditional fielded data, plus complex objects
  • SQL and Oracle are here

Object-Oriented Model

  • Manip DB using C++, Java, no need to translate calls into SQL
  • Less code, more natural data modelling.
  • one-to-one mapping of DB objects and OO programming instances

Semi-structured Model

  • Flexible, when you don't know the schema ahead of time.
  • The schema is in the data, "self-describing"
  • Modelled in terms of graphs which contain lables which give semantics to its underlying structure

Associative Model

  • Divides data into entities (items), and associations (links)
  • Source, verb and target