SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011



 Possible Algorithms of 2NF and 3NF for DBNorma-
    A tool for Relational Database Normalization
                                  Pranalini Ketkar1 , Dr.B.V.Barbadekar 2 , and P.S.Dhabe 3
            1
                Department of Information Technology, Dnyanganga College of Engineering and research, Pune, India
                                             Email: pranalini.ketkar @gmail.com
                    2
                      Department of Computer Engineering Vishwakarma Institute of Technology, Pune, India
                                                   Email: balaji.barbadekar@vit.edu
                                  3
                                    Department of Computer Engineering Vishwakarma Institute of Technology, Pune, India
                                              Email: priyadarshan.dhabe@vit.edu


Abstract —D B Norma [1 ] is a semi au tomate d d a tab a se            Normalization is mostly carried out manually in the software
normalization tool, which uses a singly linked list to store a         industries, which demand skilled personnel with expertise
relation and functional dependencies hold on it. This paper            in normalization. To model today’s enterprise we require
describes possible algorithms that can be used to normalize a          large number of relations, each containing large number of
given relation rep resen ted usin g sing ly linked list. These
                                                                       attributes and functional dependencies. So, generally, more
algorithms are tested on various relational schemas collected
                                                                       than one person’s involvement is needed in manual process
from several research papers/resources and output validated.
We have also determined the time required to normalize a given         of normalization. Following are the obvious drawbacks of
relation in 2NF and 3NF and found that it is proportional to           normalization carried out manually.
number of attributes and number of functional dependencies                1) It is time consuming and thus less productive: To model
present in that relation. The time required, on average, is in         an enterprise a large number of relations containing large
order of 186 msec for 2NF and 209 msec for 3NF. By observing           number of attributes and functional dependencies may be
time required, one can conclude that these algorithms can be           required
used for normalizing relations within the shorter time; this is           2) It is prone to errors: due to reasons stated in 1.
specifically needed when database designer is using a universal
                                                                          3) It is costly: Since it needs skilled persons having
relation.
                                                                       expertise in Relational database design.
Index Terms—Relation,functional dependency, normalization,                To eliminate these drawbacks several researchers already
normal forms.                                                          tried for automation of this process. Ali Ya zici, et.al [4]
                        I. I NTRODUCTION                               proposed a tool called JMathNorm, which is designed using
                                                                       inbuilt functions provided by Mathematica and thus
Profits of any commercial organization are dependant on its            dependent on Mathematica. This tool provides facility to
productivity and quality of the products. Naturally, to                normalize a given relation up to Boyce-codd normal form
improve profitability it needs to increase productivity without        including 3NF. Its GUI is written in Java and linked with
scarifying quality. To achieve this, it is necessary for an            Mathematica using Jlink library.
organization to automate the tasks involved in the design                 Hongbo Du and Laurent Wery [5] proposed a tool called
and development of its product. From the past few decades              Micro, which uses two linked lists to represent a relation
relational databases proposed by Dr. Codd [2] are widely               along with functional dependencies. One list stores all the
used in almost all commercial applications to store,                   attributes and other stores functional dependencies holding
manipulate and use the bulk of data related with a specific            on it. Our tool DBNorma uses a novel approach of only one
enterprise, for decision making.(detailed discussion on                linked list to represent a relation as well as functional
relational database can be found in [3]). Their proven                 dependencies holding on it and thus requires less space as
capability to manage the enterprise in a simple, efficient and         compared to Micro [5].
reliable manner opened a new arena for software industries                We have also seen a US patent [6], where a database
needing good backend database systems for development                  normalizing system is proposed. This system takes input as
of various IT systems for their clients. The success of a              a collection of records stored in a table and by observing a
relational database systems modeled for a given enterprise             record source it normalizes the given database. But our
is dependant on the design of relational schema and an                 system DBNorma works at schema level i.e. it normalizes a
important step in the design of relational database is                 relation before defining a table and entering records into it.
Normalization, which takes a roughly defined bigger relation              Remaining parts of the paper are organized as follows.
as input along with attributes and functional dependencies             Section 2 describes node structure with example. Possible
and produces more than one smaller relational schema in                algorithm of 2NF and 3NF used in DBNorma are described
such a way that they will be free from redundancy, insertion           in sect ion 3.Stan dard rel ational sch emas used for
and deletion anomalies.                                                experimentation and Experimental results are discussed in
                                                                       Section 4.Conclusions based on empirical evidences are
                                                                       drawn in section 4 and references are cited at the end.
© 2011 ACEEE                                                      29
DOI: 01.IJIT.01.01.86
ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011

 II. SINGLE LINKED LIST NODE STRUCTURE AND                                Employee       (e_id, e_s_name,    j_class, CHPH)
             REAL WORLD EXAMPLE
                                                                          e_id      e_s_name,   j_class, CHPH           (1)
As mentioned in [1] node structure used in DBNorma and                    j_class      CHPH                             ( 2)
its description is as follows.                                               We have decided to enter all the prime attributes first and
                                                                          then non prime ones. This specific order helps us to get
                                                                          determiners of non prime attributes since they will be already
                                                                          entered in linked list. Hence a new and first node will be
                                                                          created for the prime attribute e_id. Let that Counter is set
                                                                          to 001. A node for e_id attribute is as shown in fig2.




                Figure 1. Linked List Node Structure
nodeid: It is a node identifier ( a unique number ) assigned
to each newly generated node and is stored inside the node
itself . This number can be generated by using a counter,                     Figure 2. Snapshot of Linked List when first node is added in it
which need to be reset for normalizing a new database. When
                                                                             In figure 2, first field is set to 001, since it is the nodeid of
new node is added on a linked list counter will be incremented
                                                                          this node Second field indicates name of attribute i.e. e_id.
by 1.
                                                                          Third field is set to 1, since e_id is an atomic attribute. Fourth
attribute name: This field is used to hold the attribute name.            field is set to NULL, indicating that each cell of this field is
It allows underscores and special character and size can at               set to NULL. The fifth field is set to NULL as functional
least 50 characters.                                                      dependencies are not entered yet. The Sixth field is set to 1,
                                                                          since e_id is a key attribute. The last attribute is set to NULL
 attribute type: This field is used to hold type of the attribute
                                                                          indicating it is the last node on the list.
and will hold m for multivalued attribute, s for atomic
                                                                             Now the next attribute to be added is j_class as it is
attribute, c for composite attribute and p for prime attribute.
                                                                          nonprime as well as determiner attribute. Hence the linked
It will be of size 1 character long.
                                                                          list structure after adding this attribute is shown in fig 3.
determiner_id[]: This field holds all the determiners of this
attribute. A Determiner can be composite or atomic. E.g.
Consider node represents an attribute C and we have AB
   C and D C then the two determiners of C are (A,B) and
