The SAP system contains many types of constructs and structures within the R/3 (or other SAP component) Data Dictionary (DDIC). The majority of these constructs tend to get very technical. I will however provide an overview of many of these constructs and related concepts later in Hour 17, "ABAP Data Dictionary and Repository." The topics discussed next give you an idea of how different elements of the database are usually designed with the end result of increased performance and system scalability in mind.
Database indexes are used to speed up the retrieval of data from tables (see Figure 3.7). An index might best be described as a copy of a database table reduced to only the key fields. The data in this reduced copy are sorted according to some predefined criteria, enabling rapid access to the data. Not all fields from the copied table exist in the index, and the index contains a pointer to the associated record of the actual table.
Figure 3.7 SAP database indexes are used to speed up the retrieval of data from tables in the database.
SAP uses another concept called transparent tables, which are SAP database tables that only contain data at runtime. A transparent table is automatically created in the database when a table is activated in the ABAP/4 Data Dictionary. This transparent table contains the same name as your database table in the ABAP/4 Dictionary. Each of its fields also contains the same names as their database counterparts although the sequence of the fields might change. The varying field sequence makes it possible to insert new fields into the table without having to convert it, all of which allows for more rapid access to data during runtime.
Database structures is another technical term that you really do not need to concern yourself with too much, but is important nonetheless. Simply remember that database structures are a group of internal fields that logically belong together. Structures are activated and defined in the ABAP/4 Data Dictionary and only contain data temporarily—during the execution of a program. Structures are differentiated from database tables based on the following three criteria:
A structure does not contain or reflect an associated ABAP/4 Data Dictionary table.
A structure does not contain a primary key.
A structure does not have any technical properties like class, size, category, or buffering specifications.