Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1998-11-23
2003-02-11
Homere, Jean R. (Department: 2177)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000, C707S793000, C707S793000, C705S002000
Reexamination Certificate
active
06519601
ABSTRACT:
FIELD OF THE INVENTION
The present invention is related to a relational database compiled/stored on a memory structure and adapted by access by application programs executing a query within said database.
The present invention is more precisely related to a system for developing software to be compiled in said computer.
BACKGROUND OF THE INVENTION
A database takes much of the burden of storing and managing data out of the application.
The advantages of using a database are manifold. The most important are: centralized control of data storage, sharing of data (between applications and users), centralized security, concurrency control, reduction of redundancy, . . .
Database management systems are commercially available for virtually any computer platform. The technology has proven itself and it is cost effective to use a database. The alternative to using a database is using computer files to store the data. The application becomes responsible for each of the database tasks mentioned above. Usually this option is only taken if there is no need for concurrency control, data sharing, security, . . . This is almost only the case in single user (PC) systems.
There are several approaches possible in building a database management system, but the most important is the relational approach. Relational database management systems became commercially available in the late 1970s. Their main advantage over existing database technology was that they simplified the view the user had of the data. A very loose definition of a relational database management system is given as follows: a relational system is a system in which the data are perceived by the user as tables (and nothing but tables); and the operators at the user's disposal (e.g. for data retrieval) are operators that generate new tables from old. This definition looks at a relational database management system from the user's point of view. The actual storage format of the data is of course much more complicated. But this shows the main advantage of relational systems: the user only deals with the simplified view and is completely shielded from the lower level implementation structures.
The vendors of relational systems have standardized the way to access a relational database. Practically all databases support SQL (Structured Query Language). SQL is the language with which the user can create new tables from existing ones. SQL is a declarative language: the users specifies what data need to be retrieved and from what tables but not how they need to be retrieved. Since the user has no knowledge of the underlying physical data structures, it is impossible for him to decide how the data should be retrieved. Therefore the system needs to translate each SQL statement into a query path. This specifies how the physical structures are accessed to retrieve the data.
Usually many query paths are possible for one SQL query. Almost all relational systems now have a component called the query optimizer. The query optimizer selects the path that will probably produce the desired result in the shortest time. To speed up the retrieval of data, the database administrator can define indexes. An index is a data structure that stores all values for a particular column in some table and keeps a reference to the rows containing that value. The values are stored in a structure that allows fast retrieval of a particular value. If a user wants to retrieve all the rows containing a specified value, the system can look up the value in the index, retrieve the references to the rows containing that value and use those references to directly retrieve the rows. This will be faster than scanning the whole table and checking each row for the specified value, because the index is smaller, the index is structured so that the relevant value can be retrieved without scanning the whole index. The main performance increase comes from reducing disk accesses. The disk is a mechanical device and is slow as compared to access to internal memory. Indexes are hidden from the user and the results of the query are the same whether the indexes were used or not.
The query optimizer decides which indexes will be used and in what order. To take this decision the query optimizer takes into account the length of the tables, the availability of indexes, the selectivity of the index, . . . It will always try to reduce the amount of rows to retrieve as early as possible in the query. The selection of a query path is done using heuristics so it can not be guaranteed that the optimizer will produce the optimal path. As it will be seen later on, the optimizer often does not have enough information to produce the optimal path. This is often the case for complex queries and then one can aid the optimizer by splitting the query in smaller parts which are easier to optimize.
Problem Definition
If a data model “shapes one's view and limits one's perceptions” then those limitations have to be as few as possible and the shaping should not be distorting. This shaping and limiting of the view of the world is in part a preferred effect: it structures one's world view and puts the focus on that part of the data to be manipulated using a computer. Therefore a data model is subject to three major forces:
the desire to model a defined world of interest as completely as possible,
the structure to impose on this model of the world, and
the limitations of the level of complexity in relation to the hardware and the software.
With time reality changes as do one's views of this reality. For these reasons data models might have to be changed during the life time of an application. Updates of the data model are costly in terms of human resources. Thus a data model should also be time-resistant.
The model should also allow for any data structure to be entered since a limitation of what can be entered would also limit one's world view through the model. That way all information can be captured without distortion and different models can be deduced from these raw data. The model is only deduced from the raw data. No part of the model is implied or enforced by the internal data structures since any type of structure can be entered. If the model is only deduction this also makes it time resistant. To change the model one “only” has to change the deductions, not the data representation. Another advantage is that several models can be deduced (and used) at the same time on the same raw data. Since the data are truly “raw”, that is not distorted to accommodate the structure of the internal data representation, these data can be seen as truths or essences: somebody at a certain point in time has stated that X was true. Entering data is adding a message to a gigantic pool of messages. The world is chaotic and the structure of the chaos to model is in the eye of the beholder. The problem is that the less information in the data representation, the more information needs to be deduced. If there is no structure inherent in the internal data representation this becomes a gigantic task. One trade freedom of storage for complexity of deduction. Current database technology does not allow this freedom of storage.
Relational databases are state of the art but have a much more rigid storage format than described above. In a relational database data are represented in the form of tables. A table has columns and the rows which are called records or tuples. So for each type of message a table is defined to store all the messages of that type. A message becomes a row in that table. Tables have to be defined before data can be stored in them. This limits the freedom: to foresee which types of messages will be needed. Because the structures have to be created beforehand, the users cannot add messages that where not anticipated. Using a query language the programmer can deduce new virtual tables (called “views”) from other tables. A query is the deduction of a set of tuples (view) from several other sets of tuples (tables and views). A typical database can handle queries that use up to 16 tables, but a
Homere Jean R.
Universitaire Ziekenhuizen Leuven
LandOfFree
Relational database compiled/stored on a memory structure... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Relational database compiled/stored on a memory structure..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Relational database compiled/stored on a memory structure... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3155893