Page 116 - DCAP402_DCAO204_DATABASE MANAGEMENT SYSTEM_MANAGING DATABASE
P. 116

Unit 7: Relational Database Design




          The process proceeds in a top-down fashion by evaluating each relation against the criteria for  Notes
          normal forms and decomposing relations as found necessary during analysis.
          Therefore, normalisation is looked upon as a process of analysing the given relation schemas
          based on their condition (FDs and Primary Keys) to achieve the desirable properties:
          1.   Firstly, Minimizing redundancy, and
          2.   Secondly, Minimizing the insertion, deletion update anomalies.

          Thus, the normalisation provides the database designer with:
          1.   A formal framework for analysing relation schemas.
          2.   A series of normal form tests that can be normalised to any desired degree.
          The  degree  of  normal  forms  to  which  a  relation  schema  has  been  normalised  through
          decomposition confirm the existence of additional properties that the relational schemas should
          possess. It could include any or both of two properties.

          1.   The lossless join and non-additive join property, and
          2.   The dependency preservation property.
          Based on performance reasons, relations may be left in a lower normalisation status. It is not
          mandatory that the database designer must normalise to the highest possible normal form. The
          process of storing the join of higher normal form relations, as a base relation (which is in a lower
          normal form) is known as denormalisation).

          7.5 Multi-valued Dependencies

          In database modeling using the E-R Modeling technique, we usually face known difficulties that
          may  arise when  an entity  has multivalued  attributes. In  the relational  model, if  all of  the
          information about such entity is to be represented in one relation, it will be necessary to repeat
          all the information other than the multivalue attribute value to represent all the information. It
          will result in multi-tuples about the same instance of the entity in the relation and the relation
          having a composite key (the entity id and the mutlivalued attribute). This situation becomes
          much worse if an entity has more than one multivalued attributes and these values are represented
          in one relation by a number of tuples for each entity instance such that every value of one of the
          multivalued attributes appears with every value of the second multivalued attribute to maintain
          consistency.  The  multivalued  dependency  relates  to  this  problem  when  more than  one
          multivalued attributes exist. Let us consider the same through an example relation that represents
          an entity ‘employee’.
                 emp (e#, dept, salary, job)
          We have so far considered normalisation based on functional dependencies that apply only to
          single-valued facts. For example, e#    dept implies only one dept value for each value of e#.
          Not all information in a database is single-valued, for example, job in an employee relation may
          be the list of all projects that the employee is currently working on. Although e# determines the
          list of all the projects that an employee is working on, yet, e#   job is not a functional dependency.
          The fourth and fifth normal forms deal with multivalued dependencies. Before discussing the
          4NF and 5NF we will discuss the following example to illustrate the concept of multivalued
          dependency.

                 programmer (emp_name, projects, languages)






                                           LOVELY PROFESSIONAL UNIVERSITY                                   109
   111   112   113   114   115   116   117   118   119   120   121