(D) and thus their nodeid’s will be stored in determiner_ id
[] of c.
determiner: Determiner is an attribute which takes part in
left hand side of FD. This field indicates whether this attribute
is determiner or not and of binary valued a size of 1 character
will be more than sufficient. If this filed is set to 1 indicates
that this attribute is a determiner otherwise it is dependant.
keyattribute: This is a binary field and holds 1 if this attribute
is taking part in primary key else it is 0. Size of 1 character
is sufficient for this purpose.
                                                                             Figure 3. Snapshot of Linked List when second node is added in it
ptrTonext: This field hold pointer (link) to next node and                   At last all the dependent i.e. e_s_name and CHPH will
will be NULL if this is the last node on the list.                        be added into linked list hence the linked list after adding
  An example of representing a real word relation and its                 all the attributes details is shown in fig 4.
FD’s using a signally linked list is shown below.
  Consider a relation employee containing e_id as primary
key e_ name as employee surname, j_class indicating job
category and CHPH representing charge per hour. This
relation and all FD’s holds on it are shown below
© 2011 ACEEE                                                         30
DOI: 01.IJIT.01.01.86
ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011

                                                                                 A. Algorithms For Computing Second Normal Form Of
                                                                                 Given Relation
                                                                                    SecondNormalForm (listptr ): This algorithm takes input
                                                                                 as a 1NF relation represented in computers memory in a
                                                                                 linked list format and cuts this linked list according to the
                                                                                 definition of 2NF into two or more separate lists. These newly
                                                                                 created lists represent decomposed relations of a bigger
                                                                                 relation taken as input and are in 2NF. A listptr is a single
                                                                                 linked list which represents a relation to be converted in to
                                                                                 2NF and FD’s hold on it.This algorithm internally uses other
                                                                                 two algorith ms n amely Pri meKeyCount(listptr) and
                                                                                 OtherDependants(listptr, trav).The function PrimeKeyCount
                                                                                 (listptr) returns total no of prime key attributes used in input
                                                                                 relation. It also uses OtherDependents (listptr, trav) function
  Figure 4. Linked List Structure after adding all the attribute details
                                                                                 to find out all the dependents of the same determiner. This
                                                                                 algorithm uses two variable pointer trav and temp for
   After adding all the attributes we need to add information                    traversing the list and one integer variable counter.It also
about all the FD’s holds on the relation employee in the linked                  uses two arrays to store the newly created tables and attributes
list representation of this relation. Note that FD’s will be                     used in them. This algorithm is given below and Output of
added one after the other. One more thing is that we need to                     this algorithm is tables generated in 2NF
convert FD into a format such that right hand side will contain
only dependant. Thus FD (1) will be broken into three FD’s                       BEGIN
as follows                                                                       1) Find total no of prime attributes in linked list
                                                                                            Call PrimeKeyCount(listptr)
   e_id         e_s_name                                                         2) Node * trav
   e_id         j_class                                                                 trav = Head;
   e_id         CHPH                                                                    counter =0;
                                                                                        while (trav ptTonext !=NULL)
Th us detai ls of 4 FD’s wil l be added. Li nked list
                                                                                          if (trav keyAttribute=0)
representation after adding FD’s detail is shown in fig 5.
                                                                                                 /* it means attribute is non key attributes */
                                                                                                then find the determiner id[] of trav
                                                                                          if (determiner_id[] of trav == primary key)
                                                                                                 then counter++ ;
                                                                                          if (counter==keyCount)
                                                                                                          /*means full dependancy exists */
                                                                                                    then Call otherDependent(listptr, trav )
                                                                                          elseif ((counter < keyCount) &&
                                                                                                   (counter ==sizeof(trav determiner_ id)))
                                                                                                             /*means partial dependancy exist*/
                                                                                                then Call otherDependent(listptr, trav )
                                                                                          elseif ( (counter ==0 ) &&
                                                                                                     (counter< sizeof(trav determiner_ id) )
                                                                                                       /* means transitive dependancy exist */
                                                                                                then Call otherDependent(listptr, trav )
                                                                                    Find on which prime arribute both determiner and
          Figure 5. Linked List Structure after adding all the FD’s              dependent of trav (current node) depends also add both
                                                                                 determiner and dependent in same table of that prime
             III. POSSIBLE A LGORITHMS FOR DBNORMA                               attribute.
                                                                                    3) Once all dependent of same determiner is found
         It is assumed that reader is familiar with definition
                                                                                    Create their table in oracle. Mark table name and table
of different normal forms. On the other hand, tables of
                                                                                 attributes in separate array.
relational database are assumed to be in 1NF.Order of
                                                                                                  trav = trav ptrTonext
entering attributes in linked list is assumed as prime attributes
                                                                                    4) Repeat step1 to step 3
are entered first, then all the determiner other than prime
                                                                                        for unmark table name and attributes.
attributes are entered and All the dependents are entered at
                                                                                    END
last.



© 2011 ACEEE                                                                31
DOI: 01.IJIT.01.01.86
ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011

B. Algorithm for Finding Number of Prime Attributes                    created tables. This algorithm is below and Output of this
                                                                       algorithm is tables generated in 3NF
   PrimeKeyCount(listptr) : This algorithm takes a relation
                                                                          BEGIN
(listptr) represented as a single linked list and returns total
                                                                          1) Find total no of prime attributes in linked list
no of prime attributes present in a relation.
                                                                                 Call PrimeKeyCount(listptr)
   BEGIN
                                                                          2) Node * trav
           int keyCount=0 ;
                                                                             trav = Head;
           node* q;
                                                                             counter =0;
                if (q keyAttribute ==1) then
                                                                             while (trav ptTonext !=NULL)
                         keyCount++ ;
                                                                               if (trav keyAttribute=0)
                    q=q ptrTonext;
                                                                                      /* it means attribute is non key attributes */
                   return( keyCount)
                                                                                     then find the determiner id[] of trav
   END
                                                                               if (determiner_id[] of trav == primary key)
 C. Algorithm or Finding Other Dependent Of Same                                      then counter++ ;
Determiner:                                                                    if (counter==keyCount)
                                                                                              /*means full dependancy exists */
   OtherDependent(listptr,trav): This algorithms is used to
                                                                                         then Call otherDependent(listptr, trav )
find all the dependent non key attributes of same determiner.
                                                                               elseif ((counter < keyCount) &&
Consider the relation employee [10],
                                                                                        (counter ==sizeof(trav determiner_ id)))
   employee(e_ id, e_s_ name , j_class ,CHPH) and
                                                                                                 /*means partial dependancy exist*/
