WO2010060764A1 - Infotainment system and computer program product - Google Patents
Infotainment system and computer program product Download PDFInfo
- Publication number
- WO2010060764A1 WO2010060764A1 PCT/EP2009/064620 EP2009064620W WO2010060764A1 WO 2010060764 A1 WO2010060764 A1 WO 2010060764A1 EP 2009064620 W EP2009064620 W EP 2009064620W WO 2010060764 A1 WO2010060764 A1 WO 2010060764A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sub
- identifier
- properties
- property
- infotainment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
Definitions
- the invention relates to an infotainment system and a computer program product for operating the infotainment system.
- Infotainment systems are installed, for example, in modern motor vehicles and combine the transmission of information, such.
- the storage and management of this so-called infotainment data is preferably carried out by means of a database system.
- a modern database system regularly includes a database and a database management system.
- the data is stored in the database.
- the database management system is provided for managing the data in the database.
- the management of the database may include, for example, searching, reading and / or writing data in the database.
- outdated data may be updated by an update command that includes a combination of search, read, and / or write commands.
- the object of the invention is to provide an infotainment system and a computer program product for operating the infotainment system, which enables efficient storage of infotainment data.
- the invention is characterized, in a first aspect, by an infotainment system comprising a relational database stored on a storage medium and a data storage system. bank management system.
- the database management system is configured to access infotainment data stored in the relational database as data records.
- a data record has a respective identification value of a unique identifier, property values of several properties and at least one sub-identifier value of at least one subrecognition. All or at least one of the plurality of properties and one of the at least one sub-identifier are associated with at least one sub-table.
- the unique identifier, the remaining of the multiple properties, and the at least one associated sub-identifier are associated with at least one main table.
- Tuples of the property values of the properties assigned to the respective sub-table are only stored once in the respective subtable.
- the multiple properties are functionally independent. This contributes to the fact that tuples of the property values of the properties of the respective sub-table are stored only once in each sub-table. That is, a respective combination of property values associated with each tuple is stored only once in each sub-table. This helps to reduce redundancy of property values in the respective sub-table.
- a table normalized according to the third normal form there is no functional dependency between the properties assigned to the table, ie it is not possible to unambiguously conclude a property value of a property for a property value of another property. The unique identifier and subrecognition are not considered as a property. Tables that are already normalized to the third normal form of database theory may have redundancies of tuples of property values.
- the at least one main table preferably has at least one unique identifier and at least one sub-identifier.
- the at least one subtable has at least one of the at least one subkey on.
- the at least one main table and the at least one subtable each have columns and rows. Each column is assigned to a property or the unique identifier or the at least one subrecognition.
- Main table and an associated row of at least one subtable form a record.
- the respective sub-recognition value of the at least one sub-identifier represents in each case a reference of the respective line of the at least one main table to the assigned respective line of the respective sub-table.
- a tuple denotes a combination of property values that are assigned to a row of the respective subtable. Tuples of the property values may include one or more property values associated with a row of the respective subtable.
- a combination of property values, each associated with a row occurs only once in the at least one subtable.
- the data records can be stored on the storage medium of the relational database in a particularly efficient manner and with a small storage space requirement.
- a redundancy of property values associated with a property may still exist.
- the number of sub-tables is as small as possible in order to minimize the additional memory requirement, which is present due to the at least one sub-identifier.
- the relational database and the database management system can be integrated, for example, as a functional unit in the infotainment system of a motor vehicle, the infotainment system in the motor vehicle preferably being referred to as an embedded system is formed. In principle, however, it is also possible that the relational database and the database management system are designed as separate functional units in the infotainment system.
- the database management system is designed to access the at least one sub-table and to reconstruct at least one of the data records depending on the at least one sub-identifier and the property values stored in the at least one sub-table.
- the database management system is designed to first access the respective sub-table when specifying a property value of one of the properties associated with the at least one sub-table.
- the database management system is designed to compare the predetermined property value with the stored property values of the respective properties and, depending on the comparison, to determine at least one sub-identifier value of at least one assigned sub-identifier. Depending on this, at least one of the data records is determined.
- an instruction calculation unit of the database management system is preferably designed to interpret the predefined statement in such a way that the at least one sub-table is first accessed to determine the at least one sub-identifier value of the at least one sub-identifier.
- the at least one sub-identification value is determined by means of the comparison of the predetermined property value with the stored property values of the respective properties if the sub-table has a few lines.
- the infotainment system has at least one index structure that includes references to storage locations of the property values of the respective property that is assigned to the respective sub-table.
- the database administration system is designed to first access the respective index structure and to compare the predetermined property value with the property values of the respective properties stored in the index structure.
- the database management system is also designed to determine at least one sub-identifier value of at least one assigned sub-identifier, depending on the comparison. Depending on this, at least one of the data records is determined.
- the index structure allows particularly fast access to the respective property values of the sub-table on the storage medium, in particular if the subtable has particularly many lines.
- the predetermined instruction is designed as an SQL statement. This allows a particularly fast read and / or write access to the infotainment data in the relational database.
- the invention is characterized in terms of a second aspect by a computer program product.
- the computer program Product includes a computer readable medium with program instructions.
- the program instructions are executable by a computer.
- the program instructions are designed to operate the infotainment system according to the first aspect of the invention.
- FIG. 1 shows a database system
- FIG. 2 an original table
- FIG. 3 shows a main table and a sub-table
- FIG. 4 shows a further main and further sub-tables.
- An infotainment system (FIG. 1) comprises an infotainment unit INFO, a database management system RDBMS and a relational database RDB.
- the infotainment system can for example comprise a navigation unit and thus serves to find a predefined route and / or to calculate a predefined route and / or to find a predefined location and / or to determine further information.
- the infotainment system may additionally or alternatively also include a music system and be designed to find and play predetermined music pieces, for example.
- the infotainment unit INFO, the relational database RDB and the database management system RDBMS can also be embodied as software function units in the infotainment system.
- the infotainment system for example, a
- the infotainment system preferably has at least one input unit which serves to input information, for example a route and / or a piece of music, which are to be determined, and / or information on the basis of which infotainment data are changed, in particular updated.
- the infotainment unit INFO, the relational database RDB and the database management system RDBMS can be integrated as a functional unit in the infotainment system or as distributed functional units.
- the infotainment unit INFO communicates with the database management system RDBMS.
- the database management system RDBMS comprises an instruction interface SQL_IF, a statement processing unit SQL_CMD_PRO, a pager PAGER, a directory ID_LIB of index structures, and an operating system interface OS_IF.
- the database management system RDBMS communicates with the relational database RDB.
- the infotainment data e.g. Navigation data and / or music data stored.
- the infotainment unit INFO preferably communicates with the database management system RDBMS in such a way that the infotainment unit INFO sends an instruction SQL_CMD to the database management system RDBMS.
- the statement SQL_CMD can also be represented by suitable signals, which are then translated in the database management system RDBMS into the corresponding statement SQL_CMD.
- the statement SQL CMD is designed as an SQL statement.
- the SQL IF statement interface is used to verify that the SQL_CMD statement is syntactically correct. If the SQL CMD statement is syntactically correct, it will be parsed by the
- Statement interface SQL_IF passed to the statement calculation unit SQL CMD PRO.
- the instruction calculation unit SQL CMD PRO preferably determines a software execution plan depending on the statement SQL_CMD and preferably on the basis of at least one available index structure, which is stored in the index structure directory ID_LIB.
- the software execution plan is a section of the program that serves to make access to the infotainment data as efficient as possible.
- the software execution plan is passed from the statement calculation unit SQL_CMD_PRO to the pager PAGER.
- the pager PAGER serves to determine a hardware execution plan, depending on the software execution plan.
- the hardware execution plan is representative of how a hardware, such as a CD-ROM drive and / or a hard disk and / or other data carriers, which may include the relational database RDB, must be driven to execute the software execution plan.
- the hardware execution plan is transferred to the operating system interface OS_IF, which translates the hardware execution plan into corresponding setting signals for the technical device on which the infotainment data are stored, and / or which comprises the storage medium on which the infotainment data are stored.
- the infotainment data are stored in the relational database RDB as data records in tables.
- FIG. 2 shows an original table R which has ten data sets.
- Each data record is represented by an identification value of a unique identifier PK and additionally comprises five property values a-e of different properties A-E.
- the properties AE of the respective data records are indicated in capital letters, while property values ae of the properties AE are indicated in lower case letters.
- Egg- Each property is assigned a column.
- a row of the at least one main table and an associated row of the at least one subtable constitute a data record.
- the properties A-E of the original table R are functionally independent of each other and are normalized according to the third normal form.
- FIG. 2 indicates that the same property values a-e are stored in the different data sets for the plurality of properties A-E.
- the property value el of the property E of the first data set is identical to the property value el of the property E of the second through the fourth data set.
- further redundancies of property values in the original table R are indicated in FIG. 2, wherein not all redundancies are identified.
- a data record of the original table R is divided into a main data record in a main table MR and to a sub-data record in a first sub-table PR1.
- the main table MR includes the unique identifier PK and the properties A and C, as well as a first subcode PID1.
- the first sub-table PR1 comprises the first sub-identifier PID1 and the properties B, D, E associated with this identifier of the original table R, wherein a respective tuple of the property values b, d, e, which are each associated with one row of the first sub-table PR1, only in each case once stored in the first sub-table PRl.
- the tuple of the property values b5, d5, e5 of the properties B, D, E is stored only once in the first sub-table PR1
- this tuple of the property values b5, d5, e5 is stored five times, although the original table R is normalized according to the third normal form.
- a redundancy of property values of one property is still present in the first th sub-table PRl available, such.
- the property value el is stored three times in the first sub-table PR1.
- the respective sub-table can have such a small memory requirement that, for example, the respective sub-table can be temporarily stored in a cache memory of the database management system RDBMS or the relational database RDB and thus can be accessed particularly quickly. This allows a particularly efficient access to the property values of the respective sub-table.
- the respective sub-identifier value of the first sub-identifier PID1 represents the respective sub-data record in the first sub-table PR1 and makes it possible to refer the respective sub-data record from the main data record associated therewith in the main table MR.
- SQL CMD SQL CMD
- the database management system RDBMS in particular the instruction calculation unit SQL_CMD_PRO of the database management system RDBMS, is preferably configured first to the first sub-table PR1 access.
- the predetermined property value is compared with the eigenvalue stored in the first sub-table PR1.
- values b, d, e and dependent thereon determines one or more associated sub-identification values of the first sub-identifiers PID1.
- the at least one determined sub-recognition value of the first sub-identifier PID1 is representative of at least one data record which has the predetermined property value of the property B, D, E.
- the main data records in the main table MR can then be accessed particularly efficiently.
- the index structure for the first subtable PR1 may be created in the ID_LIB directory of index structures.
- the index structure then preferably references the storage locations of the sub-identification values of the first sub-IDs PID1 of the first sub-table PR1. If, for example, all the property values a of the property A are searched for, to which the predetermined property value bl of the property B is assigned, then, for example, by means of the statement SQL_CMD
- a data record of the original table R is divided into the main data record of the main table MR and to the sub-data record of the first sub-table PR1 and to another sub-data record of a second sub-table PR2.
- the main table MR additionally comprises a second sub-identifier PID2 in addition to the first sub-identifier PID1.
- the property values b of the property B of the first sub-table PR1 can be referenced by means of the respective sub-recognition value of the first sub-identifier PID1.
- the property values d, e of the properties D, E of the second sub-table PR2 can be referenced by means of the respective sub-identifier value of the second sub-identifier PID2.
- the first algorithm explains the determination of a subtable as used in Figs. 3a and 3b.
- n 'of property values of the given combination of the properties Al, A3, A5 in the original table RX lie.
- r represents the memory requirement of the respective subrecognition, e.g. 8 bytes.
- the first term o * s * (n-n ') represents the amount of bytes saved for the particular combination of properties being considered.
- the second term r * (n + n ') then represents the additionally required memory requirement, which is required due to the additional sub-IDs and which is to be deducted from the memory space saved.
- the calculation shown is calculated for each of the 2 ° possible combinations of properties.
- the combination of properties with the highest memory space savings is then preferably assigned to the subtable.
- this sub-table then also has an optimum number of rows and columns.
- the second algorithm explains the detection of several sub-tables as used in FIG.
- the following algorithm does not determine the combinations of properties with the least amount of memory, but rather combinations of properties that allow a reasonable reduction in memory requirements.
- the saved memory space can be calculated in bytes of each property, where s, n, n ', and r have the same meaning as in the first algorithm.
- an attempt is made to merge two property pairs to form a property triplet. If, for example, the two property pairs Ai, Aj and Ak, Aj are present, then it can be checked whether the property triplet Ai, Aj, Ak saves more storage space than the associated property pairs Ai, Aj and Ak, Aj.
- two property striplets are combined into a property tuple of length 4 and evaluated. If, for example, the two property strips Ai, Aj, Ak and Ai, Aj, Al are present, then it can be checked whether the property tuple of length 4 Ai, Aj, Ak, Al saves more memory space than the associated property strips Ai, Aj, Ak and Ai, Aj, Al.
- the further merger can be operated to property stubs of predetermined length until a further saving of storage space can no longer be determined.
- the first way of combining properties on the list, while preserving the highest memory space can be assigned directly to a first subtable.
- the second possibility following the first possibility of the combination of properties on the list is determined, which has not been canceled.
- the second possibility of the combination is assigned to a second subtable and again all list entries are deleted, which have at least one property, which is also contained in the second possibility of the combination of properties.
- the second algorithm can be used to determine several sub-tables with different numbers of different properties, which enable a particularly efficient storage of property values in the relational database RDB.
- the property 'speed_limit' (speed limitation), according to experience, allows only relatively few property values, for example 50, 60, 70, 80, 100, 120 km / h, or the property 'urban' preferably as eigenvalue. values only yes or no, or the property 'functional_road_class', for example motorway, main road, etc., allows as possible property values, these properties are particularly suitable for being assigned to one or more sub-tables. This allows a particularly efficient storage of these property values in the relational database RDB.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Beschreibungdescription
Infotainmentsystem und ComputerprogrammproduktInfotainment system and computer program product
Die Erfindung betrifft ein Infotainmentsystem und ein Computerprogrammprodukt zum Betreiben des Infotainmentsystems .The invention relates to an infotainment system and a computer program product for operating the infotainment system.
Infotainmentsysteme sind beispielsweise in modernen Kraftfahrzeugen eingebaut und verknüpfen die Vermittlung von In- formationen, so z. B. Navigationsdaten, und von Unterhaltungsdaten, so z. B. TV- oder Musikdaten. Die Speicherung und Verwaltung dieser sogenannten Infotainmentdaten erfolgt vorzugsweise mittels eines Datenbanksystems.Infotainment systems are installed, for example, in modern motor vehicles and combine the transmission of information, such. As navigation data, and entertainment data, such. B. TV or music data. The storage and management of this so-called infotainment data is preferably carried out by means of a database system.
Ein modernes Datenbanksystem umfasst regelmäßig eine Datenbank und ein Datenbankverwaltungssystem. In der Datenbank sind die Daten gespeichert. Das Datenbankverwaltungssystem ist vorgesehen zum Verwalten der Daten in der Datenbank. Das Verwalten der Datenbank kann beispielsweise ein Suchen, ein Lesen und/oder ein Schreiben von Daten in der Datenbank umfassen. Insbesondere können nicht mehr aktuelle Daten aktualisiert werden durch einen Aktualisierungsbefehl, der eine Kombination aus Such-, Lese- und/oder Schreibbefehlen umfasst .A modern database system regularly includes a database and a database management system. The data is stored in the database. The database management system is provided for managing the data in the database. The management of the database may include, for example, searching, reading and / or writing data in the database. In particular, outdated data may be updated by an update command that includes a combination of search, read, and / or write commands.
Aufgabe der Erfindung ist es, ein Infotainmentsystem und ein Computerprogrammprodukt zum Betreiben des Infotainmentsystems zu schaffen, das eine effiziente Speicherung von Infotain- mentdaten ermöglicht.The object of the invention is to provide an infotainment system and a computer program product for operating the infotainment system, which enables efficient storage of infotainment data.
Die Aufgabe der Erfindung wird gelöst durch die Merkmale der unabhängigen Ansprüche. Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.The object of the invention is achieved by the features of the independent claims. Advantageous embodiments of the invention are specified in the subclaims.
Die Erfindung zeichnet sich bezüglich einem ersten Aspekt aus durch ein Infotainmentsystem, das eine relationale Datenbank, die auf einem Speichermedium gespeichert ist, und ein Daten- bankverwaltungssystem umfasst. Das Datenbankverwaltungssystem ist ausgebildet, auf Infotainmentdaten zu zugreifen, die in der relationalen Datenbank als Datensätze abgespeichert sind. Ein Datensatz weist einen jeweiligen Kennungswert einer ein- deutigen Kennung, Eigenschaftswerte mehrerer Eigenschaften und zumindest einen Unterkennungswert zumindest einer Unter- kennung auf. Alle oder zumindest einer der mehreren Eigenschaften und eine der zumindest einen Unterkennung sind zumindest einer Untertabelle zugeordnet. Die eindeutige Ken- nung, die verbleibenden der mehreren Eigenschaften und die zumindest eine zugeordnete Unterkennung sind zumindest einer Haupttabelle zugeordnet. Tupel der Eigenschaftswerte der Eigenschaften, die der jeweiligen Untertabelle zugeordnet sind, sind jeweils nur einmal in der jeweiligen Untertabelle ge- speichert. Die mehreren Eigenschaften sind funktional unabhängig voneinander. Dies trägt dazu bei, dass Tupel der Eigenschaftswerte der Eigenschaften der jeweiligen Untertabelle nur jeweils einmal in der jeweiligen Untertabelle gespeichert sind. D.h. eine jeweilige Kombination von Eigenschaftswerten, die dem jeweiligen Tupel zugeordnet sind, ist nur jeweils einmal in der jeweiligen Untertabelle gespeichert. Dies trägt dazu bei, Redundanzen von Eigenschaftswerten in der jeweiligen Untertabelle zu reduzieren. In einer Tabelle, die gemäß der dritten Normalform normalisiert ist, besteht keine funk- tionale Abhängigkeit zwischen den Eigenschaften, die der Tabelle zugeordnet sind, d.h. es kann von einem Eigenschaftswert einer Eigenschaft nicht eindeutig auf einen Eigenschaftswert einer anderen Eigenschaft geschlossen werden. Dabei werden die eindeutige Kennung und die Unterkennung nicht als Eigenschaft betrachtet. Tabellen, die bereits nach der dritten Normalform der Datenbanktheorie normalisiert sind, können Redundanzen von Tupeln von Eigenschaftswerten aufweisen .The invention is characterized, in a first aspect, by an infotainment system comprising a relational database stored on a storage medium and a data storage system. bank management system. The database management system is configured to access infotainment data stored in the relational database as data records. A data record has a respective identification value of a unique identifier, property values of several properties and at least one sub-identifier value of at least one subrecognition. All or at least one of the plurality of properties and one of the at least one sub-identifier are associated with at least one sub-table. The unique identifier, the remaining of the multiple properties, and the at least one associated sub-identifier are associated with at least one main table. Tuples of the property values of the properties assigned to the respective sub-table are only stored once in the respective subtable. The multiple properties are functionally independent. This contributes to the fact that tuples of the property values of the properties of the respective sub-table are stored only once in each sub-table. That is, a respective combination of property values associated with each tuple is stored only once in each sub-table. This helps to reduce redundancy of property values in the respective sub-table. In a table normalized according to the third normal form, there is no functional dependency between the properties assigned to the table, ie it is not possible to unambiguously conclude a property value of a property for a property value of another property. The unique identifier and subrecognition are not considered as a property. Tables that are already normalized to the third normal form of database theory may have redundancies of tuples of property values.
Die zumindest eine Haupttabelle weist vorzugsweise zumindest eine eindeutige Kennung und zumindest eine Unterkennung auf. Die zumindest eine Untertabelle weist zumindest eine der zu- mindest einen Unterkennung auf. Die zumindest eine Haupttabelle und die zumindest eine Untertabelle weisen jeweils Spalten und Zeilen auf. Eine Spalte ist jeweils einer Eigenschaft oder der eindeutigen Kennung oder der zumindest einen Unterkennung zugeordnet. Eine Zeile der zumindest einenThe at least one main table preferably has at least one unique identifier and at least one sub-identifier. The at least one subtable has at least one of the at least one subkey on. The at least one main table and the at least one subtable each have columns and rows. Each column is assigned to a property or the unique identifier or the at least one subrecognition. One line of at least one
Haupttabelle und eine zugeordnete Zeile der zumindest einen Untertabelle bilden einen Datensatz. Der jeweilige Unterken- nungswert der zumindest einen Unterkennung stellt jeweils eine Referenz der jeweiligen Zeile der zumindest einen Hauptta- belle zu der zugeordneten jeweiligen Zeile der jeweiligen Untertabelle dar.Main table and an associated row of at least one subtable form a record. The respective sub-recognition value of the at least one sub-identifier represents in each case a reference of the respective line of the at least one main table to the assigned respective line of the respective sub-table.
Dabei bezeichnet ein Tupel eine Kombination von Eigenschaftswerten, die einer Zeile der jeweiligen Untertabelle zugeord- net sind. Tupel der Eigenschaftswerte können einen oder mehrere Eigenschaftswerte umfassen, die einer Zeile der jeweiligen Untertabelle zugeordnet sind.A tuple denotes a combination of property values that are assigned to a row of the respective subtable. Tuples of the property values may include one or more property values associated with a row of the respective subtable.
Vorzugsweise kommt eine Kombination von Eigenschaftswerten, die jeweils einer Zeile zugeordnet sind, nur einmal in der zumindest einen Untertabelle vor. Dadurch können die Datensätze besonders effizient und mit geringem Speicherplatzbedarf auf dem Speichermedium der relationalen Datenbank abgespeichert werden. Eine Speicherplatzeinsparung ist umso grö- ßer, je größer die Anzahl der Spalten ist, die der zumindest einen Untertabelle zugeordnet ist und je kleiner die Anzahl der Zeilen dieser zumindest einen Untertabelle ist. Dabei kann aber eine Redundanz von Eigenschaftswerten, die einer Eigenschaft zugeordnet sind, weiterhin vorliegen. Vorzugswei- se ist die Anzahl der Untertabellen möglichst gering, um den zusätzlichen Speicherbedarf, der aufgrund der zumindest einen Unterkennung vorliegt, gering zu halten.Preferably, a combination of property values, each associated with a row, occurs only once in the at least one subtable. As a result, the data records can be stored on the storage medium of the relational database in a particularly efficient manner and with a small storage space requirement. The greater the number of columns that is allocated to the at least one sub-table and the smaller the number of lines of this at least one sub-table, the greater the memory space saving is. However, a redundancy of property values associated with a property may still exist. Preferably, the number of sub-tables is as small as possible in order to minimize the additional memory requirement, which is present due to the at least one sub-identifier.
Die relationale Datenbank und das Datenbankverwaltungssystem können beispielsweise als eine Funktionseinheit in dem Info- tainmentsystem eines Kraftfahrzeugs integriert sein, wobei das Infotainmentsystem in dem Kraftfahrzeug vorzugsweise als ein eingebettetes System (embedded System) ausgebildet ist. Grundsätzlich ist es aber auch möglich, dass die relationale Datenbank und das Datenbankverwaltungssystem als separate Funktionseinheiten in dem Infotainmentsystem ausgebildet sind.The relational database and the database management system can be integrated, for example, as a functional unit in the infotainment system of a motor vehicle, the infotainment system in the motor vehicle preferably being referred to as an embedded system is formed. In principle, however, it is also possible that the relational database and the database management system are designed as separate functional units in the infotainment system.
In einer vorteilhaften Ausgestaltung des ersten Aspekts ist das Datenbankverwaltungssystem ausgebildet, abhängig von zumindest einer vorgegebenen Anweisung auf die zumindest eine Untertabelle zu zugreifen und zumindest einen der Datensätze abhängig von der zumindest einen Unterkennung und den in der zumindest einen Untertabelle gespeicherten Eigenschaftswerten zu rekonstruieren. Dies hat den Vorteil, dass die Datensätze relativ schnell rekonstruiert werden können, bei gleichzeiti- ger effizienter Speicherung der Eigenschaftswerte auf dem Speichermedium der relationalen Datenbank.In an advantageous embodiment of the first aspect, the database management system is designed to access the at least one sub-table and to reconstruct at least one of the data records depending on the at least one sub-identifier and the property values stored in the at least one sub-table. This has the advantage that the data records can be reconstructed relatively quickly, while at the same time efficiently storing the property values on the storage medium of the relational database.
In einer weiteren vorteilhaften Ausgestaltung des ersten Aspekts ist das Datenbankverwaltungssystem ausgebildet, bei Vorgabe eines Eigenschaftswertes einer der Eigenschaften, die der zumindest einen Untertabelle zugeordnet ist, zunächst auf die jeweilige Untertabelle zu zugreifen. Dabei ist das Datenbankverwaltungssystem ausgebildet, den vorgegebenen Eigenschaftswert mit den gespeicherten Eigenschaftswerten der je- weiligen Eigenschaften zu vergleichen und abhängig von dem Vergleich zumindest einen Unterkennungswert zumindest einer zugeordneten Unterkennung zu ermitteln. Davon abhängig wird zumindest einer der Datensätze ermittelt. Soll beispielsweise abhängig von einer vorgegebenen Anweisung, die den Eigen- schaftswert der Untertabelle vorgibt, ein oder mehrere Datensätze ermittelt werden, ist vorzugsweise eine Anweisungsrecheneinheit des Datenbankverwaltungssystems ausgebildet, die vorgegebene Anweisung derart zu interpretieren, dass zunächst auf die zumindest eine Untertabelle zugegriffen wird, um den zumindest einen Unterkennungswert der zumindest einen Unterkennung zu ermitteln. Dies ermöglicht eine besonders schnelle Rekonstruktion der Datensätze. Vorzugsweise wird der zumin- dest eine Unterkennungswert mittels des Vergleichs des vorgegebenen Eigenschaftswertes mit den gespeicherten Eigenschaftswerten der jeweiligen Eigenschaften ermittelt, wenn die Untertabelle wenige Zeilen aufweist. Dadurch ist eine je- weilige Indexstruktur, die Referenzen auf Speicherorte der Eigenschaftswerte der jeweiligen Eigenschaft speichert, für die jeweilige Untertabelle nicht erforderlich und somit der Speicherbedarf besonders gering.In a further advantageous embodiment of the first aspect, the database management system is designed to first access the respective sub-table when specifying a property value of one of the properties associated with the at least one sub-table. In this case, the database management system is designed to compare the predetermined property value with the stored property values of the respective properties and, depending on the comparison, to determine at least one sub-identifier value of at least one assigned sub-identifier. Depending on this, at least one of the data records is determined. If, for example, one or more data records are to be determined as a function of a predefined statement specifying the property value of the sub-table, an instruction calculation unit of the database management system is preferably designed to interpret the predefined statement in such a way that the at least one sub-table is first accessed to determine the at least one sub-identifier value of the at least one sub-identifier. This enables a particularly fast reconstruction of the data records. Preferably, the at least one sub-identification value is determined by means of the comparison of the predetermined property value with the stored property values of the respective properties if the sub-table has a few lines. As a result, a respective index structure, which stores references to storage locations of the property values of the respective property, is not required for the respective subtable, and thus the storage requirement is particularly low.
In einer weiteren vorteilhaften Ausgestaltung des ersten Aspekts weist das Infotainmentsystem zumindest eine Indexstruktur auf, die Referenzen auf Speicherorte der Eigenschaftswerte der jeweiligen Eigenschaft umfasst, die der jeweiligen Untertabelle zugeordnet ist. Dabei ist das Datenbankverwal- tungssystem ausgebildet, bei Vorgabe eines Eigenschaftswertes einer der Eigenschaften, die der zumindest einen Untertabelle zugeordnet ist, zunächst auf die jeweilige Indexstruktur zu zugreifen und den vorgegebenen Eigenschaftswert mit den in der Indexstruktur gespeicherten Eigenschaftswerten der jewei- ligen Eigenschaften zu vergleichen. Das Datenbankverwaltungssystem ist ferner ausgebildet, abhängig von dem Vergleich zumindest einen Unterkennungswert zumindest einer zugeordneten Unterkennung zu ermitteln. Davon abhängig wird zumindest einer der Datensätze ermittelt. Die Indexstruktur ermöglicht einen besonders schnellen Zugriff auf die jeweiligen Eigenschaftswerte der Untertabelle auf dem Speichermedium, insbesondere wenn die Untertabelle besonders viele Zeilen aufweist .In a further advantageous embodiment of the first aspect, the infotainment system has at least one index structure that includes references to storage locations of the property values of the respective property that is assigned to the respective sub-table. In this case, when a property value of one of the properties assigned to the at least one subtable is specified, the database administration system is designed to first access the respective index structure and to compare the predetermined property value with the property values of the respective properties stored in the index structure. The database management system is also designed to determine at least one sub-identifier value of at least one assigned sub-identifier, depending on the comparison. Depending on this, at least one of the data records is determined. The index structure allows particularly fast access to the respective property values of the sub-table on the storage medium, in particular if the subtable has particularly many lines.
In einer weiteren vorteilhaften Ausgestaltung des ersten Aspekts ist die vorgegebene Anweisung als SQL-Anweisung ausgebildet. Dies ermöglicht einen besonders schnellen Lese- und/oder Schreibzugriff auf die Infotainmentdaten in der relationalen Datenbank.In a further advantageous embodiment of the first aspect, the predetermined instruction is designed as an SQL statement. This allows a particularly fast read and / or write access to the infotainment data in the relational database.
Die Erfindung zeichnet sich bezüglich eines zweiten Aspekts aus durch ein Computerprogrammprodukt. Das Computerprogramm- produkt umfasst ein computerlesbares Medium mit Programmanweisungen. Die Programmanweisungen sind durch einen Computer ausführbar. Ferner sind die Programmanweisungen ausgebildet zum Betreiben des Infotainmentsystems gemäß des ersten As- pekts der Erfindung.The invention is characterized in terms of a second aspect by a computer program product. The computer program Product includes a computer readable medium with program instructions. The program instructions are executable by a computer. Furthermore, the program instructions are designed to operate the infotainment system according to the first aspect of the invention.
Die Erfindung ist im Folgenden anhand von schematischen Zeichnungen näher erläutert. Es zeigen:The invention is explained in more detail below with reference to schematic drawings. Show it:
Figur 1 ein Datenbanksystem,FIG. 1 shows a database system,
Figur 2 eine ursprüngliche Tabelle,FIG. 2 an original table,
Figur 3 eine Haupt- und eine Untertabelle,FIG. 3 shows a main table and a sub-table,
Figur 4 eine weitere Haupt- und weitere Untertabellen.FIG. 4 shows a further main and further sub-tables.
Elemente gleicher Konstruktion oder Funktion sind figurenübergreifend mit den gleichen Bezugszeichen gekennzeichnet.Elements of the same construction or function are identified across the figures with the same reference numerals.
Ein Infotainmentsystem (Figur 1) umfasst eine Infotainment- einheit INFO, ein Datenbankverwaltungssystem RDBMS und eine relationale Datenbank RDB. Das Infotainmentsystem kann beispielsweise eine Navigationseinheit umfassen und dient somit dazu, eine vorgegebene Route zu finden und/oder eine vorgegebene Strecke zu berechnen und/oder einen vorgegebenen Ort zu finden und/oder weitere Informationen zu ermitteln. Das Info- tainmentsystem kann zusätzlich oder alternativ aber auch ein Musiksystem umfassen und dazu ausgebildet sein, beispielswei- se vorgegebene Musikstücke zu finden und abzuspielen.An infotainment system (FIG. 1) comprises an infotainment unit INFO, a database management system RDBMS and a relational database RDB. The infotainment system can for example comprise a navigation unit and thus serves to find a predefined route and / or to calculate a predefined route and / or to find a predefined location and / or to determine further information. The infotainment system may additionally or alternatively also include a music system and be designed to find and play predetermined music pieces, for example.
Die Infotainmenteinheit INFO, die relationale Datenbank RDB und das Datenbankverwaltungssystem RDBMS können auch als Softwarefunktionseinheiten in dem Infotainmentsystem ausge- bildet sein. Das Infotainmentsystem kann beispielsweise einThe infotainment unit INFO, the relational database RDB and the database management system RDBMS can also be embodied as software function units in the infotainment system. The infotainment system, for example, a
Bordcomputer eines Kraftfahrzeugs und/oder ein Computer sein, beispielsweise ein tragbarer Computer, so z. B. ein Laptop sein. Das Infotainmentsystem weist vorzugsweise neben zumindest einer Ausgabeeinheit zumindest eine Eingabeeinheit auf, die dazu dient, Informationen, beispielsweise einer Route und/oder einem Musikstück, die ermittelt werden sollen, und/oder Informationen, aufgrund derer Infotainmentdaten geändert, insbesondere aktualisiert werden, einzugeben. Dabei können die Infotainmenteinheit INFO, die relationale Datenbank RDB und das Datenbankverwaltungssystem RDBMS als eine Funktionseinheit in dem Infotainmentsystem integriert sein oder als verteilte Funktionseinheiten.On-board computer of a motor vehicle and / or a computer, for example, a portable computer, such. For example, a laptop be. In addition to at least one output unit, the infotainment system preferably has at least one input unit which serves to input information, for example a route and / or a piece of music, which are to be determined, and / or information on the basis of which infotainment data are changed, in particular updated. In this case, the infotainment unit INFO, the relational database RDB and the database management system RDBMS can be integrated as a functional unit in the infotainment system or as distributed functional units.
Die Infotainmenteinheit INFO kommuniziert mit dem Datenbankverwaltungssystem RDBMS. Das Datenbankverwaltungssystem RDBMS umfasst eine Anweisungsschnittstelle SQL_IF, eine Anweisungs- recheneinheit SQL_CMD_PRO, einen Pager PAGER, ein Verzeichnis ID_LIB von Indexstrukturen und eine Betriebssystemschnittstelle OS_IF.The infotainment unit INFO communicates with the database management system RDBMS. The database management system RDBMS comprises an instruction interface SQL_IF, a statement processing unit SQL_CMD_PRO, a pager PAGER, a directory ID_LIB of index structures, and an operating system interface OS_IF.
Das Datenbankverwaltungssystem RDBMS kommuniziert mit der re- lationalen Datenbank RDB. In der relationalen Datenbank RDB sind die Infotainmentdaten, so z.B. Navigationsdaten und/oder Musikdaten, gespeichert.The database management system RDBMS communicates with the relational database RDB. In the relational database RDB, the infotainment data, e.g. Navigation data and / or music data stored.
Die Infotainmenteinheit INFO kommuniziert mit dem Datenbank- Verwaltungssystem RDBMS vorzugsweise derart, dass die Info- tainmenteinheit INFO eine Anweisung SQL_CMD an das Datenbankverwaltungssystem RDBMS sendet. Alternativ kann die Anweisung SQL_CMD auch durch geeignete Signale repräsentiert werden, die dann in dem Datenbankverwaltungssystem RDBMS in die ent- sprechende Anweisung SQL_CMD übersetzt werden. Vorzugsweise ist die Anweisung SQL CMD als SQL-Anweisung ausgebildet.The infotainment unit INFO preferably communicates with the database management system RDBMS in such a way that the infotainment unit INFO sends an instruction SQL_CMD to the database management system RDBMS. Alternatively, the statement SQL_CMD can also be represented by suitable signals, which are then translated in the database management system RDBMS into the corresponding statement SQL_CMD. Preferably, the statement SQL CMD is designed as an SQL statement.
Die Anweisungsschnittstelle SQL IF dient dazu, zu überprüfen, ob die Anweisung SQL_CMD syntaktisch richtig ist. Falls die Anweisung SQL CMD syntaktisch richtig ist, wird sie von derThe SQL IF statement interface is used to verify that the SQL_CMD statement is syntactically correct. If the SQL CMD statement is syntactically correct, it will be parsed by the
Anweisungsschnittstelle SQL_IF an die Anweisungsrecheneinheit SQL CMD PRO übergegeben. Die Anweisungsrecheneinheit SQL CMD PRO ermittelt abhängig von der Anweisung SQL_CMD und vorzugsweise abhängig von mindestens einer verfügbaren Indexstruktur, die in dem Verzeichnis ID_LIB der Indexstrukturen hinterlegt ist, vorzugsweise einen Software-Ausführungsplan. Der Software-Ausführungsplan ist ein Programmabschnitt, der dazu dient, den Zugriff auf die Infotainmentdaten möglichst effizient zu gestalten.Statement interface SQL_IF passed to the statement calculation unit SQL CMD PRO. The instruction calculation unit SQL CMD PRO preferably determines a software execution plan depending on the statement SQL_CMD and preferably on the basis of at least one available index structure, which is stored in the index structure directory ID_LIB. The software execution plan is a section of the program that serves to make access to the infotainment data as efficient as possible.
Der Software-Ausführungsplan wird von der Anweisungsrechen- einheit SQL_CMD_PRO an den Pager PAGER übergeben. Der Pager PAGER dient dazu, abhängig von dem Software-Ausführungsplan vorzugsweise einen Hardware-Ausführungsplan zu ermitteln. Der Hardware-Ausführungsplan ist repräsentativ dafür, wie eine Hardware, beispielsweise ein CD-ROM-Laufwerk und/oder eine Festplatte und/oder weitere Datenträger, die die relationale Datenbank RDB umfassen können, angesteuert werden müssen, um den Software-Ausführungsplan abzuarbeiten.The software execution plan is passed from the statement calculation unit SQL_CMD_PRO to the pager PAGER. The pager PAGER serves to determine a hardware execution plan, depending on the software execution plan. The hardware execution plan is representative of how a hardware, such as a CD-ROM drive and / or a hard disk and / or other data carriers, which may include the relational database RDB, must be driven to execute the software execution plan.
Der Hardware-Ausführungsplan wird an die Betriebssystem- Schnittstelle OS_IF übergeben, welche den Hardware-Ausführungsplan in entsprechende Stellsignale für das technische Gerät übersetzt, auf dem die Infotainmentdaten gespeichert sind, und/oder das das Speichermedium umfasst, auf dem die Infotainmentdaten gespeichert sind.The hardware execution plan is transferred to the operating system interface OS_IF, which translates the hardware execution plan into corresponding setting signals for the technical device on which the infotainment data are stored, and / or which comprises the storage medium on which the infotainment data are stored.
Die Infotainmentdaten sind in der relationalen Datenbank RDB als Datensätze in Tabellen abgespeichert.The infotainment data are stored in the relational database RDB as data records in tables.
In Figur 2 ist eine ursprüngliche Tabelle R dargestellt, die zehn Datensätze aufweist. Jeder Datensatz wird durch einen Kennungswert einer eindeutigen Kennung PK repräsentiert und umfasst zusätzlich fünf Eigenschaftswerte a-e unterschiedlicher Eigenschaften A-E.FIG. 2 shows an original table R which has ten data sets. Each data record is represented by an identification value of a unique identifier PK and additionally comprises five property values a-e of different properties A-E.
Die Eigenschaften A-E der jeweiligen Datensätze sind in Großbuchstaben gekennzeichnet, während Eigenschaftswerte a-e der Eigenschaften A-E in Kleinbuchstaben gekennzeichnet sind. Ei- ner Eigenschaft ist jeweils eine Spalte zugeordnet. Eine Zeile der zumindest einen Haupttabelle und eine zugeordnete Zeile der zumindest einen Untertabelle bilden einen Datensatz.The properties AE of the respective data records are indicated in capital letters, while property values ae of the properties AE are indicated in lower case letters. Egg- Each property is assigned a column. A row of the at least one main table and an associated row of the at least one subtable constitute a data record.
Die Eigenschaften A-E der ursprünglichen Tabelle R sind funktional unabhängig voneinander und sind entsprechend der dritten Normalform normalisiert.The properties A-E of the original table R are functionally independent of each other and are normalized according to the third normal form.
In Figur 2 ist angedeutet, dass für die mehreren Eigenschaf- ten A-E in den unterschiedlichen Datensätzen gleiche Eigenschaftswerte a-e abgespeichert sind. So ist beispielsweise der Eigenschaftswert el der Eigenschaft E des ersten Datensatzes identisch mit dem Eigenschaftswert el der Eigenschaft E des zweiten bis vierten Datensatzes. Darüber hinaus sind in Figur 2 weitere Redundanzen von Eigenschaftswerten in der ursprünglichen Tabelle R gekennzeichnet, wobei nicht alle Redundanzen gekennzeichnet sind.FIG. 2 indicates that the same property values a-e are stored in the different data sets for the plurality of properties A-E. For example, the property value el of the property E of the first data set is identical to the property value el of the property E of the second through the fourth data set. In addition, further redundancies of property values in the original table R are indicated in FIG. 2, wherein not all redundancies are identified.
Gemäß einer ersten Ausführungsform (Figur 3) ist ein Daten- satz der ursprünglichen Tabelle R auf einen Hauptdatensatz in einer Haupttabelle MR und auf einen Unterdatensatz in einer ersten Untertabelle PRl aufgeteilt. Die Haupttabelle MR um- fasst die eindeutige Kennung PK und die Eigenschaften A und C, sowie zusätzlich eine erste Unterkennung PIDl. Die erste Untertabelle PRl umfasst die erste Unterkennung PIDl und die dieser Kennung zugeordnete Eigenschaften B, D, E der ursprünglichen Tabelle R, wobei ein jeweiliges Tupel der Eigenschaftswerte b, d, e, die jeweils einer Zeile der ersten Untertabelle PRl zugeordnet sind, nur jeweils einmal in der ersten Untertabelle PRl gespeichert ist. So ist beispielsweise das Tupel der Eigenschaftswerte b5, d5, e5 der Eigenschaften B, D, E nur einmal in der ersten Untertabelle PRl gespeichert, während in der ursprünglichen Tabelle R dieses Tupel der Eigenschaftswerte b5, d5, e5 fünfmal gespeichert ist, ob- wohl die ursprüngliche Tabelle R gemäß der dritten Normalform normalisiert ist. Eine Redundanz von Eigenschaftswerten jeweils einer Eigenschaft ist allerdings weiterhin in der ers- ten Untertabelle PRl vorhanden, so z. B. ist der Eigenschaftswert el dreimal in der ersten Untertabelle PRl gespeichert .According to a first embodiment (FIG. 3), a data record of the original table R is divided into a main data record in a main table MR and to a sub-data record in a first sub-table PR1. The main table MR includes the unique identifier PK and the properties A and C, as well as a first subcode PID1. The first sub-table PR1 comprises the first sub-identifier PID1 and the properties B, D, E associated with this identifier of the original table R, wherein a respective tuple of the property values b, d, e, which are each associated with one row of the first sub-table PR1, only in each case once stored in the first sub-table PRl. For example, the tuple of the property values b5, d5, e5 of the properties B, D, E is stored only once in the first sub-table PR1, whereas in the original table R this tuple of the property values b5, d5, e5 is stored five times, although the original table R is normalized according to the third normal form. However, a redundancy of property values of one property is still present in the first th sub-table PRl available, such. For example, the property value el is stored three times in the first sub-table PR1.
Dabei besteht das Bestreben, so viele Spalten und gleichzeitig so wenig Zeilen wie möglich der jeweiligen Untertabelle zu zuordnen. Dies erlaubt eine besonders hohe Speicherplatzeinsparung auf dem Speichermedium DC der relationalen Datenbank RDB. Dadurch kann die jeweilige Untertabelle einen der- art geringen Speicherbedarf aufweisen, dass beispielsweise die jeweilige Untertabelle in einem Cache-Speicher des Datenbankverwaltungssystems RDBMS oder der relationalen Datenbank RDB zwischengespeichert werden kann und somit besonders schnell zugreifbar ist. Dies ermöglicht einen besonders effi- zienten Zugriff auf die Eigenschaftswerte der jeweiligen Untertabelle .There is a desire to assign as many columns and at the same time as few lines as possible to the respective subtable. This allows a particularly high storage space saving on the storage medium DC of the relational database RDB. As a result, the respective sub-table can have such a small memory requirement that, for example, the respective sub-table can be temporarily stored in a cache memory of the database management system RDBMS or the relational database RDB and thus can be accessed particularly quickly. This allows a particularly efficient access to the property values of the respective sub-table.
Der jeweilige Unterkennungswert der ersten Unterkennung PIDl repräsentiert den jeweiligen Unterdatensatz in der ersten Un- tertabelle PRl und ermöglicht eine Referenzierung des jeweiligen Unterdatensatzes aus dem diesem zugeordneten Hauptdatensatz in der Haupttabelle MR. Somit kann beispielsweise mittels der Anweisung SQL CMDThe respective sub-identifier value of the first sub-identifier PID1 represents the respective sub-data record in the first sub-table PR1 and makes it possible to refer the respective sub-data record from the main data record associated therewith in the main table MR. Thus, for example, using the statement SQL CMD
create view R as select * from MR natural join PRlcreate view R as select * from MR natural join PRl
die ursprüngliche Tabelle R (Figur 1) rekonstruiert werden.the original table R (Figure 1) are reconstructed.
Sind beispielsweise Datensätze zu ermitteln, die einen vorgegebenen Eigenschaftswert der Eigenschaft B, D, E in der ersten Untertabelle PRl aufweisen, so ist das Datenbankverwaltungssystem RDBMS, insbesondere die Anweisungsrecheneinheit SQL_CMD_PRO des Datenbankverwaltungssystems RDBMS, vorzugs- weise ausgebildet, zunächst auf die erste Untertabelle PRl zu zugreifen. Dabei wird der vorgegebene Eigenschaftswert mit den in der ersten Untertabelle PRl gespeicherten Eigen- schaftswerten b, d, e verglichen und davon abhängig ein oder mehrere zugeordnete Unterkennungswerte der ersten Unterken- nungen PIDl ermittelt. Der zumindest eine ermittelte Unter- kennungswert der ersten Unterkennung PIDl ist repräsentativ für zumindest einen Datensatz, der den vorgegebenen Eigenschaftswert der Eigenschaft B, D, E aufweist. Abhängig von dem zumindest einen ermittelten Unterkennungswert kann dann besonders effizient auf die Hauptdatensätze in der Haupttabelle MR zugegriffen werden. Vorzugsweise ist dadurch die In- dexstruktur, die Referenzen auf Speicherorte der Eigenschaftswerte der jeweiligen Eigenschaft A-E umfasst, die der jeweiligen Untertabelle zugeordnet ist, nicht erforderlich, insbesondere wenn die erste Untertabelle PRl eine geringe Anzahl an Zeilen aufweist, so z. B. <= 5.If, for example, data sets are to be determined which have a given property value of the property B, D, E in the first sub-table PR1, then the database management system RDBMS, in particular the instruction calculation unit SQL_CMD_PRO of the database management system RDBMS, is preferably configured first to the first sub-table PR1 access. In this case, the predetermined property value is compared with the eigenvalue stored in the first sub-table PR1. values b, d, e and dependent thereon determines one or more associated sub-identification values of the first sub-identifiers PID1. The at least one determined sub-recognition value of the first sub-identifier PID1 is representative of at least one data record which has the predetermined property value of the property B, D, E. Depending on the at least one identified sub-identifier value, the main data records in the main table MR can then be accessed particularly efficiently. Preferably, this means that the index structure comprising references to storage locations of the property values of the respective property AE assigned to the respective subtable is not required, in particular if the first subtable PR1 has a small number of rows, such as e.g. B. <= 5.
Weist die erste Untertabelle PRl jedoch viele Zeilen auf, so z. B. > 5, so kann alternativ die Indexstruktur für die erste Untertabelle PRl in dem Verzeichnis ID_LIB von Indexstrukturen angelegt werden. Die Indexstruktur referenziert dann vor- zugsweise die Speicherorte der Unterkennungswerte der ersten Unterkennungen PIDl der ersten Untertabelle PRl. Werden beispielsweise alle Eigenschaftswerte a der Eigenschaft A gesucht, denen der vorgegebene Eigenschaftswert bl der Eigenschaft B zugeordnet ist, so kann beispielsweise mittels der Anweisung SQL_CMDHowever, if the first sub-table PR1 has many lines, e.g. For example,> 5, alternatively, the index structure for the first subtable PR1 may be created in the ID_LIB directory of index structures. The index structure then preferably references the storage locations of the sub-identification values of the first sub-IDs PID1 of the first sub-table PR1. If, for example, all the property values a of the property A are searched for, to which the predetermined property value bl of the property B is assigned, then, for example, by means of the statement SQL_CMD
select A from MR where PIDl in (select PIDl from PRl where B='bl')select A from MR where PIDl in (select PIDl from PRl where B = 'bl')
diese Suche besonders schnell ausgeführt werden.this search will be done very quickly.
Gemäß einer zweiten Ausführungsform in Figur 4 ist ein Datensatz der ursprünglichen Tabelle R auf den Hauptdatensatz der Haupttabelle MR und auf den Unterdatensatz der ersten Unter- tabelle PRl und auf einen weiteren Unterdatensatz einer zweiten Untertabelle PR2 aufgeteilt. Dies hat den Vorteil, dass die vorhandene Redundanz von Eigenschaftswerten der jeweili- gen Eigenschaften B, D, E in der ersten Untertabelle PRl gemäß der Figur 3 weiter reduziert werden kann. Die Haupttabelle MR umfasst neben der ersten Unterkennung PIDl zusätzlich eine zweite Unterkennung PID2. Mittels des jeweiligen Unter- kennungswertes der ersten Unterkennung PIDl sind die Eigenschaftswerte b der Eigenschaft B der ersten Untertabelle PRl referenzierbar . Mittels des jeweiligen Unterkennungswertes der zweiten Unterkennung PID2 sind die Eigenschaftswerte d, e der Eigenschaften D, E der zweiten Untertabelle PR2 referen- zierbar.According to a second embodiment in FIG. 4, a data record of the original table R is divided into the main data record of the main table MR and to the sub-data record of the first sub-table PR1 and to another sub-data record of a second sub-table PR2. This has the advantage that the existing redundancy of property values of the respective gen properties B, D, E in the first subtable PRl according to the figure 3 can be further reduced. The main table MR additionally comprises a second sub-identifier PID2 in addition to the first sub-identifier PID1. The property values b of the property B of the first sub-table PR1 can be referenced by means of the respective sub-recognition value of the first sub-identifier PID1. The property values d, e of the properties D, E of the second sub-table PR2 can be referenced by means of the respective sub-identifier value of the second sub-identifier PID2.
Im Folgenden werden zwei Algorithmen erläutert, die das Ermitteln geeigneter Untertabellen ermöglicht, so dass eine Redundanz von Eigenschaftswerten in der jeweiligen Untertabelle so weit wie möglich reduziert wird.In the following, two algorithms are explained which allow the determination of suitable subtables, so that a redundancy of property values in the respective subtable is reduced as much as possible.
Der erste Algorithmus erläutert die Ermittlung einer Untertabelle wie sie in der Figur 3a und 3b verwendet wird.The first algorithm explains the determination of a subtable as used in Figs. 3a and 3b.
Dazu wird zunächst angenommen, dass eine ursprüngliche Tabelle RX vorliegt mit n Zeilen und o Eigenschaften Al bis Ao pro Zeile. Für o Eigenschaften bestehen 2° Möglichkeiten von Kombinationen von Eigenschaften, die der Untertabelle zugeordnet werden können. Liegen beispielsweise 5 Eigenschaften vor, so ergeben sich 25 = 32 mögliche Kombinationen von Eigenschaften. Es gilt nun herauszufinden, welche Kombination von Eigenschaften die höchste Speicherplatzeinsparung ermöglicht.For this, it is first assumed that an original table RX exists with n rows and o properties Al to Ao per row. For o properties there are 2 ° possibilities of combinations of properties that can be assigned to the subtable. For example, if there are 5 properties, then 2 5 = 32 possible combinations of properties. The task now is to find out which combination of properties enables the highest storage space savings.
Beginnend von einer der 2° Möglichkeiten, so z. B. die Kombi- nation der Eigenschaften Al, A3, A5, kann beispielsweise mit der folgenden Anweisung SQL CMDStarting from one of the 2 ° options, such. For example, the combination of the properties Al, A3, A5 can be done with the following statement SQL CMD
select count(l) from RX group by A1,A3,A5select count (l) from RX group by A1, A3, A5
ermittelt werden, wieviele unterschiedliche Kombinationen n' von Eigenschaftswerten der vorgegebenen Kombination der Eigenschaften Al, A3, A5 in der ursprünglichen Tabelle RX vor- liegen. Die unterschiedlichen Kombinationen n' repräsentieren dabei die Anzahl der Zeilen der Untertabelle, die resultieren würde, wenn die gerade verwendete Kombination der Eigenschaften Al, A3, A5 der Untertabelle zugeordnet würde.determining how many different combinations n 'of property values of the given combination of the properties Al, A3, A5 in the original table RX are present lie. The different combinations n 'represent the number of rows of the sub-table that would result if the combination just used were assigned to the sub-table for the properties Al, A3, A5.
Danach wird ein durchschnittlicher Speicherbedarf s eines Eigenschaftswertes in Bytes ermittelt. Dies kann beispielsweise mittels folgender Anweisung SQL_CMDThereafter, an average memory requirement s of a property value in bytes is determined. This can be done, for example, by the following statement SQL_CMD
select average (length (Al) +length (A3) +length (A5) ) \3 from RX group by A1,A3,A5select average (length (Al) + length (A3) + length (A5)) \ 3 from RX group by A1, A3, A5
erfolgen. Mit der ermittelten Anzahl an unterschiedlichen Kombination n' von Eigenschaftswerten und dem durchschnittli- chen Speicherbedarf s eines Eigenschaftswertes kann die jeweilige Einsparung des Speicherplatzes in Bytes mit folgender mathematischen Gleichung ermittelt werdenrespectively. With the determined number of different combinations n 'of property values and the average storage requirement s of a property value, the respective saving of the storage space in bytes can be determined with the following mathematical equation
o * s * (n - n' ) - r * (n + n' ) .o * s * (n - n ') - r * (n + n').
Dabei stellt r den Speicherbedarf der jeweiligen Unterkennung dar, so z.B. 8 Bytes. Der erste Term o * s * (n - n' ) repräsentiert die Einsparung in Bytes für die jeweilige Kombination von Eigenschaften, die gerade betrachtet wird. Der zweite Term r * (n + n' ) stellt dann den zusätzlich benötigten Speicherbedarf dar, der aufgrund der zusätzlichen Unterkennungen benötigt wird und der von dem eingesparten Speicherplatz abzuziehen ist.Where r represents the memory requirement of the respective subrecognition, e.g. 8 bytes. The first term o * s * (n-n ') represents the amount of bytes saved for the particular combination of properties being considered. The second term r * (n + n ') then represents the additionally required memory requirement, which is required due to the additional sub-IDs and which is to be deducted from the memory space saved.
Die dargestellte Berechnung wird für jede der 2° möglichen Kombinationen von Eigenschaften berechnet. Die Kombination von Eigenschaften mit der höchsten Speicherplatzeinsparung wird dann vorzugsweise der Untertabelle zugeordnet. Vorzugsweise weist diese Untertabelle dann auch eine optimale Anzahl von Zeilen und Spalten auf. Der zweite Algorithmus erläutert die Ermittlung mehrerer Untertabellen wie sie in der Figur 4 verwendet werden.The calculation shown is calculated for each of the 2 ° possible combinations of properties. The combination of properties with the highest memory space savings is then preferably assigned to the subtable. Preferably, this sub-table then also has an optimum number of rows and columns. The second algorithm explains the detection of several sub-tables as used in FIG.
Dabei ermittelt der folgende Algorithmus nicht die Kombinati- onen von Eigenschaften mit dem geringsten Speicherbedarf, sondern vielmehr Kombinationen von Eigenschaften, die eine annehmbare Reduktion des Speicherbedarfes ermöglichen.In doing so, the following algorithm does not determine the combinations of properties with the least amount of memory, but rather combinations of properties that allow a reasonable reduction in memory requirements.
Auch hier wird angenommen, dass die ursprüngliche Tabelle RX vorliegt mit n Zeilen und o Eigenschaften Al bis Ao pro Zeile.Again, it is assumed that the original table RX exists with n rows and o properties Al to Ao per row.
In einem ersten Schritt wird für jede Eigenschaft Ai (mit i = 1 bis o) der ursprünglichen Tabelle RX die folgende Anweisung SQL_CMDIn a first step, for each property Ai (with i = 1 to o) of the original table RX, the following statement SQL_CMD
select count(l) as n' , average (length (Ai) ) as s from RX group by Aiselect count (l) as n ', average (length (Ai)) as s from RX group by Ai
ausgeführt. Mit der folgenden schon bekannten mathematischen Gleichungexecuted. With the following already known mathematical equation
s * (n - n' ) - r * (n + n' )s * (n - n ') - r * (n + n')
kann der eingesparte Speicherplatz in Bytes jeder Eigenschaft berechnet werden, wobei s, n, n' und r die gleiche Bedeutung wie im ersten Algorithmus haben.For example, the saved memory space can be calculated in bytes of each property, where s, n, n ', and r have the same meaning as in the first algorithm.
In einem nächsten Schritt werden Eigenschaftspaare Ai, Aj (mit i, j = 1...O, wobei i I= J) betrachtet. Dabei wird für jedes mögliche Eigenschaftspaar Ai, Aj die folgende Anweisung SQL_CMD ausgeführtIn a next step, property pairs Ai, Aj (with i, j = 1 ... O, where i I = J) are considered. In this case, the following statement SQL_CMD is executed for each possible property pair Ai, Aj
select count(l) as n' , average (length (Ai) +length (Aj )) \2 as s from RX group by Ai, Aj . Auch hier kann anhand der schon bekannten mathematischen Gleichung der eingesparte Speicherplatz in Bytes berechnet werden. Abhängig von dem ermittelten eingesparten Speicherplatz pro Eigenschaftspaar Ai, Aj kann nun entschieden wer- den, ob ein jeweiliges Eigenschaftspaar Ai, Aj einer eigenen Untertabelle zugeordnet werden kann.select count (l) as n ', average (length (Ai) + length (Aj)) \ 2 as s from RX group by Ai, Aj. Here too, the saved memory space in bytes can be calculated on the basis of the already known mathematical equation. Depending on the determined saved storage space per property pair Ai, Aj, it can now be decided whether a respective property pair Ai, Aj can be assigned to a separate subtable.
In einem nächsten Schritt wird versucht, zwei Eigenschaftspaar zu jeweils einem Eigenschaftstripel zusammenzuführen. Liegen beispielsweise die beiden Eigenschaftspaare Ai, Aj und Ak, Aj vor, so kann überprüft werden, ob das Eigenschaftstripel Ai, Aj, Ak mehr Speicherplatz einspart als die dazugehörigen Eigenschaftspaare Ai, Aj und Ak, Aj.In a next step, an attempt is made to merge two property pairs to form a property triplet. If, for example, the two property pairs Ai, Aj and Ak, Aj are present, then it can be checked whether the property triplet Ai, Aj, Ak saves more storage space than the associated property pairs Ai, Aj and Ak, Aj.
In einem nächsten Schritt werden zwei Eigenschaftstripel zu einem Eigenschaftstupel einer Länge 4 zusammengefasst und bewertet. Liegen beispielsweise die beiden Eigenschaftstripel Ai, Aj, Ak und Ai, Aj, Al vor, so kann überprüft werden, ob das Eigenschaftstupel der Länge 4 Ai, Aj, Ak, Al mehr Spei- cherplatz einspart als die dazugehörigen Eigenschaftstripel Ai, Aj, Ak und Ai, Aj, Al.In a next step, two property striplets are combined into a property tuple of length 4 and evaluated. If, for example, the two property strips Ai, Aj, Ak and Ai, Aj, Al are present, then it can be checked whether the property tuple of length 4 Ai, Aj, Ak, Al saves more memory space than the associated property strips Ai, Aj, Ak and Ai, Aj, Al.
Vorzugsweise kann die weitere Zusammenführung zu Eigenschaftstupeln vorgegebener Länge solange betrieben werden, bis sich eine weitere Einsparung von Speicherplatz nicht mehr ermitteln lässt.Preferably, the further merger can be operated to property stubs of predetermined length until a further saving of storage space can no longer be determined.
In einem weiteren Schritt werden alle ermittelten Möglichkeiten der Kombinationen von Eigenschaften und deren dazugehöri- ge Speicherplatzeinsparung in Bytes in eine Liste eingetragen, wobei die Liste nach der Größe der Speicherplatzeinsparung sortiert wird. Möglichkeiten der Kombination von Eigenschaften, die keine Speicherplatzeinsparung ermöglichen, werden nicht berücksichtigt.In a further step, all determined possibilities of the combinations of properties and their associated memory space saving in bytes are entered in a list, the list being sorted according to the size of the memory space savings. Possibilities of combining features that do not allow memory space savings are not considered.
Die erste Möglichkeit der Kombination von Eigenschaften auf der Liste, der gleichzeitig die höchste Speicherplatzeinspa- rung zugeordnet ist, kann direkt einer ersten Untertabelle zugeordnet werden.The first way of combining properties on the list, while preserving the highest memory space can be assigned directly to a first subtable.
Danach werden alle Listeneinträge gestrichen, die zumindest eine Eigenschaft aufweisen, die auch in der ersten Möglichkeit der Kombination von Eigenschaften enthalten ist.Then all list entries are deleted, which have at least one property, which is also contained in the first possibility of the combination of properties.
In einem nächsten Schritt wird die der ersten Möglichkeit folgende zweite Möglichkeit der Kombination von Eigenschaften auf der Liste ermittelt, die nicht gestrichen wurde. Die zweite Möglichkeit der Kombination wird einer zweiten Untertabelle zugeordnet und erneut werden alle Listeneinträge gestrichen, die zumindest eine Eigenschaft aufweisen, die auch in der zweiten Möglichkeit der Kombination von Eigenschaften enthalten ist. Diese letzten Schritte werden solange wiederholt, bis keine Möglichkeiten der Kombination von Eigenschaften mehr auf der Liste verfügbar ist.In a next step, the second possibility following the first possibility of the combination of properties on the list is determined, which has not been canceled. The second possibility of the combination is assigned to a second subtable and again all list entries are deleted, which have at least one property, which is also contained in the second possibility of the combination of properties. These last steps are repeated until no more ways of combining properties are available on the list.
Durch den zweiten Algorithmus können mehrere Untertabellen mit unterschiedlicher Anzahl von unterschiedlichen Eigenschaften ermittelt werden, die eine besonders effiziente Speicherung von Eigenschaftswerten in der relationalen Datenbank RDB ermöglichen.The second algorithm can be used to determine several sub-tables with different numbers of different properties, which enable a particularly efficient storage of property values in the relational database RDB.
Es gibt viele Beispiele im Bereich der Infotainmentsysteme auf die die Verwendung von Untertabellen angewendet werden kann. So kann beispielsweise eine folgende ursprüngliche Tabelle (mit Eigenschaften in der Klammer)There are many examples in the field of infotainment systems to which the use of subtables can be applied. For example, a following original table (with properties in brackets)
Links (LINK_ID, speed_limit, urban, functional_road_class, ...)Links (LINK_ID, speed_limit, urban, functional_road_class, ...)
aus dem Bereich der Navigationssysteme vorgesehen sein. Da insbesondere die Eigenschaft , speed_limit' (Geschwindigkeits- begrenzung) erfahrungsgemäß nur relativ wenige Eigenschaftswerte zulässt, so z.B. 50, 60, 70, 80, 100, 120 km/h, oder die Eigenschaft , urban' (Stadtgebiet) vorzugsweise als Eigen- schaftswerte nur ja oder nein zulässt oder die Eigenschaft , functional_road_class' beispielsweise Autobahn, Bundesstrasse, etc. als mögliche Eigenschaftswerte zulässt, sind diese Eigenschaften besonders geeignet, einer oder mehreren Untertabellen zugeordnet zu werden. Dadurch wird eine besonders erffiziente Speicherung dieser Eigenschaftswerte in der relationalen Datenbank RDB ermöglicht. be provided from the field of navigation systems. Since, in particular, the property 'speed_limit' (speed limitation), according to experience, allows only relatively few property values, for example 50, 60, 70, 80, 100, 120 km / h, or the property 'urban' preferably as eigenvalue. values only yes or no, or the property 'functional_road_class', for example motorway, main road, etc., allows as possible property values, these properties are particularly suitable for being assigned to one or more sub-tables. This allows a particularly efficient storage of these property values in the relational database RDB.
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP09764209A EP2370915A1 (en) | 2008-11-26 | 2009-11-04 | Infotainment system and computer program product |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102008059096 | 2008-11-26 | ||
| DE102008059096.7 | 2008-11-26 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010060764A1 true WO2010060764A1 (en) | 2010-06-03 |
Family
ID=41571577
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2009/064620 Ceased WO2010060764A1 (en) | 2008-11-26 | 2009-11-04 | Infotainment system and computer program product |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP2370915A1 (en) |
| WO (1) | WO2010060764A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6016497A (en) * | 1997-12-24 | 2000-01-18 | Microsoft Corporation | Methods and system for storing and accessing embedded information in object-relational databases |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7317974B2 (en) * | 2003-12-12 | 2008-01-08 | Microsoft Corporation | Remote vehicle system management |
| US20060036356A1 (en) * | 2004-08-12 | 2006-02-16 | Vladimir Rasin | System and method of vehicle policy control |
| US9865240B2 (en) * | 2006-12-29 | 2018-01-09 | Harman International Industries, Incorporated | Command interface for generating personalized audio content |
-
2009
- 2009-11-04 WO PCT/EP2009/064620 patent/WO2010060764A1/en not_active Ceased
- 2009-11-04 EP EP09764209A patent/EP2370915A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6016497A (en) * | 1997-12-24 | 2000-01-18 | Microsoft Corporation | Methods and system for storing and accessing embedded information in object-relational databases |
Non-Patent Citations (2)
| Title |
|---|
| KENT W: "A SIMPLE GUIDE TO FIVE NORMAL FORMS IN RELATIONAL DATABASE THEORY", COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, vol. 26, no. 2, 1 February 1983 (1983-02-01), ACM, NEW YORK, NY, US, pages 120 - 125, XP000719788, ISSN: 0001-0782 * |
| See also references of EP2370915A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2370915A1 (en) | 2011-10-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE10211606B4 (en) | Data processing device with a metadata backup management | |
| DE60118973T2 (en) | METHOD FOR INQUIRING A STRUCTURE OF COMPRESSED DATA | |
| DE69704085T2 (en) | OPTIMIZING ACCESS TO MULTIPLEXED DATA FLOWS | |
| DE3780807T2 (en) | METHOD FOR QUICKLY OPENING DISK FILES IDENTIFIED WITH PATH NAMES. | |
| DE112005003265T5 (en) | Register file spaces for a processing system | |
| DE102008047915B4 (en) | Infotainment system and computer program product | |
| EP3831035A1 (en) | Method and temporary storage device for measurement data of vehicles ("data filling station") | |
| DE102021125858A1 (en) | TRACK A LOG HISTORY OF CHANGE DATA COLLECTION | |
| DE60314844T2 (en) | Method and apparatus for voice output, data carrier with voice data | |
| EP2370915A1 (en) | Infotainment system and computer program product | |
| WO2010060763A1 (en) | Infotainment system and computer program product | |
| EP3129891B1 (en) | Method for improved access to a main memory of a computer system, corresponding computer system and computer program product | |
| WO2008071733A1 (en) | Method for reading out data from a storage medium | |
| DE3885202T2 (en) | Access locking means for memory access management unit and access conflict management with such locking means. | |
| WO2007048148A1 (en) | Method for controlling a relational database system | |
| DE19810784A1 (en) | Software processing system for software actualization | |
| WO2024012737A1 (en) | Method for storing and providing georeferenced vehicle data, computer-readable medium, and distributed system | |
| DE102008044808A1 (en) | Program code i.e. mask code, generating method for ROM of smart card, involves providing table to tool for compiling or linking reloadable application code for program application in non volatile memory | |
| WO2021064037A1 (en) | Method, computer program, storage medium, storage means, and system for the use of a shared storage means. | |
| DE102022202335A1 (en) | COMPUTER-IMPLEMENTED METHOD FOR MEMORY OPTIMIZATION OF A PARTITIONED SYSTEM | |
| EP4198760B1 (en) | Method for processing signal data | |
| EP1979837B1 (en) | Method for outputting data records, and apparatus therefor | |
| WO2020094175A1 (en) | Method and device for storing items of data and the relationships thereof | |
| DE102018123563A1 (en) | Method for inter-core communication in a multi-core processor | |
| DE102024104529A1 (en) | Method for determining the best vehicle equipment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09764209 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2009764209 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |