Semantic object modeling system for creating relational database schemas
First Claim
1. A programmed computer system for creating a relational database schema from a semantic object model, comprising:
- a central processing unit;
a memory containing a sequence of program steps that when executed by the central processing unit;
creates, in response to a user input, one or more semantic objects each of which represents an item about which data is stored in one or more tables of a relational database;
creates, in response to a user input, one or more attributes and associating the attributes with one or more semantic objects, each of the attributes representing data stored in the relational database for the item represented by the semantic object with which the attribute is associated, the attributes including simple value attributes that represent a data entry in a single column of the relational database, group attributes having one or more member attributes that represent a logical collection of attributes and object link attributes that represent relationships between the semantic objects in the semantic object model, each of the attributes having one or more properties and wherein each attribute is associated with a corresponding simple value, group or object link profile that defines default values for the one or more properties of the associated attribute;
stores in the computer system an indication for each attribute whether the attribute is multivalued, thereby representing multiple data entries in a column of a relational database;
translates the semantic objects and their associated attributes into the one or more relational database tables, by operating the computer system to;
automatically generate a relational database table for each semantic object in the semantic object model;
automatically analyze each attribute associated with a semantic object to determine whether the semantic object is associated with a multivalued group attribute having a multivalued attribute as a member attribute and, if so to;
a) create a second relational database table for the multivalued group attribute and link the second relational database table to the relational database table created for the semantic object by a foreign key; and
b) create a third relational database table for the multivalued attribute that is a member attribute of the multivalued group attribute and link the third relational database table to the second relational database table by another foreign key.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer-based system for allowing a user to create a relational database schema. The system allows a user to create a semantic object data model of the database schema. The semantic object data model is defined by one or more semantic objects, each of which includes one or more attributes that describe a characteristic of the semantic objects. The attributes are defined as being either simple value attributes that describe a single characteristic of the semantic object; group attributes that include one or more member attributes that collectively describe a characteristic of the semantic object; formula attributes that set forth a computation that describes a characteristic of a semantic object; or object link attributes that define a relationship between two or more semantic objects. Once the semantic object data model is created, the system validates the semantic objects to ensure no modeling errors have been made and transforms the semantic objects and their included attributes into a plurality of relational database tables that will store data as defined by the semantic object data model.
144 Citations
29 Claims
-
1. A programmed computer system for creating a relational database schema from a semantic object model, comprising:
-
a central processing unit; a memory containing a sequence of program steps that when executed by the central processing unit; creates, in response to a user input, one or more semantic objects each of which represents an item about which data is stored in one or more tables of a relational database; creates, in response to a user input, one or more attributes and associating the attributes with one or more semantic objects, each of the attributes representing data stored in the relational database for the item represented by the semantic object with which the attribute is associated, the attributes including simple value attributes that represent a data entry in a single column of the relational database, group attributes having one or more member attributes that represent a logical collection of attributes and object link attributes that represent relationships between the semantic objects in the semantic object model, each of the attributes having one or more properties and wherein each attribute is associated with a corresponding simple value, group or object link profile that defines default values for the one or more properties of the associated attribute; stores in the computer system an indication for each attribute whether the attribute is multivalued, thereby representing multiple data entries in a column of a relational database; translates the semantic objects and their associated attributes into the one or more relational database tables, by operating the computer system to; automatically generate a relational database table for each semantic object in the semantic object model; automatically analyze each attribute associated with a semantic object to determine whether the semantic object is associated with a multivalued group attribute having a multivalued attribute as a member attribute and, if so to; a) create a second relational database table for the multivalued group attribute and link the second relational database table to the relational database table created for the semantic object by a foreign key; and b) create a third relational database table for the multivalued attribute that is a member attribute of the multivalued group attribute and link the third relational database table to the second relational database table by another foreign key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A programmed computer system for creating a relational database schema from a semantic object model, comprising:
-
a central processing unit; a memory containing a sequence of program instructions that when executed by the central processing unit causes the central processing unit to; create, in response to a user input, one or more semantic objects, each representing an item about which data is stored in a relational database; retrieve from a memory of the computer system a plurality of predefined profiles, each profile defining default values of one or more properties of a corresponding attribute; select, in response to user input, one of the plurality of predefined profiles and associating the selected profile with a semantic object in the semantic object model; automatically create an attribute in the associated semantic object based on the selected profile, the attributes including simple value attributes that represent a data entry into a single column of the relational database, group attributes having one or more member attributes that represent a logical collection of attributes and object link attributes that represent relationships between the semantic objects in the semantic object model, wherein each attribute has one or more properties having defaults that are defined by the one or more properties of the selected profile; and translate the semantic objects and their associated attributes into a relational database schema. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A programmed computer system for creating a relational database schema from a semantic object model, comprising:
-
a central processing unit; a memory containing a sequence of program instructions that when executed cause the central processing unit to; create, in response to a user input, one or more semantic objects each of which represents an item about which data is stored in a relational database; create, in response to a user input, one or more attributes and associating the attributes with a semantic object, each of the attributes representing data stored in the relational database for the item represented by the semantic object, the attributes including simple value attributes that represent a single data entry in a column of the relational database, group attributes having one or more member attributes that represent a logical collection of attributes and object link attributes that represent relationships between the semantic objects in the semantic object model, wherein the computer system stores for each object link attribute an ID status property that defines whether one semantic object in the semantic object model is uniquely defined by another semantic object in the semantic object model; automatically validate the semantic object model to determine if a modeling error has occurred by; 1) determining if a first semantic object in the object model includes an object link attribute having an ID status property that indicates the first semantic object is uniquely defined by a second semantic object in the object model; and 2) determining if the second semantic object includes an object link attribute having an ID status property that indicates the second semantic object is uniquely defined by the first semantic object; and if conditions 1 and 2 do not occur, translating the semantic objects and their associated attributes in the semantic object model into a relational database schema. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A programmed computer system for interpreting a formula attribute in a semantic object data model of a type that includes one or more semantic objects that represent items about which data is stored in a relational database, each semantic object including one or more simple value attributes that represent a data entry in a column of a relational database, group attributes having one or more member attributes that represent a logical collection of attributes, formula attributes that represent a computed value and object link attributes that represent relationships between the semantic objects in the semantic object model, wherein the computer system stores for each formula attribute an expression property that defines a mathematical calculation in terms of one or more attributes included in the semantic object data model, the computer system comprising:
-
a central processing unit; a memory, including a sequence of program instructions that when executed by the central processing unit cause the central processing unit to; search the semantic object data model for the attributes included in the expression property of a formula attribute; determine if the attributes included in the expression property of the formula are included in more than one semantic object in the semantic object model and includes an attribute that is included in the expression property of the formula attribute; for each semantic object that includes the attribute that is found in the expression property of the formula, determine a logical distance the semantic objects are away from the formula attribute; and select the attribute that is found in the semantic object that is the closest logical distance to the formula attribute as the attribute to be used in calculating the expression property. - View Dependent Claims (26, 27, 28, 29)
-
Specification