WO2002021327A2 - Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm - Google Patents

Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm Download PDF

Info

Publication number
WO2002021327A2
WO2002021327A2 PCT/DE2001/003467 DE0103467W WO0221327A2 WO 2002021327 A2 WO2002021327 A2 WO 2002021327A2 DE 0103467 W DE0103467 W DE 0103467W WO 0221327 A2 WO0221327 A2 WO 0221327A2
Authority
WO
WIPO (PCT)
Prior art keywords
database
database object
data
computer
index
Prior art date
Application number
PCT/DE2001/003467
Other languages
English (en)
French (fr)
Other versions
WO2002021327A3 (de
Inventor
Günter Briam
Original Assignee
Sap Aktiengesellschaft
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sap Aktiengesellschaft filed Critical Sap Aktiengesellschaft
Priority to AU2002212080A priority Critical patent/AU2002212080A1/en
Priority to DE10193778T priority patent/DE10193778D2/de
Publication of WO2002021327A2 publication Critical patent/WO2002021327A2/de
Publication of WO2002021327A3 publication Critical patent/WO2002021327A3/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Definitions

  • the present invention relates to computer-implemented database systems and in particular to a method of file creation to improve the manageability Syste for a database system for business' applications.
  • Databases are computerized systems for storing and retrieving information.
  • a relational database management system (RDBMS) is a database management system (DBMS) that uses relational techniques to store and retrieve data. Relational databases are organized in tables that consist of data rows and columns.
  • a database typically contains many tables, and each table typically contains multiple tuples and multiple columns that consist of individual data fields.
  • the tables are usually stored on Direct Access Storage Devices (DASD), such as magnetic or optical 1 disk drives for semi-permanent storage.
  • DASD Direct Access Storage Devices
  • An index is a table type or data field type that is used to access data in a table that contains data that is to be accessed (for example, employee data or financial data for a business application program). To distinguish between an index and a table with data to be accessed, a Table that contains data to be accessed is referred to as "data table”.
  • Data tables and indexes are types of database objects that are stored in a database. There are many different application programs
  • An application system is a system that supports different and multiple application programs on a single relational database system.
  • Each of the supported application programs requires at least one or more data tables and indexes.
  • all the necessary data tables and indexes are usually generated in the database system for each of the supported application programs. For example, if an application system supports three application programs (one human resource management program, one
  • Application system generate 30,000 data tables and indexes during implementation.
  • ERP Enterprise Resource Planning
  • An enterprise resource planning system is an enterprise management system that integrates various aspects of an enterprise, such as human resources, finance, production and logistics.
  • Software systems have been developed to implement ERP systems.
  • an application system that supports various application programs (a human resource management program, a financial application program, and a production application program) can form an ERP system.
  • a typical ERP system uses a database, which usually contains several thousand data tables and contains indexes.
  • a database usually contains several thousand data tables and contains indexes.
  • the database would still be created with 30,000 data tables and indexes.
  • B. 20,000 data tables and indexes for the human resource management program and the financial application program would be included, but are not required.
  • users have no knowledge of whether and which data tables and indexes are in use or not. Nevertheless, the hardware means such. B.
  • the file creation process is the process of allocating and allocating space from, for example, DASD. This file creation process is generally slow. For example, in computer systems known in the art, it takes approximately 0.1-0.3 seconds to generate a single file with a * data table.
  • the invention describes a method, an apparatus and a computer program for a method implemented by computers for generating and setting up files as required which improves system manageability for a database system.
  • database objects are generated by means of a computer which is connected to a data storage device.
  • a command to create a database object is received at the beginning.
  • a database object definition is saved for this database object.
  • a data table is accessed for data transfer, a file for the database object is generated on a storage medium from this specific database object definition.
  • the advantage of this method lies in the fact that storage space only has to be made available when data are available for storage in the intended data table. Another advantage is that the implementation phase of the database system takes less time.
  • FIG. 1 shows an example of a computer hardware environment that can be used in accordance with the invention
  • FIG. 2 is a flowchart describing a process performed by the deferred file creation system.
  • FIG. 3 shows a flowchart describing a process performed by the deferred file creation system in one embodiment.
  • FIG. 1 shows an example of a computer hardware environment that can be used in accordance with the invention.
  • a computer system 102 consists of one or more processors connected to one or more data storage devices 104 and 106 on which one or more relational databases are stored, such as a hard disk drive, a floppy disk drive, and one CD-ROM drive, a tape drive, or other device.
  • a standard operator interface 108 is used to send electrical signals to and from the computer system 102, the commands to perform various Display search and retrieval functions, so-called queries, on the databases.
  • these queries correspond to the known structural query language standard (SQL) and call known functions which are carried out by a data management component which supports transactions (ie work units; an application program can carry out several transactions), such as relational database management system software (RDBMS software).
  • SQL structural query language standard
  • RDBMS software relational database management system software
  • the SQL interface has become a standard language for RDBMS software and has been adopted as such by the American National Standards Institute (ANSI) and the International Standards Organization (ISO).
  • a data management component which supports transactions comprises a database system for a mainframe computer with a known operating system.
  • the invention can be applied to any RDBMS software, regardless of whether the RDBMS software SQL is used or not.
  • the computer system has three major components: the Internal Resource Lock Manager (IRLM) 110, the system service module 112, and the database service module 114.
  • the IRLM 110 handles locking services for the database system, which treats data as a shared resource, so that any many users can access the same data at the same time. Therefore, a parallel Control is needed to isolate users and maintain data integrity.
  • the system service module 112 controls the entire database execution environment, including the management of LOG log files 106, the compilation of statistics, the handling of system start and shutdown, and the provision of administrative support.
  • the core of the database system is the database service module 114.
  • the database service module 114 contains several sub-modules, including the relational database system (RDS) 116, the data manager 118, the buffer manager 120, the system for deferred file generation 124 and other components 122, such as an SQL compiler / interpreter. These sub-modules support the functions of the well-known language SQL, i.e. Definition, access control, interpretation, compilation, database retrieval and updating of user and system data.
  • the deferred file creation system 124 works in conjunction with the other sub-modules to restore the balance of partitioned data.
  • the invention is typically implemented using SQL statements that are executed under the control of the database service module 114.
  • the database service module 114 invokes or receives the SQL statements, the SQL statements generally being stored in a text file on the data storage devices 104 and 106 or entered interactively by a user working on a monitor 126 into the computer system 102 via a user interface 108 become.
  • the database service module 114 then derives or creates commands for execution by the computer system 102 from the SQL instructions.
  • the RDBMS software, the SQL statements and the commands derived therefrom are implemented in a machine-readable medium, for example in one or more of the data storage devices 104 and 106.
  • the RDBMS software, the SQL statements, and the commands derived from them all consist of commands that, when read and executed by the computer system 102, cause the computer system 102 to take the necessary steps for implementation and / or Use of the invention.
  • the RDBMS software, the SQL instructions and the program commands derived therefrom are loaded from the data storage devices 104 and 106 into a memory of the computer system 102 for use during actual computer operations.
  • production article (or also "computer program product”) as used here is intended to include a computer program that is accessible from any computer-readable device, carrier or medium.
  • Alternative hardware environments can be used to implement the invention.
  • Database system for delaying file generation 124 For an application system such as an ERP system, the system for delaying file generation 124 controls the generation of the underlying files from data tables and indexes for Application programs. In order to equalize the time of the file generation 124, the system initially only writes data table and index definitions for the data tables and indexes that may be required at a later time in a database catalog. The storage space required for this database catalog and the creation time required for this are much less than for the correspondingly required data tables. The system only generates 124 files for a specific data table or a specific index for equalizing the time of the file generation when data are to be entered in this specific data table or this specific index (ie when the first data record is entered in this data table or this index ). The user can install z. B. determine by parameter selection whether the file creation should be deferred or whether the data table with its files should be created initially.
  • the user of a database system can create an employee table with columns for the name, address and social security number of the employee and delay the file creation with the following known example SQL statements:
  • DEFINE can be replaced by another keyword.
  • a user uses the CREATE INDEX keywords followed by an index name, a data table name for which to create the index, and an index column list that defines the list of columns in the index.
  • a user enters DEFINE NO to delay file creation and DEFINE YES to not delay file creation.
  • a user can create an employee index on the table with a column for a social security number and delay file creation with the following example SQL statement:
  • the user specifies the DEFINE YES or DEFINE NO option for the CREATE TABLE / INDEX SQL statements. If the DEFINE NO option is specified, the file generation delaying system 124 registers all data table and index schema definitions in the database catalog without generating the underlying files for any data tables or indexes until a first data record is entered in the data table or in the index.
  • the system When a record is first entered into a data table or index that is in an UNDEFINED state, the system creates the underlying files to delay file creation 124.
  • FIG. 2 shows a flow diagram of a process performed by the file creation delay system 124.
  • the file creation delay system 124 receives a CREATE TABLE or CREATE INDEX statement to create a table or index with a DEFINE NO clause.
  • the file creation delay system 124 defines a data table or index.
  • the file generation delay system 124 creates a file for this data table or index when data is to be entered into a data table or index.
  • the file creation delay system 124 treats the undefined data tables or indexes as logically empty
  • the system for delaying file creation 124 does not generate the underlying files for the undefined tables or indexes. Instead, the file creation delay system 124 returns an indication that the database object must not be modified.
  • the LOAD utility is the only database utility that can run on an undefined data table.
  • the file generation delay system 124 in one embodiment returns an indication when operations on an undefined data table are requested and that the database is not may be modified.
  • the system for delaying file creation 124 issues an informational message indicating that the database utility has not been executed and ignores the requested operation.
  • the file creation delay system 124 when a database utility is started with a number of defined and undefined data tables, allows a user to decide whether to define the undefined data tables, defines any undefined data tables if that User has requested that they be defined and then executes the requested utility on the defined tables.
  • FIG. 3 shows a flowchart describing a process performed by the file creation delay system 124 in one embodiment.
  • the file creation delay system 124 determines whether a request to execute an INSERT statement or a LOAD utility has been received. If so, the file generation 124 delay system continues to block 402; otherwise, the file generation 124 system continues to block 410.
  • the file creation delay system 124 determines whether an undefined data table or an undefined index is affected. If so, the file creation delay system 124 proceeds to block 404; otherwise, the file creation 124 system continues to block 406.
  • the system for delaying file generation 124 creates an underlying file for the affected data table or the affected index.
  • the file creation delay system 124 enters data in the data table or index.
  • the file creation delay system 124 determines whether a request to perform a SELECT, UPDATE, or DELETE operation has been received. If so, the file generation delayed system 124 continues to block 412; otherwise, the file generation 124 delayed system continues to block 420.
  • the system for delaying file generation 124 determines whether an undefined data table or an undefined index is affected. If so, the file creation delay system 124 proceeds to block 414; otherwise, the file creation 124 system continues to block 416.
  • the file generation delay system 124 returns a row not found message.
  • the file creation delay system 124 performs the requested operation.
  • the file creation delay system 124 determines whether a request to perform a utility (other than LOAD) has been received. If so, the file creation delay system 124 proceeds to block 422; otherwise, the file creation 124 delay system proceeds to block 422
  • the file creation delay system 124 determines whether an undefined data table or index is affected. If so, the file creation delayed system 124 continues to block 424; otherwise, the file generation 124 delayed system continues to block 426. At block 424, the file creation delay system 124 returns an indication that the utility cannot be executed. In block 426, the system leads to the deceleration file creation 124 executes the requested utility (ie, starts the utility).
  • the invention can be used on different types of computers, such as, for example, mainframe computers, minicomputers or personal computers, or any computer configuration, such as, for example, the Internet, a local area network or a multimedia information system distributed worldwide.
  • computers such as, for example, mainframe computers, minicomputers or personal computers, or any computer configuration, such as, for example, the Internet, a local area network or a multimedia information system distributed worldwide.

Abstract

Ein System zur zeitlichen Verzögerung der Dateierzeugung für ein Datenbanksystem erzeugt Datenbankobjekte an einem mit einem Datenspeichergerät verbundenen Computer. Anfänglich wird ein Befehl zur Erzeugung eines Datenbankobjekts empfangen. Eine Datenbankobjekt-Definition für dieses Datenbankobjekt wird aufgezeichnet. Erst wenn auf das Datenbankobjekt datentransferrierend zugegriffen wird, wird eine Datei auf einem Speichermedium für das Datenbankobjekt aus seiner Datenbankobjekt-Definition erzeugt.

Description

Verfahren und Computerprogramm zur Erzeugung von Dateien für ein Datenbanksystem für ein betriebswirtschaftliches Anwendungsprogramm
Die vorliegende Erfindung betrifft durch Computer implementierte Datenbanksysteme und ins- besondere ein Verfahren zur Dateierzeugung zur Verbesserung der Syste verwaltbarkeit für ein Datenbanksystem für betriebswirtschaftliche 'Anwendungsprogramme.
Datenbanken sind computergestützte Systeme zur Speicherung und zum Abruf von Informationen. Ein relationales Datenbank-Managementsystem (RDBMS) ist ein Datenbank-Managementsystem (DBMS) , das relationale Verfahrenstechniken zum Speichern und Abrufen von Daten verwendet. Relationale Datenbanken sind in Tabellen or- ganisiert, die aus Datenzeilen und -spalten bestehen.
Die Zeilen werden formell als Tupel oder Sätze bezeichnet. Eine Datenbank enthält in der Regel viele Tabellen, und jede Tabelle enthält in der Regel mehrere Tupel und mehrere Spalten, die aus einzelnen Datenfeldern bestehen. Die Tabellen werden in der Regel auf Direct Access Storage Devices (DASD) , wie zum Beispiel magnetischen oder optischen1 Plattenlaufwerken zur semipermanenten Speicherung gespeichert. Ein Index ist ein Tabelle typ oder Datenfeldtyp, der verwendet wird, um auf Daten in einer Tabelle zuzugreifen, welche Daten enthält, auf die ein Datenzugriff erfolgen soll (z.B. Mitarbeiterdaten oder Finanzdaten für ein betriebswirtschaftliches Anwendungsprogramm) . Zur Unterscheidung zwischen einem Index und einer Tabelle mit Daten, auf die zugegriffen werden soll, wird eine Tabelle, die Daten enthält, auf die zugegriffen werden soll, als "Datentabelle" bezeichnet. Datentabellen und Indizes sind Datenbankobjekttypen, die in einer Datenbank gespeichert werden. Es gibt viele verschiedene Anwendungsprogramme
(d.h. Computerprogramme), die Datenbanken verwenden. Ein AnwendungsSystem ist ein System, das unterschiedliche und mehrere Anwendungsprogramme auf einem einzigen relationalen Datenbanksystem unterstützt. Jedes der un- terstützten Anwendungsprogramme benötigt mindestens eine oder mehrere Datentabellen und Indizes. Wenn das AnwendungsSystem implementiert wird, werden in der Regel sämtliche benötigten Datentabellen und Indizes in dem Datenbanksystem für jedes der unterstützten Anwendungsprogramme erzeugt. Wenn ein Anwendungssystem zum Beispiel drei Anwendungsprogramme unterstützt (ein Personalwirtschaftsprogramm, ein
Finanzanwendungsprogramm und ein Produktionsanwendungsprogramm) und jedes Anwendungsprogramm 10 . 000 Datentabellen und Indizes erfordert, dann würde das
AnwendungsSystem 30.000 Datentabellen und Indizes bei der Implementation erzeugen.
Ein Unternehmensressourcenplanungssystem (ERP- System, ERP = Enterprise Resource Planning) ist ein Un- ternehmensverwaltungssystem, das verschiedene Aspekte eines Unternehmens, wie zum Beispiel Personalwirtschaft, Finanzen, Produktion und Logistik integriert. Zur Implementierung von ERP-Systemen wurden Softwaresysteme entwickelt. Zum Beispiel kann ein Anwendungssystem, das verschiedene Anwendungsprogramme unterstützt (ein Personalwirtschaftsprogramm, ein Finanzanwendungsprogramm und ein Produktionsanwendungsprogramm) , ein ERP-System bilden.
Ein typisches ERP-System verwendet eine Daten- bank, die in der Regel mehrere tausend Datentabellen und Indizes enthält. Für Anwendungsbenutzer, die (unter vielen verfügbaren Anwendungsprogrammen) einige wenige Anwendungsprogramme auf dem ERP-System aktivieren, ist ein großer Teil der Datentabellen und Indizes leer an Daten (nämlich die Datentabellen und Indizes für die Anwendungsprogramme, die nicht aktiviert werden) . Wenn ein Kunde zum Beispiel ein Produktionsanwendungsprogramm aktiviert hat, ohne das Personalwirtschaftsprogramm oder das Finanzanwendungsprogramm zu aktivieren, würde die Datenbank trotzdem mit 30.000 Datentabellen und Indizes erzeugt, worin die z. B. 20.000 Datentabellen und Indizes für das Personalwirtschaftsprogramm und das Finanzanwendungsprogramm enthalten wären, die jedoch nicht benötigt werden. Benutzer haben in der Regel keine Kenntnis darüber, ob und welche Datentabellen und Indizes im Gebrauch oder nicht im Gebrauch sind. Trotzdem müssen die Hardwaremittel, wie z. B. Speicherplatz für die Datenbank- / Speicherverwaltung (z.B. Sicherung / Wieder- herstellung, DASD-Benutzung usw.) für alle Datentabellen und Indizes in dem ERP-System vorgehalten werden. Zusätzlich entsteht während des Vorgangs der Installation oder Migration oder Aktualisierung des ERP-Systems ein großer Zeitverlust bei der Erzeugung und/oder Löschung der zugrundeliegenden Dateien für alle Datentabellen und Indizes. Der Dateierzeugungsvorgang ist der Prozeß des Bereitsteilens und Zuteilens von Speicherplatz zum Beispiel aus DASD. Dieser Dateierzeugungsvorgang erfolgt im allgemeinen langsam. Zum Beispiel dauert es in aus dem Stand der Technik bekannten ComputerSystemen ungefähr 0,1-0,3 Sekunden, um eine einzige Datei mit * einer Datentabelle zu erzeugen.
Deshalb wird in der Technik ein effizientes Verfahren zur Erzeugung und Einrichtung eines Daten- banksystems benötigt, durch welches Zeit und Speicherplatz gespart werden.
Zur Überwindung der Einschränkungen bekannter Verfahren aus dem oben beschriebenen Stand der Technik und zur Überwindung anderer Einschränkungen, die nachstehend erläutert werden, beschreibt die Erfindung ein Verfahren, eine Vorrichtung und ein Computerprogramm für ein durch Computer implementiertes Verfahren zur bedarfgerechten Erzeugung und Einrichtung von Dateien, mit welchem die Systemverwaltbarkeit für ein Datenbanksystem verbessert wird.
Gemäß der Erfindung werden Datenbankobjekte mittels eines Computers, der mit einem Datenspeicherge- rät verbundenen ist, erzeugt. Erfindungsgemäß wird hierzu zu Anfang ein Befehl zur Erzeugung eines Datenbankobjekts empfangen. Für dieses Datenbankobjekt wird eine Datenbankobjekt-Definition abgespeichert. Erst dann, wenn auf das Datenbankobjekt, z. B. eine Datentabelle datentransferrierend zugegriffen wird, wird aus dieser spezifischen Datenbankobjekt-Definition eine Datei für das Datenbankobjekt auf einem Speichermedium erzeugt. Der Vorteil dieses Verfahrens liegt darin begründet, dass erst dann, wenn Daten zur Abspeicherung in der vorgesehenen Datentabelle vorhanden sind, auch Speicherplatz bereitgestellt werden muß. Ein weiterer Vorteil ist, dass die Implementierungsphase des Datenbanksystems in kürzerer Zeit erfolgt.
Kurze Beschreibung der Abbildungen
Mit Bezug auf die Zeichnungen werden im folgenden einander entsprechende Teile mit gleichen Bezugszahlen dargestellt. FIG. 1 zeigt ein Beispiel einer Computer-Hardwareumgebung, die gemäß der Erfindung verwendet werden kann;
FIG. 2 zeigt ein Flußdiagramm, das einen vom System zur aufgeschobenen Dateierzeugung durchgeführten Prozess beschreibt; und
FIG. 3 zeigt ein Flußdiagramm, das einen vom System zur aufgeschobenen Dateierzeugung durchgeführten Prozess in einer Ausführungsform beschreibt.
Ausführliche Beschreibung
Die folgende Beschreibung von Ausführungsbeispielen der Erfindung erfolgt anhand der beigefügten Abbildungen, die einen Teil dieser bilden, und zwar durch Darstellung spezifischer bevorzugter
Ausführungsformen, in denen die Erfindung angewendet werden kann. Natürlich können auch andere Ausführungsformen verwendet werden, da strukturelle Änderungen vorgenommen werden können, ohne vom Schutzumfang der Erfindung abzuweichen.
FIG. 1 zeigt ein Beispiel einer Computer-Hardwareumgebung, die gemäß der Erfindung verwendet werden kann. Bei der beispielhaften Umgebung besteht ein Com- putersystem 102 aus einem oder mehreren Prozessoren, die mit einem oder mehreren Datenspeichergeräten 104 und 106 verbunden sind, auf denen eine oder mehrere relationale Datenbanken gespeichert sind, wie zum Beispiel einem Festplattenlaufwerk, einem Diskettenlauf- werk, einem CD-ROM-Laufwerk, einem Bandlaufwerk oder einem anderen Gerät .
Zur Bedienung des ComputerSystems 102 verwendet man eine standardmäßige Bedienungsschnittstelle 108, um elektrische Signale zu und von dem Computersystem 102 zu senden, die Befehle zur Durchführung verschiedener Such- und Abruffunktionen, sogenannter Abfragen, auf den Datenbanken darstellen. Bei einer Ausführungsform der Erfindung entsprechen diese Abfragen dem bekannten Structural-Query-Language-Standard (SQL) und rufen be- kannte Funktionen auf, die von einer Datenverwaltungskomponente durchgeführt werden, welche Transaktionen unterstützt (d.h. Arbeitseinheiten; ein Anwendungsprogramm kann mehrere Transaktionen durchführen) , wie zum Beispiel relationale Datenbank-Managementsystem-Soft- wäre (RDBMS Software) . Die SQL-Schnittstelle hat sich zu einer Standardsprache für RDBMS-Software entwickelt und wurde als solche vom American National Standards Institute (ANSI) als auch der International Standards Organization (ISO) angenommen. Mittels der SQL-Schnitt- stelle können Benutzer relationale Operationen auf Datentabellen entweder interaktiv, in Batch-Dateien oder eingebettet in bekannten Host-Sprachen wie zum Beispiel C und COBOL formulieren. SQL ermöglicht dem Benutzer, die Daten zu ändern. Bei einer Ausführungsform der Erfindung umfaßt eine Datenverwaltungskomponente, welche Transaktionen unterstützt, ein Datenbanksystem für einen main-frame Rechner mit bekanntem Betriebssystem. Ohne Einschränkung des Verwendungsumfangs bzw. der erfindungsgemäßen Funktionalität ist die Erfindung auf beliebige RDBMS- Software anwendbar, ungeachtet, ob die RDBMS-Software SQL verwendet wird oder nicht .
Wie in FIG. 1 dargestellt, weist das Computersystem drei Hauptkomponenten auf : den Internal Resource Lock Manager (IRLM) 110, das Systemservicemodul 112 und das Datenbankservicemodul 114. Der IRLM 110 wickelt Sperrservices für das Datenbanksystem ab, das Daten als eine gemeinsam benutzte Ressource behandelt, so daß beliebig viele Benutzer gleichzeitig auf diesel- ben Daten zugreifen können. Daher wird eine parallele Steuerung benötigt, um Benutzer zu isolieren und die Datenintegrität aufrechtzuerhalten. Das Systemservicemodul 112 steuert die gesamte Datenbank Ausführungsum- gebung, einschließlich der Verwaltung von LOG-Proto- koll-Dateien 106, des Zusa menstellens von Statistiken, der Abwicklung von Systemstart und -abschluß und der Bereitstellung von Unterstützung bei der Verwaltung.
Den Kern des Datenbanksystems bildet das Datenbankservicemodul 114. Das Datenbankservicemodul 114 enthält mehrere Untermodule, darunter das relationale Datenbanksystem (RDS) 116, den Datenmanager 118, den Puffermanager 120, das System zur aufgeschobenen Dateierzeugung 124 und andere Komponenten 122, wie zum Beispiel einen SQL-Compiler/Interpreter. Diese Untermodule unterstützen die Funktionen der bekannten Sprache SQL, d.h. Definition, Zugriffssteuerung, Interpretation, Kompilierung, Datenbankabruf und Aktualisierung von Benutzer- und Systemdaten. Das System zur aufgeschobenen Dateierzeugung 124 arbeitet in Verbindung mit den ande- ren Untermodulen, um das Gleichgewicht partitionierter Daten wiederherzustellen.
Die Erfindung wird in der Regel unter Verwendung von SQL-Anweisungen implementiert, die unter der Kontrolle des Datenbankservicemoduls 114 ausgeführt werden. Das Datenbankservicemodul 114 ruft die SQL-Anweisungen auf oder empfängt diese, wobei die SQL-Anweisungen im allgemeinen in einer Textdatei auf den Datenspeichergeräten 104 und 106 gespeichert sind oder interaktiv durch einen an einem Monitor 126 arbeitenden Benutzer über eine Bedienungsschnittstelle 108 in das ComputerSystem 102 eingegeben werden. Durch das Datenbankservicemodul 114 werden dann aus den SQL-Anweisungen Befehle zur Ausführung durch das ComputerSystem 102 abgeleitet oder erstellt. Die RDBMS-Software, die SQL-Anweisungen und die daraus abgeleiteten Befehle sind in einem maschinenlesbaren Medium, z.B. in einem oder mehreren der Datenspeichergeräte 104 und 106, realisiert. Außerdem beste- hen die RDBMS-Software, die SQL-Anweisungen und die aus ihnen abgeleiteten Befehle alle aus Befehlen, die, wenn sie durch das Computersystem 102 gelesen und ausgeführt werden, bewirken, daß das ComputerSystem 102 die notwendigen Schritte zur Implementierung und/oder Benut- zung der Erfindung ausführt. Unter der Steuerung eines Betriebssystems werden die RDBMS-Software, die SQL-Anweisungen und die hieraus abgeleiteten Programmbefehle aus den Datenspeichergeräten 104 und 106 zum Einsatz während tatsächlicher Computeroperationen in einen Speicher des ComputerSystems 102 geladen.
Die Erfindung kann somit als ein Verfahren, eine Vorrichtung oder ein Produktionsartikel unter Verwendung von Standardprogrammier- und/oder Entwicklungsverfahren zur Erzeugung von Software, Firmware, Hard- wäre oder einer beliebigen Kombination daraus implementiert werden. Der Begriff "Produktionsartikel" (oder auch "Computerprogrammprodukt"), wie er hier verwendet wird, soll ein Computerprogramm mit einschließen, das von einem beliebigen computerlesbaren Gerät, Träger oder Medium aus zugänglich ist. Alternative Hardwareumgebungen können verwendet werden, um die Erfindung zu implementieren.
Verzögerung der Dateierzeugung Das Ausführungsbeispiel in Fig. 1 ist ein
Datenbanksystem zur Verzögerung der Dateierzeugung 124. Für ein AnwendungsSystem wie zum Beispiel ein ERP-System kontrolliert das System zur Verzögerung der Dateierzeugung 124 die Erzeugung der zugrundeliegenden Dateien von Datentabellen und Indizes für Anwendungsprogramme. Zur zeitlichen Entzerrung der Dateierzeugung 124 schreibt das System zunächst ausschließlich Datentabellen- und Indexdefinitionen für die eventuell zu einem späteren Zeitpunkt erforderlichen Datentabellen und Indizes in einen Datenbankkatalog. Der für diesen Datenbankkatalog benötigte Speicherplatz und die hierfür benötigte Erstellungszeit ist sehr viel geringer als für die entsprechend benötigten Datentabellen. Das System er- zeugt zur zeitlichen Entzerrung der Dateierzeugung 124 Dateien für eine bestimmte Datentabelle oder einen bestimmten Index erst dann, wenn Daten in diese bestimmte Datentabelle oder diesen bestimmten Index eingetragen werden sollen (d.h. wenn der erste Datensatz in diese Datentabelle oder diesen Index eingetragen wird) . Der Benutzer kann bei der Installation des Datenbanksystems z. B. durch Parameterauswahl bestimmen, ob die Dateierzeugung zurückgestellt werden soll oder ob die Datentabelle mit ihren Dateien anfänglich erzeugt werden soll.
Der Benutzer eines Datenbanksystems kann eine Mitarbeitertabelle mit Spalten für den Namen, die Adresse und die Sozialversicherungsnummer des Mitarbeiters erzeugen und die Dateierzeugung mit der folgenden bekannten beispielhaften SQL-Anweisungen verzögern:
CREATE TABLE emp (name varchar, address varchar, socsec int) DEFINE NO;
Mit der folgenden SQL-Syntax kann ein Benutzer, wenn er gerade einen Index erstellt, angeben, ob die Dateierzeugung zu einem späteren Zeitpunkt verzögert werden soll, oder ob der Index mit seinen Dateien anfänglich erzeugt werden soll:
CREATE INDEX <Indexname> ON <Tabellenname>
<Index-Spaltendefinitionsliste> DEFINE <nein oder ja>
Die obige Syntax wird lediglich als Beispiel angegeben. Insbesondere kann der Begriff DEFINE durch ein anderes Schlüsselwort ersetzt werden. In der obigen Syntax verwendet ein Benutzer die Schlüsselwörter CREATE INDEX, gefolgt von einem Indexnamen, einem Da- tentabellennamen, für den der Index erzeugt werden soll, und einer Index-Spaltenliste, die die Liste von Spalten in dem Index definiert. Ein Benutzer gibt DEFINE NO ein, um die Dateierzeugung zu verzögern, und gibt DEFINE YES ein, um die Dateierzeugung nicht zu verzögern.
Ein Benutzer kann einen Mitarbeiterindex auf der emp- abelle mit einer Spalte für eine Sozialversi- cherungsnummer erzeugen und die Dateierzeugung mit der folgenden beispielhaften SQL-Anweisung verzögern:
CREATE INDEX empindex an emp (socsec int) DEFINE NO;
Zum Zeitpunkt der Erzeugung einer Datentabelle oder eines Index in dem Datenbanksystem gibt der Benut- zer die Option DEFINE YES oder DEFINE NO für die CREATE TABLE/INDEX SQL-Anweisungen an. Wenn die Option DEFINE NO angegeben wird, dann registriert das System zur Verzögerung der Dateierzeugung 124 alle Datentabellen- und Index-Schema-Definitionen in dem Datenbankkatalog, ohne die zugrundeliegenden Dateien für irgendwelche Datentabellen oder Indizes zu erzeugen, bis ein erster Daten- satz in die Datentabelle oder in den Index eingetragen wird.
Wenn ein Datensatz zum ersten Mal in eine Datentabelle oder einen Index eingetragen wird, die bzw. der sich in einem UNDEFINED-Zustand befindet, dann erst erzeugt das System zur Verzögerung der Dateierzeugung 124 die zugrundeliegenden Dateien.
Wenn ein betriebswirtschaftliches AnwendungsSystem zum Beispiel drei Anwendungsprogramme unterstützt (ein Personalwirtschaftsprogramm, ein
Finanzanwendungsprogramm und ein Produktionsanwendungsprogramm) und jedes Anwendungsprogramm 10.000 Datentabellen und Indizes erfordert, dann würde ein herkömmliches System 30.000 Datentabellen und Indizes erzeugen. Mit dem System zur Verzögerung der Dateierzeugung 124 können Datentabellen und Indizes mit dem DEFINE-Parameter definiert werden. Wenn in diesem Fall nur ein Anwendungsprogramm für Produktion aktiviert wurde, ohne daß das Personalwirtschaftsprogramm oder das Finanzanwendungsprogramm aktiviert wurde, erzeugt das Dateierzeugungszurückstellungssystem 124 höchstens 10.000 Datentabellen und Indizes, die für das Produktionsanwendungsprogramm erforderlich sind, und erzeugt diese nur nach Bedarf (d.h. wenn Daten in die Datenta- bellen und Indizes eingetragen/geladen werden sollen) . Somit führt das System zur Verzögerung der Dateierzeugung 124 zu einer effizienteren Nutzung von Plattenspeicherplatz und Zeit (d.h. Zeit zur Erzeugung von Dateien usw.) . Das System zur Verzögerung der Dateierzeu- gung 124 ist außerdem insofern vorteilhaft, als weniger Datentabellen und Indizes einen geringeren Managementaufwand erfordern (z.B. sind Dateisicherung und - Wiederherstellung schneller, da sie mit weniger Daten arbeiten) . FIG. 2 zeigt ein Flußdiagramm eines Prozesses, der durch das System zur Verzögerung der Dateierzeugung 124 durchgeführt wird. Im Block 300 empfängt das System zur Verzögerung der Dateierzeugung 124 eine CREATE TABLE- oder CREATE INDEX-Anweisung zur Erzeugung einer Tabelle oder eines Index mit einer DEFINE NO-Klausel. Im Block 302 definiert das System zur Verzögerung der Dateierzeugung 124 eine Datentabelle oder einen Index. Im Block 304 erzeugt das System zur Verzögerung der Da- teierzeugung 124 eine Datei für diese Datentabelle oder diesen Index, wenn Daten in eine Datentabelle oder einen Index eingetragen werden sollen.
Bei einer Ausführungsform behandelt das System zur Verzögerung der Dateierzeugung 124 die nicht defi- nierten Datentabellen oder Indizes als logisch leere
Datentabellen oder Indizes. Wenn zum Beispiel für eine Anweisung wie zum Beispiel u.a. SELECT, UPDATE oder DELETE auf die Undefinierten Datentabellen oder Indizes zugegriffen wird, erzeugt das System zur Verzögerung der Dateierzeugung 124 nicht die zugrundeliegenden Dateien für die Undefinierten Tabellen oder Indizes. Stattdessen gibt das System zur Verzögerung der Dateierzeugung 124 eine Anzeige zurück, daß das Datenbankobjekt nicht modifiziert werden darf. In einer Ausführungsform ist das LOAD Utility das einzige Datenbankhilfsprogramm, das mit einer Undefinierten Datentabelle ablaufen darf. Für andere Datenbank-Utilities (wie zum Beispiel REORG, COPY, RECOVER, RUNSTATS usw. ) gibt das System zur Verzögerung der Da- teierzeugung 124 in einer Ausführungsform eine Anzeige zurück, wenn Operationen mit einer Undefinierten Datentabelle angefordert werden, und daß die Datenbank nicht modifiziert werden darf. Insbesondere gibt das System zur Verzögerung der Dateierzeugung 124 eine Informati- onsmeldung aus, die anzeigt, daß das Datenbank-Utility nicht ausgeführt wurde und ignoriert die angeforderte Operation.
In einer weiteren Ausführungsform gibt das System zur Verzögerung der Dateierzeugung 124, wenn ein Datenbank-Utility mit einer Anzahl definierter und Undefinierter Datentabellen gestartet wird, einem Benutzer die Möglichkeit zu entscheiden, ob die Undefinierten Datentabellen definiert werden sollen, definiert etwaige Undefinierte Datentabellen, wenn der Benutzer angefordert hat, daß sie definiert werden sollen, und führt das angeforderte Utility dann auf den definierten Tabellen aus .
FIG. 3 zeigt ein Flußdiagramm, das einen durch das System zur Verzögerung der Dateierzeugung 124 in einer Ausführungsform durchgeführten Prozess beschreibt. Im Block 400 bestimmt das System zur Verzögerung der Dateierzeugung 124, ob eine Anforderung zur Ausführung einer INSERT-Anweisung oder eines LOAD-Uti- lity empfangen wurde. Wenn dies der Fall ist, fährt das System zur Verzögerung der Dateierzeugung 124 mit Block 402 fort, andernfalls fährt das System zur Verzögerung der Dateierzeugung 124 mit Block 410 fort. Im Block 402 bestimmt das System zur Verzögerung der Dateierzeugung 124, ob eine Undefinierte Datentabelle oder ein undefi- nierter Index betroffen ist. Wenn dies der Fall ist, fährt das System zur Verzögerung der Dateierzeugung 124 mit Block 404 fort, andernfalls fährt das System zur Verzögerung der Dateierzeugung 124 mit Block 406 fort. Im Block 404 erzeugt das System zur Verzögerung der Da- teierzeugung 124 eine zugrundeliegende Datei für die betroffene Datentabelle oder den betroffenen Index. Im Block 406 trägt das System zur Verzögerung der Dateierzeugung 124 Daten in die Datentabelle oder den Index ein. Im Block 410 bestimmt das System zur Verzögerung der Dateierzeugung 124, ob eine Anforderung zur Durchführung einer SELECT-, UPDATE- oder einer DELETE- Operation empfangen wurde. Wenn dies der Fall ist, fährt das System zur Verzögerung der Dateierzeugung 124 mit Block 412 fort, andernfalls fährt das System zur Verzögerung der Dateierzeugung 124 mit Block 420 fort. Im Block 412 bestimmt das System zur Verzögerung der Dateierzeugung 124, ob eine nicht definierte Datenta- belle oder ein nicht definierter Index betroffen ist. Wenn dies der Fall ist, fährt das System zur Verzögerung der Dateierzeugung 124 mit Block 414 fort, andernfalls fährt das System zur Verzögerung der Dateierzeugung 124 mit Block 416 fort. Im Block 414 gibt das Sys- tem zur Verzögerung der Dateierzeugung 124 eine Nachricht "Zeile nicht gefunden" (Row Not Found) zurück. Im Block 416 führt das System zur Verzögerung der Dateierzeugung 124 die angeforderte Operation durch.
Im Block 420 bestimmt das System zur Verzöge- rung der Dateierzeugung 124, ob eine Anforderung zur Durchführung eines (von LOAD verschiedenen) Hilfsprogramms (Utility) empfangen wurde. Wenn dies der Fall ist, fährt das System zur Verzögerung der Dateierzeugung 124 mit Block 422 fort, andernfalls fährt das Sys- tem zur Verzögerung der Dateierzeugung 124 mit Block
430 fort. Im Block 422 bestimmt das System zur Verzögerung der Dateierzeugung 124, ob eine nicht definierte Datentabelle oder ein nicht definierter Index betroffen ist. Wenn dies der Fall ist, fährt das System zur Ver- zögerung der Dateierzeugung 124 mit Block 424 fort, andernfalls fährt das System zur Verzögerung der Dateierzeugung 124 mit Block 426 fort. Im Block 424 gibt das System zur Verzögerung der Dateierzeugung 124 eine Anzeige zurück, daß das Hilfsprogramm nicht ausgeführt werden kann. Im Block 426 führt das System zur Verzöge- rung der Dateierzeugung 124 das angeforderte Hilfsprogramm aus (d.h. startet das Hilfsprogramm) .
Die als Block 430 dargestellten Punkte stellen dar, daß eine weitere Verarbeitung stattfinden kann.
Die Erfindung ist auf unterschiedlichen Computertypen, wie zum Beispiel Großrechner, Minicomputer oder Personalcomputer oder eine beliebige Computerkonfiguration, wie zum Beispiel das Internet, ein lokales Netz oder ein weltweit verteiltes multimediales Informationssystem verwendet werden.

Claims

Patentansprüche:
1. Verfahren zur Erzeugung von Datenbankobjekten für ein Datenbanksystem (116) für ein betriebswirtschaftliches Anwendungsprogramm ausführbar auf einem mit einer
Datenspeichereinheit (104, 106) verbundenen
Computer (102) , umfassend: Empfangen eines Befehls zur Erzeugung eines Da- tenbankobjekts;
Aufzeichnen einer Datenbankobjekt-Definition für das Datenbankobjekt; und
Erzeugen einer Datei für das Datenbankobjekt aus seiner Datenbankobjektdefinition, wenn eine
Anforderung, Daten in das Datenbanko jekt einzutragen, empfangen wird..
2. Verfahren nach Anspruch 1, wobei das Datenbankobjekt eine Tabelle ist.
3. Verfahren nach Anspruch 1, wobei das Datenbankobjekt ein Index ist.
4. Vorrichtung zur Erzeugung von Datenbankobjekten, umfassend: einen Computer (102), der mit einem Datenspeichergerät (104, 106) verbunden ist, welches die Datenbankob ekte speichert; ein oder mehrere Computerprogramme, die durch den Computer (102) ausgeführt werden, zum Empfangen eines Befehls zur Erzeugung eines Datenbankobjekts, Aufzeichnen einer Datenbankobjekt-Definition für das Datenbankobjekt und, wenn auf das Datenbankobjekt zugegriffen wird, Erzeugen einer Datei für das Datenbankobjekt aus seiner Datenbankobjekt-Definition.
5. Vorrichtung nach Anspruch 4, wobei das Datenbankobjekt eine Tabelle ist.
6. Vorrichtung nach Anspruch 4, wobei das Datenbankobjekt ein Index ist.
7. Vorrichtung nach Anspruch 4, wobei ein Datenbanko ekt definiert wird, wenn eine Anforderung, Daten in das Datenbankobjekt einzutragen, empfangen wird.
8. Vorrichtung nach Anspruch 4, weiter umfassend: Empfang einer Anforderung, die Datenbank, welche definierte und nicht definierte Datenbankobjekte umfaßt, zu modifizieren; und Modifikation der Datenbank (116) , indem die definierten Datenbankobjekte modifiziert werden.
9. Computerprogrammprodukt, umfassend einen Computerprogrammträger, der durch Computer
(102) lesbar ist und ein oder mehrere Befehle verkörpert, die durch den Computer (102) ausführbar sind, um Datenbankobjekte zu erzeugen, die in einem Datenspeichergerät (104, 106) gespeichert sind, das mit dem Computer
(102) verbunden ist, umfassend:
Empfangen eines Befehls zur Erzeugung eines Datenbankobjekts ; Aufzeichnen einer Datenbankobjekt-Definition für das Datenbankobjekt; und Erzeugen einer' Datei für das Datenbankobjekt aus seiner Datenbankobjekt-Definition, wenn auf das Datenbankobjekt zugegriffen wird.
5 10. Computerprogrammprodukt nach Anspruch 9, wobei ein Datenbankobjekt eine Tabelle ist.
11. Computerprogrammprodukt nach Anspruch 9, wobei ein Datenbankobjekt ein Index ist.
10.
12. Computerprogrammprodukt nach Anspruch 9 , wobei ein Datenbankobjekt definiert wird, wenn eine Anforderung, empfangen wird, Daten in das Datenbankobjekt einzutragen.
15
13. Computerprogrammprodukt nach Anspruch 9, wobei das Datenbankobjekt definiert wird, wenn eine Anforderung empfangen wird, Daten in das Datenbankobjekt zu laden.
20
14. Computerprogrammprodukt nach Anspruch 9, weiter umfassend:
Empfang einer Anforderung, die Datenbank (116) , die definierte und nicht definierte 25 Datenbankobjekte umfaßt, zu modifizieren; und
Modifikation der Datenbank, indem die definierten Datenbankobjekte modifiziert werden.
PCT/DE2001/003467 2000-09-11 2001-09-10 Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm WO2002021327A2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2002212080A AU2002212080A1 (en) 2000-09-11 2001-09-10 Method and computer program for generating files for a database system for a business management user program
DE10193778T DE10193778D2 (de) 2000-09-11 2001-09-10 Verfahren und Computerprogramm zur Erzeugung von Dateien für ein Datenbanksystem für ein betriebswirtschaftliches Anwendungsprogramm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/659,252 2000-09-11
US09/659,252 US6775676B1 (en) 2000-09-11 2000-09-11 Defer dataset creation to improve system manageability for a database system

Publications (2)

Publication Number Publication Date
WO2002021327A2 true WO2002021327A2 (de) 2002-03-14
WO2002021327A3 WO2002021327A3 (de) 2004-04-01

Family

ID=24644679

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2001/003467 WO2002021327A2 (de) 2000-09-11 2001-09-10 Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm

Country Status (5)

Country Link
US (1) US6775676B1 (de)
EP (1) EP1195693A3 (de)
AU (1) AU2002212080A1 (de)
DE (1) DE10193778D2 (de)
WO (1) WO2002021327A2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944630B2 (en) 2000-11-22 2005-09-13 Bmc Software Database management system and method which monitors activity levels and determines appropriate schedule times
GB2382890B (en) * 2001-12-06 2005-04-20 Ibm Computer storage subsystem, method, software program and data carrier
US7664798B2 (en) * 2003-09-04 2010-02-16 Oracle International Corporation Database performance baselines
US7673291B2 (en) * 2003-09-05 2010-03-02 Oracle International Corporation Automatic database diagnostic monitor architecture
US20060069679A1 (en) * 2004-09-10 2006-03-30 Percey Michael F System for creating associative records
US7941620B2 (en) * 2005-09-12 2011-05-10 International Business Machines Corporation Double-allocation data-replication system
US20070073761A1 (en) * 2005-09-29 2007-03-29 International Business Machines Corporation Continual generation of index advice
US8838573B2 (en) * 2006-06-09 2014-09-16 International Business Machines Corporation Autonomic index creation
US8838574B2 (en) * 2006-06-09 2014-09-16 International Business Machines Corporation Autonomic index creation, modification and deletion
US20070288489A1 (en) * 2006-06-09 2007-12-13 Mark John Anderson Apparatus and Method for Autonomic Index Creation, Modification and Deletion
US8990811B2 (en) * 2007-10-19 2015-03-24 Oracle International Corporation Future-based performance baselines
US8239417B2 (en) * 2008-08-07 2012-08-07 Armanta, Inc. System, method, and computer program product for accessing and manipulating remote datasets
US8905771B2 (en) * 2013-04-28 2014-12-09 Chang Fu Tsai Structure of tree-shaped lighting decoration
US20160147852A1 (en) * 2014-11-21 2016-05-26 Arndt Effern System and method for rounding computer system monitoring data history
US9552162B2 (en) 2014-12-08 2017-01-24 Sap Se Splitting-based approach to control data and storage growth in a computer system
US10366079B1 (en) 2015-01-26 2019-07-30 Microstrategy Incorporated Enterprise connectivity
US10503706B2 (en) * 2015-06-01 2019-12-10 Sap Se Deferred data definition statements
US10452656B2 (en) 2016-03-31 2019-10-22 Sap Se Deep filter propagation using explicit dependency and equivalency declarations in a data model
US11030241B2 (en) * 2017-03-07 2021-06-08 Imperva, Inc. Query usage based organization for very large databases
US10402405B2 (en) 2017-04-05 2019-09-03 Sap Se Explicit declaration of associations to optimize grouping of elements by large data objects

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555409A (en) 1990-12-04 1996-09-10 Applied Technical Sysytem, Inc. Data management systems and methods including creation of composite views of data
US5579515A (en) 1993-12-16 1996-11-26 Bmc Software, Inc. Method of checking index integrity in a DB2 database
US5745895A (en) 1994-06-21 1998-04-28 International Business Machines Corporation Method for association of heterogeneous information
US6223227B1 (en) * 1994-12-07 2001-04-24 Next Software, Inc. Method for providing stand-in objects
US5835915A (en) * 1995-01-24 1998-11-10 Tandem Computer Remote duplicate database facility with improved throughput and fault tolerance
US5950210A (en) * 1996-01-29 1999-09-07 Nelson; Paul M. Database row version differentiation process
US5778390A (en) * 1996-06-07 1998-07-07 Electronic Data Systems Corporation Method and systems for creating duplicating, and archiving database files
US5905987A (en) * 1997-03-19 1999-05-18 Microsoft Corporation Method, data structure, and computer program product for object state storage in a repository
US6047284A (en) * 1997-05-14 2000-04-04 Portal Software, Inc. Method and apparatus for object oriented storage and retrieval of data from a relational database
US6016497A (en) * 1997-12-24 2000-01-18 Microsoft Corporation Methods and system for storing and accessing embedded information in object-relational databases
US6304867B1 (en) * 1999-02-25 2001-10-16 Electronic Data Systems Corporation System and method for enhanced performance of a relational database management system through the use of application-specific memory-resident data
US6598037B1 (en) * 1999-07-26 2003-07-22 Microsoft Corporation Data table object interface for datastore
US6662199B1 (en) * 2000-01-04 2003-12-09 Printcafe Systems, Inc. Method and apparatus for customized hosted applications

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
P. BRUNI ET AL: "DB2 UDB Server for OS/390 Version 6 - Technical Update" Juni 2000 (2000-06), INTERNATIONAL BUSINESS MACHINES CORP. , XP002268442 Gefunden im Internet: <URL:ibm.com/redbooks> Seite 173, Zeile 1 - letzte Zeile *
ROGER MILLER: "What's New in DB2 for OS/390 Version 6 - Recent Enhancements" SHARE IN BOSTON, PRACTICAL EDUCATION FOR IT PROFESSIONALS, 23. Juli 2000 (2000-07-23), - 28. Juli 2000 (2000-07-28) Seiten 1-30, XP002268441 BOSTON, MASSACHUSSETS, USA *

Also Published As

Publication number Publication date
AU2002212080A1 (en) 2002-03-22
EP1195693A3 (de) 2004-03-31
DE10193778D2 (de) 2003-07-31
WO2002021327A3 (de) 2004-04-01
EP1195693A2 (de) 2002-04-10
US6775676B1 (en) 2004-08-10

Similar Documents

Publication Publication Date Title
WO2002021327A2 (de) Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm
JP2768433B2 (ja) 物理データベース設計システム
DE112012000280B4 (de) Organisation von Tabellen mit reduzierten Indizes
DE102012216022B4 (de) Verwaltung einer Zeitpunktkopie-Beziehung für platzsparende Datenträger
DE60306674T2 (de) Verfahren und systeme zur regelung des zugriffs auf ein datenobjekt mittels sperren
EP1088280B1 (de) Verfahren und system zur schnellen speicherresidenten verarbeitung von transaktionsdaten
DE69333408T2 (de) Ein Computer-System und Verfahren zum interaktiven Verwalten eines verteilten Datenbanksystems
DE69533193T2 (de) Paralleles verarbeitungssystem zum durchlaufen einer datenbank
US7174345B2 (en) Methods and systems for auto-partitioning of schema objects
US6480848B1 (en) Extension of data definition language (DDL) capabilities for relational databases for applications issuing DML and DDL statements
EP0633538A2 (de) Relationales Datenbankverwaltungssystem
DE202015009875U1 (de) Transparente Entdeckung eines semistrukturierten Datenschemas
US6289355B1 (en) Fast log apply
DE19926116A1 (de) Mehr-Teilprozeß-Protokollierung in einer Konfigurationsdatenbank
DE112012004099T5 (de) Transaktionsverarbeitungssystem, Verfahren und Programm
DE10113577A1 (de) Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems
JP2003505766A (ja) クエリー最適化プラン用インデックスに対する変化の効果を観察するためのデータベースシステム
DE202019005716U1 (de) Nachverfolgen von Änderungen bei Datenbankdaten
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE19534819B4 (de) Verfahren und Vorrichtung zum Konfigurieren einer Datenbank
DE102021125630A1 (de) Datensynchronisation in einem datenanalysesystem
EP1276056B1 (de) Verfahren zum Verwalten einer Datenbank
DE60223546T2 (de) Verfahren und system zur neuorganisierung eines &#34;tablespace&#34; in einer datenbank
DE10063512B4 (de) Technik zum Einrichten eines Konsistenzpunktes in einem System zum parallelen Laden einer Datenbank
US6453322B1 (en) Extension of data definition language (DDL) capabilities for relational databases for applications issuing multiple units of work

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REF Corresponds to

Ref document number: 10193778

Country of ref document: DE

Date of ref document: 20030731

Kind code of ref document: P

WWE Wipo information: entry into national phase

Ref document number: 10193778

Country of ref document: DE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP