Patent US5537559A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5809296A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and structure for clustering database tables into classes and presenting each class as an E-R model

Assignee: CENTURY OASIS Ltd
•
Filing: 1994-11-29
•
Granted: 1998-09-15
•
Expires: 2014-11-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A reverse engineering technology is capable of automatically reversing from a physical data model comprising a relational or 4GL data model of an existing application database into a logical data model comprising classes and an entity-relationship (E-R) model of each class, the classes representing the different types of high-level objects that make up the application. This logical data model allows users to have a much clearer understanding of their application database thereby increasing their productivity and ease of maintenance of their existing applications. This is made possible by the method and structure of this invention first capturing the application semantics from the physical data model to provide a set of derived semantics. The derived semantics are then used to identify classes and derive the class definitions which are then used to derive the E-R model of each class. In addition, the derived semantics can be easily updated by the method and structure of this invention when the physical data model is changed.

Inventors

  • 👤 Dennis Yong
  • 👤 Viktor Choong-Hung Cheng
  • 👤 Liat Lim
  • 👤 Siew Choon Tay

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 14:20
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/284; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99942; Y10S707/99943

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 139 words
A reverse engineering system for generating a logical data model from an application database having a plurality of database tables defined using a relational data model, comprising: a semantics extractor to derive a set of binary relationships and to derive an entity type for each said database table of said relational data model, said entity types classifying each said database table in accordance with a predefined criteria; a class generator for reading said set of binary relationships and said entity types, and for generating a set of classes, each class representing a select grouping of said database tables based on a classification scheme that utilizes said binary relationships and a particular entity type associated with each database table; and an entity-relationship (ER) model generator for generating one or more ER models, said ER models representing said logical data model.
Claim 2
Dependent Claim 139 words
A reverse engineering system for generating a logical data model from an application database having a plurality of database tables defined using a relational data model, comprising: a semantics extractor to derive a set of binary relationships and to derive an entity type for each said database table of said relational data model, said entity types classifying each said database table in accordance with a predefined criteria; a class generator for reading said set of binary relationships and said entity types, and for generating a set of classes, each class representing a select grouping of said database tables based on a classification scheme that utilizes said binary relationships and a particular entity type associated with each database table; and an entity-relationship (ER) model generator for generating one or more ER models, said ER models representing said logical data model.
Claim 3
Dependent Claim 44 words
A reverse engineering system as in claim 1 wherein said entity type is selected from a set of entity types which comprise a kernel entity type, a subtype entity type, a characteristic entity type, an associative entity type or a pure lookup entity type.
Claim 4
Dependent Claim 47 words
A reverse engineering system as in claim 2 wherein each said class is a tree having a root comprising a database table of kernel entity type and a plurality of branches each comprising a linkage of one or more database tables from said subset of database tables.
Claim 5
Dependent Claim 44 words
A reverse engineering system as in claim 1 wherein said binary relationship comprises a linkage between two tables in said relational data model in which one table has a repeating or foreign key that references the unique or primary key of the other table.
Claim 6
Dependent Claim 34 words
A reverse engineering system as in claim 4 wherein said set of binary relationship comprises "has -- children", "has -- wards", "inverse -- of -- pure -- lookup" or "has -- subtype" binary relationships.
Claim 7
Dependent Claim 43 words
A reverse engineering system as in claim 5 wherein said set of binary relationships further comprises "inverse -- of -- has -- children", "inverse -- of -- has -- wards", "pure -- lookup" or "inverse -- of -- has -- subtype" binary relationships.
Claim 8
Dependent Claim 52 words
A reverse engineering system as in claim 5 wherein said "has -- children" binary relationship is one in which the source table is not a pure lookup entity type and has a one-to-many relationship with the target table, and the target table does not have its own independent unique or primary key.
Claim 9
Dependent Claim 57 words
A reverse engineering system as in claim 6 wherein said "inverse -- of -- has -- children" binary relationship is one in which the target table is not a pure -- lookup entity type and has a one-to-many relationship with the source table, and the source table does not have its own independent unique or primary key.
Claim 10
Dependent Claim 51 words
A reverse engineering system as in claim 5 wherein said "has -- wards" binary relationship is one in which its source table is not a pure lookup entity type and has a one-to-many relationship with its target table, and its target table has its own independent unique key or primary key.
Claim 11
Dependent Claim 53 words
A reverse engineering system as in claim 6 wherein said "inverse -- of -- has -- wards" binary relationship is one which the target table is not a pure lookup entity type and has a one-to-many relationship with the source table, and the source table has its own independent unique or primary key.
Claim 12
Dependent Claim 42 words
A reverse engineering system as in claim 5 wherein said "has -- subtype" binary relationship is one in which its source table has a one-to-one relationship with its target table and the target table is a subtype entity of the source table.
Claim 13
Dependent Claim 46 words
A reverse engineering system as in claim 6 wherein said "inverse -- of -- has -- subtype" binary relationship is one in which its target table has a one-to-one relationship with its source table and the source table is a subtype entity of the target table.
Claim 14
Dependent Claim 32 words
A reverse engineering system as in claim 5 wherein said "inverse -- of -- pure -- lookup" binary relationship is a binary relationship whose source table is a pure -- lookup entity.
Claim 15
Dependent Claim 27 words
A reverse engineering system as in claim 6 wherein said "pure -- lookup" binary relationship is a binary relationship whose target table is a pure lookup entity.
Claim 16
Dependent Claim 41 words
A reverse engineering system as in claim 3 wherein said class further comprises a set of relationship names each of which specifies the nature of the relationship between two adjacent database tables in each branch of said tree of said class.
Claim 17
Dependent Claim 29 words
A reverse engineering system as in claim 15 wherein said class generator further comprises a means for a user to modify said relationship names in said set of classes.
Claim 18
Dependent Claim 119 words
A reverse engineering method for generating a logical data model from an application database having a plurality of database tables defined using a relational data model, comprising the steps of: reading said relational data model; deriving a set of binary relationships from said relational data model; identifying an entity type of each database table of said relational data model, said entity types classifying each said database table in accordance with a predefined criteria; generating a set of classes of said application database using said set of binary relationships and said identified entity types; and providing one or more ER models, each ER model associated with one or more of said classes, said ER models representing said logical data model.
Claim 19
Dependent Claim 119 words
A reverse engineering method for generating a logical data model from an application database having a plurality of database tables defined using a relational data model, comprising the steps of: reading said relational data model; deriving a set of binary relationships from said relational data model; identifying an entity type of each database table of said relational data model, said entity types classifying each said database table in accordance with a predefined criteria; generating a set of classes of said application database using said set of binary relationships and said identified entity types; and providing one or more ER models, each ER model associated with one or more of said classes, said ER models representing said logical data model.
Claim 20
Dependent Claim 47 words
A reverse engineering method as in claim 17 wherein each said class is a tree having a root comprising a database table of kernel entity type and a plurality of branches each comprising a linkage of one or more database tables from said subset of database tables.
Claim 21
Dependent Claim 44 words
A reverse engineering method as in claim 17 wherein said entity type is selected from a set of entity types which comprise a kernel entity type, a subtype entity type, a characteristic entity type, an associative entity type or a pure lookup entity type.
Claim 22
Dependent Claim 44 words
A reverse engineering method as in claim 17 wherein said binary relationship comprises a linkage between two tables in said relational data model in which one table has a repeating or foreign key that references the unique or primary key of the other table.
Claim 23
Dependent Claim 34 words
A reverse engineering method as in claim 20 wherein said set of binary relationships comprises "has -- children", "has -- wards", "inverse -- of -- pure -- lookup" or "has -- subtype" binary relationships.
Claim 24
Dependent Claim 41 words
A reverse engineering method as in claim 21 wherein said set of binary relationships further comprises "inverse -- of -- has -- children", "inverse -- of -- has -- wards", "pure -- lookup" or "inverse -- of -- has-subtype" binary relationships.
Claim 25
Dependent Claim 52 words
A reverse engineering method as in claim 21 wherein said "has -- children" binary relationship is one in which the source table is not a pure lookup entity type and has a one-to-many relationship with the target table, and the target table does not have its own independent unique or primary key.
Claim 26
Dependent Claim 57 words
A reverse engineering method as in claim 22 wherein said "inverse -- of -- has -- children" binary relationship is one in which the target table is not a pure -- lookup entity type and has a one-to-many relationship with the source table, and the source table does not have its own independent unique or primary key.
Claim 27
Dependent Claim 51 words
A reverse engineering method as in claim 21 wherein said "has -- wards" binary relationship is one in which its source table is not a pure lookup entity type and has a one-to-many relationship with its target table, and its target table has its own independent unique key or primary key.
Claim 28
Dependent Claim 53 words
A reverse engineering method as in claim 22 wherein said "inverse -- of -- has -- wards", binary relationship is one which the target table is not a pure lookup entity type and has a one-to-many relationship with the source table, and the source table has its own independent unique or primary key.
Claim 29
Dependent Claim 41 words
A reverse engineering method as in claim 21 wherein said "has -- subtype" binary relationship is one which its source table has a one-to-one relationship with its target table and the target table is a subtype entity of the source table.
Claim 30
Dependent Claim 46 words
A reverse engineering method as in claim 22 wherein said "inverse -- of -- has -- subtype" binary relationship is one in which its target table has a one-to-one relationship with its source table and the source table is a subtype entity of the target table.
Claim 31
Dependent Claim 32 words
A reverse engineering method as in claim 21 wherein said "inverse -- of -- pure -- lookup" binary relationship is a binary relationship whose source table is a pure -- lookup entity.
Claim 32
Dependent Claim 27 words
A reverse engineering method as in claim 22 wherein said pure -- lookup" binary relationship is a binary relationship whose target table is a pure lookup entity.
Claim 33
Dependent Claim 41 words
A reverse engineering method as in claim 18 wherein said class further comprises a set of relationship names each of which specifies the nature of the relationship between two adjacent database tables in each branch of said tree of said class.
Claim 34
Dependent Claim 23 words
A reverse engineering method as in claim 31 which further comprises the step of modifying said relationship names in said set of classes.
Claim 35
Dependent Claim 20 words
A reverse engineering system as in claim 1 which further comprises a model purifier to alter said relational data model.
Claim 36
Dependent Claim 19 words
A reverse engineering method as in claim 17 which further comprises the step of altering said relational data model.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-09-14 2002-03-16 2002-09-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-09-14 2006-03-16 2006-09-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-09-14 2010-03-16 2010-09-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag