1. Schema defines a set of rules for relations or tables in relational database. It is not equivalent to relations.
    1. Global Schema: a set of global relations as if the database is non-distributed.
    2. Fragmentation Schema: split global schema into several nonoverlapping portions.
      R --> (R1, ..., Rm) 1:m
    3. Allocation schema: defines at which site(s) a physical image of fragment is located.
    4. Local mapping schema: map physical images to objects manipulated by local DBMS (site-dependent)

  2. Transparency
    1. Fragmentation Transparency (on global schema)
    2. Location Transparency (on fragmentation schema)
    3. Local mapping transparency (on allocation/local mapping schema)
    4. Replication Transparency (on fragmentation schema)
    Awareness:
    1. Grouping of relevant data
    2. Determine optimal allocation schema
    3. Data Redundancy at fragments level by examining the allocation schema
    Unawareness:
    1. local DBMS structures
    2. User unaware of replication of fragments

  3. Rules for defining Fragments
    1. Completeness: all data of global relation must be mapped into the fragments
    2. Reconstruction: it must be possible to reconstruct each global relation from its fragments
    3. Disjointness: disjoint fragments imply replication of data can be controlled explicitly at the allocation level

  4. Types of Fragmentation
    1. Horizontal Fragmentation: partition the relation in tuple level (selection)
    2. Vertical Fragmentation: partition the relation in attribute level (projection)
    3. Derived Horizontal Fragmentation: selection with matched attribute values from two relations (semi-join)
    4. Mixed Fragmentation: Apply VF and HF on same relation

  5. Application (Read-only & Update)
    1. Read Only: Level 1. Refer to global relations 2. aware of fragments 3. Specify sites
    2. Update: retrieve any one copy but update all copies, more complex in derived fragmentations (cross update to different fragments)