Patent ID: 7225197

Claim:
A method of designing a data model, comprising: heuristically collecting information relating to characteristics, features and/or functions of items in a category; generating computer implemented data elements describing the characteristics, features and/or functions of the items in the category, according to the heuristically collected information of the items in the category; defining a domain of each data element as all possible valid values for each data element, based upon the characteristics, features and/or functions of the items in the category; applying varying data integrity methods as normalization of a domain of the items in the category by adjusting, including adding and/or removing, data elements, or adjusting the domain of the data elements, or any combinations thereof, according to a process including: adding data elements shared by the items in the category based upon the characteristics, features and/or functions of the items, assigning constraints for the data elements based upon the characteristics, features and/or functions of the items in the category, reading electronic data and automatically generating the data elements describing the characteristics, features and/or functions of the items by interactively querying users for information about the characteristics, features and/or functions of the items as a heuristic method to automatically generate the data elements based upon responses to the queries, and after entry of data into a data element, searching data of other fields containing data similar or same as the entered data and automatically suggesting the similar or the same data, allowing a user to verify correct domain value entry for the data element; dynamically constructing, based upon the characteristics, features and/or functions of the category of items, a search index during entry of data into the data elements; and searching the data elements via the search index to provide a search result by comparing input search terms to the index.