functional dependencies hold on it as
                                                                                     then Call otherDependent(listptr, trav )
                e_id  e_s _name, j _class, CHPH
                                                                               elseif ( (counter >0 ) &&
               j_class CHPH
                                                                                          (counter< sizeof(trav determiner_ id) )
   In this example while traversing a linked list made for
                                                                                     then Call otherDependent(listptr, trav )
relation employee , when the first non key attribute
   e_s_name will appear ,we will first find its type of
                                                                                     Find on which prime arribute both
functional dependency, then all other non key attributes
                                                                                     determiner and dependent of trav (current
determined by determiner of e_ s_ name (i.e. j_class, CHPH)
                                                                                     node) depends also add both determiner
will be returned by using OtherDependent(listptr,trav)
                                                                                     and dependent in same table of that prime
Function.
                                                                                     attribute.
   Input: determiner id [ ] of trav of linked list.
                                                                               elseif (counter==0)
   Output: Array of all the dependent of same determiner
                                                                                           /* means transitive dependancy exist */
with determiner_ id [].
                                                                                    then Call otherDependent(listptr, trav )
   BEGIN
                                                                          3) Once all dependent of same determiner is found
     int counter=0;
                                                                          create their table in oracle. Mark table name and table
     String dependentArray[ ] ;
                                                                       attributes in separate array.
     Node * temp;
                                                                                       trav = trav ptrTonext
     temp=Head ;
                                                                          4) Repeat step1 to step 3
     while (temp ptrTonext != NULL)
                                                                             for unmark table name and attributes.
       if (determiner_id[]of trav==determiner_id[]of temp)
                                                                          END
           then counter ++;
    if ((counter == lengthof (trav determiner id[])
                                                                               IV. EXPERIMENTATION AND RESULT
          &&(counter ==lengthof(temp determiner id[]))
      then add temp attributeName in dependantArray[]                     To test the performance of DBNorma using these
     return (dependantArray[])                                         algorithms we have collected 10 examples of relation
   END                                                                 normalization up to 3NF from various research papers. Table
                                                                       1 shows description of few of these relations where NOA is
D. Algorithms For Computing Third Normal Form Of
                                                                       number of attributes and NOFD is number of functional
Given Relation
                                                                       dependancies.Table2 shows the decomposition of relations
ThirdNormalForm(listptr) : This algorithm is used to convert           shown in Table 1 into 2NF and 3NF. In Table 1 and 2 FD are
a 2NF relation into the 3NF. listptr is a single linked list           separated by semicolon. Table 2 is used for testing the output
which represents a relation in 2NF and all FD’s hold on it. It         of our tool DBNorma. These relations can also be helpful to
uses function PrimeKeyCount(listptr), which returns total              the readers as a reference.
no of prime attributes used in a relation. It also uses
OtherDependent (listptr,Trav) function to find out all                  A. Actual Result:
dependents of same determiner. This algorithm uses two                          Table 2 shows the expected output of proposed
variable pointer trav and temp and one integer variable                algorithms collected from the above research papers. We have
counter. It also uses two arrays to store attributes of newly          compared output of DBNorma using above algorithms with
                                                                       the expected output from Table 2 and can say that output of
© 2011 ACEEE                                                      32
DOI: 01.IJIT.01.01.86
ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011

DBNorma using above algorithms is valid and it works in
expected manner.
 B. Time Analysis:
Table 3 shows the performance i.e. time required to normalize
the given relation, where T2NF is time required to bring a
relation in 2NF measured in mili-seconds. Similarly T3NF
is time required to bring a relation in 3NF.
          Plot of number of attributes and time required to
bring relation in 2NF and 3NF using DBNorma is shown in
Fig.6 and Fig.7similarly Plot of number of functional
dependencies and time required to bring relation in 2NF and
3NF using DBNorma is shown in Fig8 and Fig9.From the
graphs shown in Fig. 6 to 9,It is observed that the time
required to convert a given relation into 2NF is around linear
but for 3NF it is observed non-linear as compared to 2NF,
due to transitive dependency. It can also be concluded that
the time required to bring the given relation into 2NF and
3NF does not depend only on number of Attributes or only
on number of FDs but depends on both no of FDs and no of
Attributes.




© 2011 ACEEE                                                     33
DOI: 01.IJIT.01.01.86
ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011




© 2011 ACEEE                  34
DOI: 01.IJIT.01.01.86
ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011
                                                                                            A CKNOWLEDGM ENT
                                                                         We are thankful to management of Dnyanganga College
                                                                      of Engineerimg and research and Vishwakarma Institute of
                                                                      Technology, Pune for their encouragement and whole hearted
                                                                      cooperation during this work.

                                                                                               REFERENCES
                                                                      [1] P.S.D habe,M.L.D hore,B.V.B arbadekar an d K Abh yankar
                                                                          “Representation Of A Database Relation And Its unctional
                                                                          Depen den cies U sing A Sin gly Lin ked List Structure For
                                                                          Au tomation Of R elational Database Normalization u sing
                                                                          DBNorma.IJERIA in Vol.3, No.2, May 2010.
                                                                      [2] E. F. Codd, A relational model of data for large shared data
                                                                          ban ks,Commun ications of the AC M,. vol. 13, No.6 , pp.
                                                                          377387, June 1970.
                                                                      [3] E. F. Codd, The relational model for database anagement:
                                                                          version 2, Addison Wesley, 1990.
                                                                      [4] Ali Yazici, Ziya Ka raka ya , JM a th No rm : A dat abas e
                                                                          normalization tool using mathematica, in proc. int. conf. on
                                                                          computational science (2),pp.186-193, 2007.
                        CONCLUSIONS
                                                                      [5] Hongbo Du and Laurent Wery, Micro: A normalization tool
   This paper represents a new semi-automated approach for                for relational databse design ers, jou rn al of network an d
relational database normalization. It proves that a relation              computer application,Vol.22, pp.215-232, 1999
can be represented with only one singly linked list along             [6] US Patent 5778375 - Database normalizing system
                                                                      [7] http://www.cs.man.ac.uk/horrocks/Teaching/cs2312/Lectures/
with its set of FD’s. As the understanding of linked list is
                                                                          PPT/NFexamples.ppt
easy, the representation is easy to understand. The definition        [8] Bahmani A, Naghibzadeh M and Bahmani B , “Automatic
of 2NF and 3 NF algorithms on such a representation                       database normalization and primary key generation”, Niagara
becomes efficient since linked list structure can be                      Falls.Canada IEEE-2008.
manipulated efficiently. Algorithms suggested in this paper           [9] Thomas C and Carolyn B, Systems”, pearson, third edition,
are very efficient and can be used as an alternative algorithm            2005.Rob, Coronel, Database systems, design, implementation
for DBNorma. However, we will compare our algorithms                      an d managemen t, course tech noilogy, Thomson learnin g,
with other similar algorithms, in the future.                             fourth edition, 2001




© 2011 ACEEE                                                     35
DOI: 01.IJIT.01.01.86

Contenu connexe

Tendances

Chapter 6 relational data model and relational
Chapter  6  relational data model and relationalChapter  6  relational data model and relational
Chapter 6 relational data model and relationalJafar Nesargi
 
Extractive Summarization with Very Deep Pretrained Language Model
Extractive Summarization with Very Deep Pretrained Language ModelExtractive Summarization with Very Deep Pretrained Language Model
Extractive Summarization with Very Deep Pretrained Language Modelgerogepatton
 
Introduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John MulhallIntroduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John MulhallJohn Mulhall
 
Processing vietnamese news titles to answer relative questions in vnewsqa ict...
Processing vietnamese news titles to answer relative questions in vnewsqa ict...Processing vietnamese news titles to answer relative questions in vnewsqa ict...
Processing vietnamese news titles to answer relative questions in vnewsqa ict...ijnlc
 
Functional dependencies and normalization for relational databases
Functional dependencies and normalization for relational databasesFunctional dependencies and normalization for relational databases
Functional dependencies and normalization for relational databasesJafar Nesargi
 
Statistical Named Entity Recognition for Hungarian – analysis ...
Statistical Named Entity Recognition for Hungarian – analysis ...Statistical Named Entity Recognition for Hungarian – analysis ...
Statistical Named Entity Recognition for Hungarian – analysis ...butest
 
Lecture Notes in Computer Science:
Lecture Notes in Computer Science:Lecture Notes in Computer Science:
Lecture Notes in Computer Science:butest
 
COQUEL: A CONCEPTUAL QUERY LANGUAGE BASED ON THE ENTITYRELATIONSHIP MODEL
COQUEL: A CONCEPTUAL QUERY LANGUAGE BASED ON THE ENTITYRELATIONSHIP MODELCOQUEL: A CONCEPTUAL QUERY LANGUAGE BASED ON THE ENTITYRELATIONSHIP MODEL
COQUEL: A CONCEPTUAL QUERY LANGUAGE BASED ON THE ENTITYRELATIONSHIP MODELcsandit
 
Fundamentals of database system - Relational data model and relational datab...
Fundamentals of database system  - Relational data model and relational datab...Fundamentals of database system  - Relational data model and relational datab...
Fundamentals of database system - Relational data model and relational datab...Mustafa Kamel Mohammadi
 
Bsc it winter 2013 2nd sem
Bsc it  winter 2013 2nd semBsc it  winter 2013 2nd sem
Bsc it winter 2013 2nd semsmumbahelp
 

Tendances (17)

Gui stud
Gui studGui stud
Gui stud
 
228-SE3001_2
228-SE3001_2228-SE3001_2
228-SE3001_2
 
ch14
ch14ch14
ch14
 
Chapter 6 relational data model and relational
Chapter  6  relational data model and relationalChapter  6  relational data model and relational
Chapter 6 relational data model and relational
 
Extractive Summarization with Very Deep Pretrained Language Model
Extractive Summarization with Very Deep Pretrained Language ModelExtractive Summarization with Very Deep Pretrained Language Model
Extractive Summarization with Very Deep Pretrained Language Model
 
Introduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John MulhallIntroduction to Software - Coder Forge - John Mulhall
Introduction to Software - Coder Forge - John Mulhall
 
Processing vietnamese news titles to answer relative questions in vnewsqa ict...
Processing vietnamese news titles to answer relative questions in vnewsqa ict...Processing vietnamese news titles to answer relative questions in vnewsqa ict...
Processing vietnamese news titles to answer relative questions in vnewsqa ict...
 
Functional dependencies and normalization for relational databases
Functional dependencies and normalization for relational databasesFunctional dependencies and normalization for relational databases
Functional dependencies and normalization for relational databases
 
ch6
ch6ch6
ch6
 
Statistical Named Entity Recognition for Hungarian – analysis ...
Statistical Named Entity Recognition for Hungarian – analysis ...Statistical Named Entity Recognition for Hungarian – analysis ...
Statistical Named Entity Recognition for Hungarian – analysis ...
 
Lecture Notes in Computer Science:
Lecture Notes in Computer Science:Lecture Notes in Computer Science:
Lecture Notes in Computer Science:
 
M1803058993
M1803058993M1803058993
M1803058993
 
Presentation
PresentationPresentation
Presentation
 
COQUEL: A CONCEPTUAL QUERY LANGUAGE BASED ON THE ENTITYRELATIONSHIP MODEL
COQUEL: A CONCEPTUAL QUERY LANGUAGE BASED ON THE ENTITYRELATIONSHIP MODELCOQUEL: A CONCEPTUAL QUERY LANGUAGE BASED ON THE ENTITYRELATIONSHIP MODEL
COQUEL: A CONCEPTUAL QUERY LANGUAGE BASED ON THE ENTITYRELATIONSHIP MODEL
 
Chapter3
Chapter3Chapter3
Chapter3
 
Fundamentals of database system - Relational data model and relational datab...
Fundamentals of database system  - Relational data model and relational datab...Fundamentals of database system  - Relational data model and relational datab...
Fundamentals of database system - Relational data model and relational datab...
 
Bsc it winter 2013 2nd sem
Bsc it  winter 2013 2nd semBsc it  winter 2013 2nd sem
Bsc it winter 2013 2nd sem
 

Similaire à Possible Algorithms of 2NF and 3NF for DBNorma- A tool for Relational Database Normalization

Named Entity Recognition (NER) Using Automatic Summarization of Resumes
Named Entity Recognition (NER) Using Automatic Summarization of ResumesNamed Entity Recognition (NER) Using Automatic Summarization of Resumes
Named Entity Recognition (NER) Using Automatic Summarization of ResumesIRJET Journal
 
Named Entity Recognition using Bi-LSTM and Tenserflow Model
Named Entity Recognition using Bi-LSTM and Tenserflow ModelNamed Entity Recognition using Bi-LSTM and Tenserflow Model
Named Entity Recognition using Bi-LSTM and Tenserflow ModelIRJET Journal
 
IRJET - Voice based Natural Language Query Processing
IRJET -  	  Voice based Natural Language Query ProcessingIRJET -  	  Voice based Natural Language Query Processing
IRJET - Voice based Natural Language Query ProcessingIRJET Journal
 
FEATURES MATCHING USING NATURAL LANGUAGE PROCESSING
FEATURES MATCHING USING NATURAL LANGUAGE PROCESSINGFEATURES MATCHING USING NATURAL LANGUAGE PROCESSING
FEATURES MATCHING USING NATURAL LANGUAGE PROCESSINGIJCI JOURNAL
 
IRJET- Automatic Database Schema Generator
IRJET- Automatic Database Schema GeneratorIRJET- Automatic Database Schema Generator
IRJET- Automatic Database Schema GeneratorIRJET Journal
 
Ch 1 Introduction to Object Oriented Programming.pptx
Ch 1 Introduction to Object Oriented Programming.pptxCh 1 Introduction to Object Oriented Programming.pptx
Ch 1 Introduction to Object Oriented Programming.pptxMahiDivya
 
12 couplingand cohesion-student
12 couplingand cohesion-student12 couplingand cohesion-student
12 couplingand cohesion-studentrandhirlpu
 
Intelligent query converter a domain independent interfacefor conversion
Intelligent query converter a domain independent interfacefor conversionIntelligent query converter a domain independent interfacefor conversion
Intelligent query converter a domain independent interfacefor conversionIAEME Publication
 
TECHNIQUES FOR COMPONENT REUSABLE APPROACH
TECHNIQUES FOR COMPONENT REUSABLE APPROACHTECHNIQUES FOR COMPONENT REUSABLE APPROACH
TECHNIQUES FOR COMPONENT REUSABLE APPROACHcscpconf
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IJCSEA Journal
 
The LINQ Between XML and Database
The LINQ Between XML and DatabaseThe LINQ Between XML and Database
The LINQ Between XML and DatabaseIRJET Journal
 
Programming In C++
Programming In C++ Programming In C++
Programming In C++ shammi mehra
 
IRJET- Semantics based Document Clustering
IRJET- Semantics based Document ClusteringIRJET- Semantics based Document Clustering
IRJET- Semantics based Document ClusteringIRJET Journal
 
Knowledge Graph and Similarity Based Retrieval Method for Query Answering System
Knowledge Graph and Similarity Based Retrieval Method for Query Answering SystemKnowledge Graph and Similarity Based Retrieval Method for Query Answering System
Knowledge Graph and Similarity Based Retrieval Method for Query Answering SystemIRJET Journal
 

Similaire à Possible Algorithms of 2NF and 3NF for DBNorma- A tool for Relational Database Normalization (20)

Named Entity Recognition (NER) Using Automatic Summarization of Resumes
Named Entity Recognition (NER) Using Automatic Summarization of ResumesNamed Entity Recognition (NER) Using Automatic Summarization of Resumes
Named Entity Recognition (NER) Using Automatic Summarization of Resumes
 
Named Entity Recognition using Bi-LSTM and Tenserflow Model
Named Entity Recognition using Bi-LSTM and Tenserflow ModelNamed Entity Recognition using Bi-LSTM and Tenserflow Model
Named Entity Recognition using Bi-LSTM and Tenserflow Model
 
IRJET - Voice based Natural Language Query Processing
IRJET -  	  Voice based Natural Language Query ProcessingIRJET -  	  Voice based Natural Language Query Processing
IRJET - Voice based Natural Language Query Processing
 
FEATURES MATCHING USING NATURAL LANGUAGE PROCESSING
FEATURES MATCHING USING NATURAL LANGUAGE PROCESSINGFEATURES MATCHING USING NATURAL LANGUAGE PROCESSING
FEATURES MATCHING USING NATURAL LANGUAGE PROCESSING
 
Question bank unit i
Question bank unit iQuestion bank unit i
Question bank unit i
 
IRJET- Automatic Database Schema Generator
IRJET- Automatic Database Schema GeneratorIRJET- Automatic Database Schema Generator
IRJET- Automatic Database Schema Generator
 
653 656
653 656653 656
653 656
 
Ch 1 Introduction to Object Oriented Programming.pptx
Ch 1 Introduction to Object Oriented Programming.pptxCh 1 Introduction to Object Oriented Programming.pptx
Ch 1 Introduction to Object Oriented Programming.pptx
 
L5 m256 block2_unit5
L5 m256 block2_unit5L5 m256 block2_unit5
L5 m256 block2_unit5
 
12 couplingand cohesion-student
12 couplingand cohesion-student12 couplingand cohesion-student
12 couplingand cohesion-student
 
Data structure
Data structureData structure
Data structure
 
Intelligent query converter a domain independent interfacefor conversion
Intelligent query converter a domain independent interfacefor conversionIntelligent query converter a domain independent interfacefor conversion
Intelligent query converter a domain independent interfacefor conversion
 
TECHNIQUES FOR COMPONENT REUSABLE APPROACH
TECHNIQUES FOR COMPONENT REUSABLE APPROACHTECHNIQUES FOR COMPONENT REUSABLE APPROACH
TECHNIQUES FOR COMPONENT REUSABLE APPROACH
 
OOP ppt.pdf
OOP ppt.pdfOOP ppt.pdf
OOP ppt.pdf
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
 
The LINQ Between XML and Database
The LINQ Between XML and DatabaseThe LINQ Between XML and Database
The LINQ Between XML and Database
 
Programming In C++
Programming In C++ Programming In C++
Programming In C++
 
IRJET- Semantics based Document Clustering
IRJET- Semantics based Document ClusteringIRJET- Semantics based Document Clustering
IRJET- Semantics based Document Clustering
 
Knowledge Graph and Similarity Based Retrieval Method for Query Answering System
Knowledge Graph and Similarity Based Retrieval Method for Query Answering SystemKnowledge Graph and Similarity Based Retrieval Method for Query Answering System
Knowledge Graph and Similarity Based Retrieval Method for Query Answering System
 

Plus de IDES Editor

Power System State Estimation - A Review
Power System State Estimation - A ReviewPower System State Estimation - A Review
Power System State Estimation - A ReviewIDES Editor
 
Artificial Intelligence Technique based Reactive Power Planning Incorporating...
Artificial Intelligence Technique based Reactive Power Planning Incorporating...Artificial Intelligence Technique based Reactive Power Planning Incorporating...
Artificial Intelligence Technique based Reactive Power Planning Incorporating...IDES Editor
 
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...IDES Editor
 
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...IDES Editor
 
Line Losses in the 14-Bus Power System Network using UPFC
Line Losses in the 14-Bus Power System Network using UPFCLine Losses in the 14-Bus Power System Network using UPFC
Line Losses in the 14-Bus Power System Network using UPFCIDES Editor
 
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...IDES Editor
 
Assessing Uncertainty of Pushover Analysis to Geometric Modeling
Assessing Uncertainty of Pushover Analysis to Geometric ModelingAssessing Uncertainty of Pushover Analysis to Geometric Modeling
Assessing Uncertainty of Pushover Analysis to Geometric ModelingIDES Editor
 
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...IDES Editor
 
Selfish Node Isolation & Incentivation using Progressive Thresholds
Selfish Node Isolation & Incentivation using Progressive ThresholdsSelfish Node Isolation & Incentivation using Progressive Thresholds
Selfish Node Isolation & Incentivation using Progressive ThresholdsIDES Editor
 
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...IDES Editor
 
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...IDES Editor
 
Cloud Security and Data Integrity with Client Accountability Framework
Cloud Security and Data Integrity with Client Accountability FrameworkCloud Security and Data Integrity with Client Accountability Framework
Cloud Security and Data Integrity with Client Accountability FrameworkIDES Editor
 
Genetic Algorithm based Layered Detection and Defense of HTTP Botnet
Genetic Algorithm based Layered Detection and Defense of HTTP BotnetGenetic Algorithm based Layered Detection and Defense of HTTP Botnet
Genetic Algorithm based Layered Detection and Defense of HTTP BotnetIDES Editor
 
Enhancing Data Storage Security in Cloud Computing Through Steganography
Enhancing Data Storage Security in Cloud Computing Through SteganographyEnhancing Data Storage Security in Cloud Computing Through Steganography
Enhancing Data Storage Security in Cloud Computing Through SteganographyIDES Editor
 
Low Energy Routing for WSN’s
Low Energy Routing for WSN’sLow Energy Routing for WSN’s
Low Energy Routing for WSN’sIDES Editor
 
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...IDES Editor
 
Rotman Lens Performance Analysis
Rotman Lens Performance AnalysisRotman Lens Performance Analysis
Rotman Lens Performance AnalysisIDES Editor
 
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral Images
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral ImagesBand Clustering for the Lossless Compression of AVIRIS Hyperspectral Images
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral ImagesIDES Editor
 
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...IDES Editor
 
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...IDES Editor
 

Plus de IDES Editor (20)

Power System State Estimation - A Review
Power System State Estimation - A ReviewPower System State Estimation - A Review
Power System State Estimation - A Review
 
Artificial Intelligence Technique based Reactive Power Planning Incorporating...
Artificial Intelligence Technique based Reactive Power Planning Incorporating...Artificial Intelligence Technique based Reactive Power Planning Incorporating...
Artificial Intelligence Technique based Reactive Power Planning Incorporating...
 
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...
Design and Performance Analysis of Genetic based PID-PSS with SVC in a Multi-...
 
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...
Optimal Placement of DG for Loss Reduction and Voltage Sag Mitigation in Radi...
 
Line Losses in the 14-Bus Power System Network using UPFC
Line Losses in the 14-Bus Power System Network using UPFCLine Losses in the 14-Bus Power System Network using UPFC
Line Losses in the 14-Bus Power System Network using UPFC
 
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...
Study of Structural Behaviour of Gravity Dam with Various Features of Gallery...
 
Assessing Uncertainty of Pushover Analysis to Geometric Modeling
Assessing Uncertainty of Pushover Analysis to Geometric ModelingAssessing Uncertainty of Pushover Analysis to Geometric Modeling
Assessing Uncertainty of Pushover Analysis to Geometric Modeling
 
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
 
Selfish Node Isolation & Incentivation using Progressive Thresholds
Selfish Node Isolation & Incentivation using Progressive ThresholdsSelfish Node Isolation & Incentivation using Progressive Thresholds
Selfish Node Isolation & Incentivation using Progressive Thresholds
 
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...
Various OSI Layer Attacks and Countermeasure to Enhance the Performance of WS...
 
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...
Responsive Parameter based an AntiWorm Approach to Prevent Wormhole Attack in...
 
Cloud Security and Data Integrity with Client Accountability Framework
Cloud Security and Data Integrity with Client Accountability FrameworkCloud Security and Data Integrity with Client Accountability Framework
Cloud Security and Data Integrity with Client Accountability Framework
 
Genetic Algorithm based Layered Detection and Defense of HTTP Botnet
Genetic Algorithm based Layered Detection and Defense of HTTP BotnetGenetic Algorithm based Layered Detection and Defense of HTTP Botnet
Genetic Algorithm based Layered Detection and Defense of HTTP Botnet
 
Enhancing Data Storage Security in Cloud Computing Through Steganography
Enhancing Data Storage Security in Cloud Computing Through SteganographyEnhancing Data Storage Security in Cloud Computing Through Steganography
Enhancing Data Storage Security in Cloud Computing Through Steganography
 
Low Energy Routing for WSN’s
Low Energy Routing for WSN’sLow Energy Routing for WSN’s
Low Energy Routing for WSN’s
 
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...
Permutation of Pixels within the Shares of Visual Cryptography using KBRP for...
 
Rotman Lens Performance Analysis
Rotman Lens Performance AnalysisRotman Lens Performance Analysis
Rotman Lens Performance Analysis
 
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral Images
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral ImagesBand Clustering for the Lossless Compression of AVIRIS Hyperspectral Images
Band Clustering for the Lossless Compression of AVIRIS Hyperspectral Images
 
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...
Microelectronic Circuit Analogous to Hydrogen Bonding Network in Active Site ...
 
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
Texture Unit based Monocular Real-world Scene Classification using SOM and KN...
 

Dernier

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Dernier (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Possible Algorithms of 2NF and 3NF for DBNorma- A tool for Relational Database Normalization

  • 1. ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011 Possible Algorithms of 2NF and 3NF for DBNorma- A tool for Relational Database Normalization Pranalini Ketkar1 , Dr.B.V.Barbadekar 2 , and P.S.Dhabe 3 1 Department of Information Technology, Dnyanganga College of Engineering and research, Pune, India Email: pranalini.ketkar @gmail.com 2 Department of Computer Engineering Vishwakarma Institute of Technology, Pune, India Email: balaji.barbadekar@vit.edu 3 Department of Computer Engineering Vishwakarma Institute of Technology, Pune, India Email: priyadarshan.dhabe@vit.edu Abstract —D B Norma [1 ] is a semi au tomate d d a tab a se Normalization is mostly carried out manually in the software normalization tool, which uses a singly linked list to store a industries, which demand skilled personnel with expertise relation and functional dependencies hold on it. This paper in normalization. To model today’s enterprise we require describes possible algorithms that can be used to normalize a large number of relations, each containing large number of given relation rep resen ted usin g sing ly linked list. These attributes and functional dependencies. So, generally, more algorithms are tested on various relational schemas collected than one person’s involvement is needed in manual process from several research papers/resources and output validated. We have also determined the time required to normalize a given of normalization. Following are the obvious drawbacks of relation in 2NF and 3NF and found that it is proportional to normalization carried out manually. number of attributes and number of functional dependencies 1) It is time consuming and thus less productive: To model present in that relation. The time required, on average, is in an enterprise a large number of relations containing large order of 186 msec for 2NF and 209 msec for 3NF. By observing number of attributes and functional dependencies may be time required, one can conclude that these algorithms can be required used for normalizing relations within the shorter time; this is 2) It is prone to errors: due to reasons stated in 1. specifically needed when database designer is using a universal 3) It is costly: Since it needs skilled persons having relation. expertise in Relational database design. Index Terms—Relation,functional dependency, normalization, To eliminate these drawbacks several researchers already normal forms. tried for automation of this process. Ali Ya zici, et.al [4] I. I NTRODUCTION proposed a tool called JMathNorm, which is designed using inbuilt functions provided by Mathematica and thus Profits of any commercial organization are dependant on its dependent on Mathematica. This tool provides facility to productivity and quality of the products. Naturally, to normalize a given relation up to Boyce-codd normal form improve profitability it needs to increase productivity without including 3NF. Its GUI is written in Java and linked with scarifying quality. To achieve this, it is necessary for an Mathematica using Jlink library. organization to automate the tasks involved in the design Hongbo Du and Laurent Wery [5] proposed a tool called and development of its product. From the past few decades Micro, which uses two linked lists to represent a relation relational databases proposed by Dr. Codd [2] are widely along with functional dependencies. One list stores all the used in almost all commercial applications to store, attributes and other stores functional dependencies holding manipulate and use the bulk of data related with a specific on it. Our tool DBNorma uses a novel approach of only one enterprise, for decision making.(detailed discussion on linked list to represent a relation as well as functional relational database can be found in [3]). Their proven dependencies holding on it and thus requires less space as capability to manage the enterprise in a simple, efficient and compared to Micro [5]. reliable manner opened a new arena for software industries We have also seen a US patent [6], where a database needing good backend database systems for development normalizing system is proposed. This system takes input as of various IT systems for their clients. The success of a a collection of records stored in a table and by observing a relational database systems modeled for a given enterprise record source it normalizes the given database. But our is dependant on the design of relational schema and an system DBNorma works at schema level i.e. it normalizes a important step in the design of relational database is relation before defining a table and entering records into it. Normalization, which takes a roughly defined bigger relation Remaining parts of the paper are organized as follows. as input along with attributes and functional dependencies Section 2 describes node structure with example. Possible and produces more than one smaller relational schema in algorithm of 2NF and 3NF used in DBNorma are described such a way that they will be free from redundancy, insertion in sect ion 3.Stan dard rel ational sch emas used for and deletion anomalies. experimentation and Experimental results are discussed in Section 4.Conclusions based on empirical evidences are drawn in section 4 and references are cited at the end. © 2011 ACEEE 29 DOI: 01.IJIT.01.01.86
  • 2. ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011 II. SINGLE LINKED LIST NODE STRUCTURE AND Employee (e_id, e_s_name, j_class, CHPH) REAL WORLD EXAMPLE e_id e_s_name, j_class, CHPH (1) As mentioned in [1] node structure used in DBNorma and j_class CHPH ( 2) its description is as follows. We have decided to enter all the prime attributes first and then non prime ones. This specific order helps us to get determiners of non prime attributes since they will be already entered in linked list. Hence a new and first node will be created for the prime attribute e_id. Let that Counter is set to 001. A node for e_id attribute is as shown in fig2. Figure 1. Linked List Node Structure nodeid: It is a node identifier ( a unique number ) assigned to each newly generated node and is stored inside the node itself . This number can be generated by using a counter, Figure 2. Snapshot of Linked List when first node is added in it which need to be reset for normalizing a new database. When In figure 2, first field is set to 001, since it is the nodeid of new node is added on a linked list counter will be incremented this node Second field indicates name of attribute i.e. e_id. by 1. Third field is set to 1, since e_id is an atomic attribute. Fourth attribute name: This field is used to hold the attribute name. field is set to NULL, indicating that each cell of this field is It allows underscores and special character and size can at set to NULL. The fifth field is set to NULL as functional least 50 characters. dependencies are not entered yet. The Sixth field is set to 1, since e_id is a key attribute. The last attribute is set to NULL attribute type: This field is used to hold type of the attribute indicating it is the last node on the list. and will hold m for multivalued attribute, s for atomic Now the next attribute to be added is j_class as it is attribute, c for composite attribute and p for prime attribute. nonprime as well as determiner attribute. Hence the linked It will be of size 1 character long. list structure after adding this attribute is shown in fig 3. determiner_id[]: This field holds all the determiners of this attribute. A Determiner can be composite or atomic. E.g. Consider node represents an attribute C and we have AB C and D C then the two determiners of C are (A,B) and (D) and thus their nodeid’s will be stored in determiner_ id [] of c. determiner: Determiner is an attribute which takes part in left hand side of FD. This field indicates whether this attribute is determiner or not and of binary valued a size of 1 character will be more than sufficient. If this filed is set to 1 indicates that this attribute is a determiner otherwise it is dependant. keyattribute: This is a binary field and holds 1 if this attribute is taking part in primary key else it is 0. Size of 1 character is sufficient for this purpose. Figure 3. Snapshot of Linked List when second node is added in it ptrTonext: This field hold pointer (link) to next node and At last all the dependent i.e. e_s_name and CHPH will will be NULL if this is the last node on the list. be added into linked list hence the linked list after adding An example of representing a real word relation and its all the attributes details is shown in fig 4. FD’s using a signally linked list is shown below. Consider a relation employee containing e_id as primary key e_ name as employee surname, j_class indicating job category and CHPH representing charge per hour. This relation and all FD’s holds on it are shown below © 2011 ACEEE 30 DOI: 01.IJIT.01.01.86
  • 3. ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011 A. Algorithms For Computing Second Normal Form Of Given Relation SecondNormalForm (listptr ): This algorithm takes input as a 1NF relation represented in computers memory in a linked list format and cuts this linked list according to the definition of 2NF into two or more separate lists. These newly created lists represent decomposed relations of a bigger relation taken as input and are in 2NF. A listptr is a single linked list which represents a relation to be converted in to 2NF and FD’s hold on it.This algorithm internally uses other two algorith ms n amely Pri meKeyCount(listptr) and OtherDependants(listptr, trav).The function PrimeKeyCount (listptr) returns total no of prime key attributes used in input relation. It also uses OtherDependents (listptr, trav) function Figure 4. Linked List Structure after adding all the attribute details to find out all the dependents of the same determiner. This algorithm uses two variable pointer trav and temp for After adding all the attributes we need to add information traversing the list and one integer variable counter.It also about all the FD’s holds on the relation employee in the linked uses two arrays to store the newly created tables and attributes list representation of this relation. Note that FD’s will be used in them. This algorithm is given below and Output of added one after the other. One more thing is that we need to this algorithm is tables generated in 2NF convert FD into a format such that right hand side will contain only dependant. Thus FD (1) will be broken into three FD’s BEGIN as follows 1) Find total no of prime attributes in linked list Call PrimeKeyCount(listptr) e_id e_s_name 2) Node * trav e_id j_class trav = Head; e_id CHPH counter =0; while (trav ptTonext !=NULL) Th us detai ls of 4 FD’s wil l be added. Li nked list if (trav keyAttribute=0) representation after adding FD’s detail is shown in fig 5. /* it means attribute is non key attributes */ then find the determiner id[] of trav if (determiner_id[] of trav == primary key) then counter++ ; if (counter==keyCount) /*means full dependancy exists */ then Call otherDependent(listptr, trav ) elseif ((counter < keyCount) && (counter ==sizeof(trav determiner_ id))) /*means partial dependancy exist*/ then Call otherDependent(listptr, trav ) elseif ( (counter ==0 ) && (counter< sizeof(trav determiner_ id) ) /* means transitive dependancy exist */ then Call otherDependent(listptr, trav ) Find on which prime arribute both determiner and Figure 5. Linked List Structure after adding all the FD’s dependent of trav (current node) depends also add both determiner and dependent in same table of that prime III. POSSIBLE A LGORITHMS FOR DBNORMA attribute. 3) Once all dependent of same determiner is found It is assumed that reader is familiar with definition Create their table in oracle. Mark table name and table of different normal forms. On the other hand, tables of attributes in separate array. relational database are assumed to be in 1NF.Order of trav = trav ptrTonext entering attributes in linked list is assumed as prime attributes 4) Repeat step1 to step 3 are entered first, then all the determiner other than prime for unmark table name and attributes. attributes are entered and All the dependents are entered at END last. © 2011 ACEEE 31 DOI: 01.IJIT.01.01.86
  • 4. ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011 B. Algorithm for Finding Number of Prime Attributes created tables. This algorithm is below and Output of this algorithm is tables generated in 3NF PrimeKeyCount(listptr) : This algorithm takes a relation BEGIN (listptr) represented as a single linked list and returns total 1) Find total no of prime attributes in linked list no of prime attributes present in a relation. Call PrimeKeyCount(listptr) BEGIN 2) Node * trav int keyCount=0 ; trav = Head; node* q; counter =0; if (q keyAttribute ==1) then while (trav ptTonext !=NULL) keyCount++ ; if (trav keyAttribute=0) q=q ptrTonext; /* it means attribute is non key attributes */ return( keyCount) then find the determiner id[] of trav END if (determiner_id[] of trav == primary key) C. Algorithm or Finding Other Dependent Of Same then counter++ ; Determiner: if (counter==keyCount) /*means full dependancy exists */ OtherDependent(listptr,trav): This algorithms is used to then Call otherDependent(listptr, trav ) find all the dependent non key attributes of same determiner. elseif ((counter < keyCount) && Consider the relation employee [10], (counter ==sizeof(trav determiner_ id))) employee(e_ id, e_s_ name , j_class ,CHPH) and /*means partial dependancy exist*/ functional dependencies hold on it as then Call otherDependent(listptr, trav ) e_id e_s _name, j _class, CHPH elseif ( (counter >0 ) && j_class CHPH (counter< sizeof(trav determiner_ id) ) In this example while traversing a linked list made for then Call otherDependent(listptr, trav ) relation employee , when the first non key attribute e_s_name will appear ,we will first find its type of Find on which prime arribute both functional dependency, then all other non key attributes determiner and dependent of trav (current determined by determiner of e_ s_ name (i.e. j_class, CHPH) node) depends also add both determiner will be returned by using OtherDependent(listptr,trav) and dependent in same table of that prime Function. attribute. Input: determiner id [ ] of trav of linked list. elseif (counter==0) Output: Array of all the dependent of same determiner /* means transitive dependancy exist */ with determiner_ id []. then Call otherDependent(listptr, trav ) BEGIN 3) Once all dependent of same determiner is found int counter=0; create their table in oracle. Mark table name and table String dependentArray[ ] ; attributes in separate array. Node * temp; trav = trav ptrTonext temp=Head ; 4) Repeat step1 to step 3 while (temp ptrTonext != NULL) for unmark table name and attributes. if (determiner_id[]of trav==determiner_id[]of temp) END then counter ++; if ((counter == lengthof (trav determiner id[]) IV. EXPERIMENTATION AND RESULT &&(counter ==lengthof(temp determiner id[])) then add temp attributeName in dependantArray[] To test the performance of DBNorma using these return (dependantArray[]) algorithms we have collected 10 examples of relation END normalization up to 3NF from various research papers. Table 1 shows description of few of these relations where NOA is D. Algorithms For Computing Third Normal Form Of number of attributes and NOFD is number of functional Given Relation dependancies.Table2 shows the decomposition of relations ThirdNormalForm(listptr) : This algorithm is used to convert shown in Table 1 into 2NF and 3NF. In Table 1 and 2 FD are a 2NF relation into the 3NF. listptr is a single linked list separated by semicolon. Table 2 is used for testing the output which represents a relation in 2NF and all FD’s hold on it. It of our tool DBNorma. These relations can also be helpful to uses function PrimeKeyCount(listptr), which returns total the readers as a reference. no of prime attributes used in a relation. It also uses OtherDependent (listptr,Trav) function to find out all A. Actual Result: dependents of same determiner. This algorithm uses two Table 2 shows the expected output of proposed variable pointer trav and temp and one integer variable algorithms collected from the above research papers. We have counter. It also uses two arrays to store attributes of newly compared output of DBNorma using above algorithms with the expected output from Table 2 and can say that output of © 2011 ACEEE 32 DOI: 01.IJIT.01.01.86
  • 5. ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011 DBNorma using above algorithms is valid and it works in expected manner. B. Time Analysis: Table 3 shows the performance i.e. time required to normalize the given relation, where T2NF is time required to bring a relation in 2NF measured in mili-seconds. Similarly T3NF is time required to bring a relation in 3NF. Plot of number of attributes and time required to bring relation in 2NF and 3NF using DBNorma is shown in Fig.6 and Fig.7similarly Plot of number of functional dependencies and time required to bring relation in 2NF and 3NF using DBNorma is shown in Fig8 and Fig9.From the graphs shown in Fig. 6 to 9,It is observed that the time required to convert a given relation into 2NF is around linear but for 3NF it is observed non-linear as compared to 2NF, due to transitive dependency. It can also be concluded that the time required to bring the given relation into 2NF and 3NF does not depend only on number of Attributes or only on number of FDs but depends on both no of FDs and no of Attributes. © 2011 ACEEE 33 DOI: 01.IJIT.01.01.86
  • 6. ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011 © 2011 ACEEE 34 DOI: 01.IJIT.01.01.86
  • 7. ACEEE Int. J. on Information Technology, Vol. 01, No. 01, Mar 2011 A CKNOWLEDGM ENT We are thankful to management of Dnyanganga College of Engineerimg and research and Vishwakarma Institute of Technology, Pune for their encouragement and whole hearted cooperation during this work. REFERENCES [1] P.S.D habe,M.L.D hore,B.V.B arbadekar an d K Abh yankar “Representation Of A Database Relation And Its unctional Depen den cies U sing A Sin gly Lin ked List Structure For Au tomation Of R elational Database Normalization u sing DBNorma.IJERIA in Vol.3, No.2, May 2010. [2] E. F. Codd, A relational model of data for large shared data ban ks,Commun ications of the AC M,. vol. 13, No.6 , pp. 377387, June 1970. [3] E. F. Codd, The relational model for database anagement: version 2, Addison Wesley, 1990. [4] Ali Yazici, Ziya Ka raka ya , JM a th No rm : A dat abas e normalization tool using mathematica, in proc. int. conf. on computational science (2),pp.186-193, 2007. CONCLUSIONS [5] Hongbo Du and Laurent Wery, Micro: A normalization tool This paper represents a new semi-automated approach for for relational databse design ers, jou rn al of network an d relational database normalization. It proves that a relation computer application,Vol.22, pp.215-232, 1999 can be represented with only one singly linked list along [6] US Patent 5778375 - Database normalizing system [7] http://www.cs.man.ac.uk/horrocks/Teaching/cs2312/Lectures/ with its set of FD’s. As the understanding of linked list is PPT/NFexamples.ppt easy, the representation is easy to understand. The definition [8] Bahmani A, Naghibzadeh M and Bahmani B , “Automatic of 2NF and 3 NF algorithms on such a representation database normalization and primary key generation”, Niagara becomes efficient since linked list structure can be Falls.Canada IEEE-2008. manipulated efficiently. Algorithms suggested in this paper [9] Thomas C and Carolyn B, Systems”, pearson, third edition, are very efficient and can be used as an alternative algorithm 2005.Rob, Coronel, Database systems, design, implementation for DBNorma. However, we will compare our algorithms an d managemen t, course tech noilogy, Thomson learnin g, with other similar algorithms, in the future. fourth edition, 2001 © 2011 ACEEE 35 DOI: 01.IJIT.01.01.86