R.Preethi.
M.Sc (Cs).
 Domain is Atomic if its elements are considered to be
indivisible units
 Examples of nonatomic domains:
 Set of name s, composite attributes
 Identification numbers like CS101 that can be broken
up into Parts n
 A relational schema R is in first norma form if the
domains of all attributes of R are atomic N Non-
atomic values complicate storage and encourage
redundant storage of data .
Functional Dependencies:
Constraints on the set of legal relations.
Require that the value for a certain set of attributes
determines uniquely the value for another set of
attributes.
A functional dependency is a generalization of the
notion of a
Key.
 A relation schema R is in third normal
form (3NF) if for all:
o α→β in F+
at least one of the following holds:
o α→β is trivial (i.e., β∈α)
o α is a superkey for Rl
o Each attribute A in Β – Α is contained in a
candidate key for R.
 Indexing mechanisms used to speed up access to
desired data.
E.g., author catalog in library
 Search Key attribute to set of attributes used to look
up records in a file
 An index file consists of records (called index
entries) of the form
search-key pointer
 Index files are typically much smaller than the
original file .
 Two basic kinds of indices.
 Ordered indices: search keys are stored in sorted
order.
 Hash indices: search keys are distributed uniformly
across a “buckets” using a “hash function”.
 Access types supported efficiently.
 Access time.
 Insertion time.
 Deletion time.
 Space overhead.
 In an ordered index, index entries are stored sorted on
the search key value.
 Primary index : in a sequentially ordered file, the index
whose search key specifies the sequential order of the
file. Also called Clustering index.
 Secondary index :an index whose search key specifies
an order different from the sequential order of the file.
Also called nonclustering index.
Dense Index Files
Dense index — Index record appears for every searchkey value
in the file.
Sparse Index Files
Sparse Index : contains index records for only some
searchkey values.
Multilevel Index
If primary index does not fit in memory, access becomes
expensive.
Outer index – a sparse index of primary index.
Inner index – the primary index file.
If even outer index is too large to fit in main memory,
yet another level of index can be created, and so on
Indices at all levels must be updated on insertion or
deletion from the file.
 Use multiple indices for certain types of queries.
Example: select account_number
From Account
Where branch_name = “Perryridge” and
balance= 1000
 Possible strategies for processing query using indices
on single attributes:
 Use index on branch_name to find accounts with
branch name s; test balance = 1000
 Composite search keys are search keys containing
more than one attribute
 E.g. (branch __name, balance)
 Lexicographic ordering: (a1, a2) < (b1, b2) if either
 a1< b1,or
 a1=b1and a2< b2
 A bucket is a unit of storage containing one or more
records (a bucket is typically a disk block).
 In a hash file organization we obtain the bucket of a
record directly from its searchkey value using a Hash
function.
 Hash function is used to locate records for access,
insertion as well as deletion.
 Hash function H is a function from the set of all
searchkey values K to the set of all bucket addresses
B.
 Allows the hash function to be modified
dynamically.
 Extendable hashing – one form of dynamic hashing
 Hash function generates values over a large range —
typically b bit integers, with b= 32.
 At any time use only a prefix of the hash function to
index into a table of bucket addresses.
Insertion in extendable hash structure:
 If I > I j
 Allocate a new bucket z, and set I j= I z= (I j+ 1)
 Update the second half of the bucket address table
entries originally pointing to j, to point to z
 Remove each record in bucket j and reinsert (in j or
z).
 Recompute new bucket for K j and insert record in
the bucket .
 To delete a key value,
 locate it in its bucket and remove it.
 The bucket itself can be removed if it becomes empty
 Coalescing of buckets can be done .
 Decreasing bucket address table size is also possible.
Relational Database Management System

Relational Database Management System

  • 1.
  • 2.
     Domain isAtomic if its elements are considered to be indivisible units  Examples of nonatomic domains:  Set of name s, composite attributes  Identification numbers like CS101 that can be broken up into Parts n  A relational schema R is in first norma form if the domains of all attributes of R are atomic N Non- atomic values complicate storage and encourage redundant storage of data .
  • 3.
    Functional Dependencies: Constraints onthe set of legal relations. Require that the value for a certain set of attributes determines uniquely the value for another set of attributes. A functional dependency is a generalization of the notion of a Key.
  • 4.
     A relationschema R is in third normal form (3NF) if for all: o α→β in F+ at least one of the following holds: o α→β is trivial (i.e., β∈α) o α is a superkey for Rl o Each attribute A in Β – Α is contained in a candidate key for R.
  • 5.
     Indexing mechanismsused to speed up access to desired data. E.g., author catalog in library  Search Key attribute to set of attributes used to look up records in a file  An index file consists of records (called index entries) of the form search-key pointer
  • 6.
     Index filesare typically much smaller than the original file .  Two basic kinds of indices.  Ordered indices: search keys are stored in sorted order.  Hash indices: search keys are distributed uniformly across a “buckets” using a “hash function”.
  • 7.
     Access typessupported efficiently.  Access time.  Insertion time.  Deletion time.  Space overhead.
  • 8.
     In anordered index, index entries are stored sorted on the search key value.  Primary index : in a sequentially ordered file, the index whose search key specifies the sequential order of the file. Also called Clustering index.  Secondary index :an index whose search key specifies an order different from the sequential order of the file. Also called nonclustering index.
  • 9.
    Dense Index Files Denseindex — Index record appears for every searchkey value in the file.
  • 10.
    Sparse Index Files SparseIndex : contains index records for only some searchkey values.
  • 11.
    Multilevel Index If primaryindex does not fit in memory, access becomes expensive. Outer index – a sparse index of primary index. Inner index – the primary index file. If even outer index is too large to fit in main memory, yet another level of index can be created, and so on Indices at all levels must be updated on insertion or deletion from the file.
  • 12.
     Use multipleindices for certain types of queries. Example: select account_number From Account Where branch_name = “Perryridge” and balance= 1000  Possible strategies for processing query using indices on single attributes:  Use index on branch_name to find accounts with branch name s; test balance = 1000
  • 13.
     Composite searchkeys are search keys containing more than one attribute  E.g. (branch __name, balance)  Lexicographic ordering: (a1, a2) < (b1, b2) if either  a1< b1,or  a1=b1and a2< b2
  • 14.
     A bucketis a unit of storage containing one or more records (a bucket is typically a disk block).  In a hash file organization we obtain the bucket of a record directly from its searchkey value using a Hash function.  Hash function is used to locate records for access, insertion as well as deletion.  Hash function H is a function from the set of all searchkey values K to the set of all bucket addresses B.
  • 15.
     Allows thehash function to be modified dynamically.  Extendable hashing – one form of dynamic hashing  Hash function generates values over a large range — typically b bit integers, with b= 32.  At any time use only a prefix of the hash function to index into a table of bucket addresses.
  • 17.
    Insertion in extendablehash structure:  If I > I j  Allocate a new bucket z, and set I j= I z= (I j+ 1)  Update the second half of the bucket address table entries originally pointing to j, to point to z  Remove each record in bucket j and reinsert (in j or z).  Recompute new bucket for K j and insert record in the bucket .
  • 18.
     To deletea key value,  locate it in its bucket and remove it.  The bucket itself can be removed if it becomes empty  Coalescing of buckets can be done .  Decreasing bucket address table size is also possible.