Database Basics
What is an EViews Database?
An EViews native format database consists of a set of files on disk. There is a main file with the extension .EDB which contains the actual object data, and a number of index files with extensions such as .E0, .E1A and .E1B which are used to speed up searching operations on the database. In normal use, EViews manages these files for the user, so there is no need to be aware of this structure. However, if you are copying, moving, renaming, or deleting an EViews database from outside of EViews (using Windows Explorer for example), you should perform the operation on both the main database file and all the index files associated with the database. If you accidentally delete or damage an index file, EViews can regenerate it for you from the main data file using the repair command (see
“Maintaining the Database”).
The fact that EViews databases are kept on disk rather than in memory has some important consequences. Any changes made to a database cause immediate changes to be made to the disk files associated with the database. Therefore, unlike workfiles, once a change is made to a database, there is no possibility of discarding the change and going back to the previously saved version. Because of this, you should take care when modifying a database, and should consider keeping regular backup copies of databases which you modify frequently.
EViews also allows you to deal with a variety of foreign format databases through the same interface provided to EViews’ native format databases. Foreign databases can have many different forms, including files on disk, or data made available through some sort of network server. See
“Foreign Format Databases” for a discussion of the different types of foreign databases that EViews can access.
Creating a Database
To create a database, simply select from the main menu.
For a native EViews database, simply enter a name for the database in the field labeled DB File name/path, then click on the button marked OK. This will create a new EViews database in the current path.
To create a database in a different directory, you can enter the full path and database name in the edit field. Alternatively, you can browse to the desired directory. Simply click on the Browse Files button to call up the common file dialog, and then navigate to the target directory. Enter the name of the new database in the edit field, then click on the button to accept the information and close the file dialog. EViews will put the new path and filename in the edit field.
The
Database/File Type field allows you to create different types of databases. See
“Foreign Format Databases” for a discussion of working with different database types.
The
Open As field allows you to specify the shorthand that will be associated with this database. A shorthand is a short text label which is used to refer to the database in commands and programs. If you leave this field blank, a default shorthand will be assigned automatically (see
“Database Shorthands”).
The
Browse Registry and
Add to Registry buttons provide a convenient way to recall information associated with a previously registered database or to include the new database in the database registry (see
“The Database Registry”).
A database can also be created from the command line or in a program using the command:
dbcreate db_name
where db_name is the name of the database using the same rules given above.
The Database Window
When you create a new database, a database window will open on the screen.
The database window provides a graphical interface which allows you to query the database, copy-and-paste objects to and from your workfile, and perform basic maintenance on the database. Note that some database operations can also be carried out directly without first opening the database window.
To open a database window for an existing database, select from the main menu. The same dialog will appear as was used during database creation. To open an EViews database, use the button to select a file using the common file dialog, then click on OK to open the file. A new window should appear representing the open database.
From the command line or in a program, you can open a database window by typing:
dbopen db_name
Unlike a workfile window, a database window does not display the contents of the database when it is first opened, although it does tell you how many objects are in the database. The second line of the window text shows the number of objects currently displayed (zero when the window is first opened) followed by the total number of objects stored in the database.
You can bring up an alphabetical listing of every object in the database by clicking on the button:
As for a workfile, each object is preceded by a small icon that identifies the type of the object. When performing an query, no other information about the object is visible. However, by double clicking on an object you can bring up a description of the object including its name, type, modification date, frequency, start and end date (for series), update and write times, metadata, and a preview of the data and a graph (if available).
For large databases, the button generally displays too many objects and not enough information about each object. The database query features (
“Querying the Database”) allow you to control precisely which objects should be displayed, and what information about each object should be visible. The text form of the query currently being displayed is always visible in the top line of the database window.
When working with foreign databases, the object names may appear in color to indicate that they are illegal names or that an alias has been attached to an object name (see
“Object Aliases and Illegal Names”).
The “Packable space” field in the database window displays the percentage of unused space in the database that can be recovered by a database pack operation (see
“Packing the Database”).
A brief technical note: having a database window open in EViews generally does not keep a file open at the operating system level. EViews will normally open files only when it is performing operations on those files. Consequently, multiple users may have a database open at the same time and can perform operations simultaneously. There are some limits imposed by the fact that one user cannot read from a database that another user is writing to at the same time. However, EViews will detect this situation and continue to retry the operation until the database becomes available. If the database does not become available within a specified time, EViews will generate an error stating that a “sharing violation” on the database has occurred.
For some foreign formats, even minor operations on a database may require full rewriting of the underlying file. In these cases, EViews will hold the file open as long as the database window is open in order to improve efficiency. The formats that currently behave this way are Aremos TSD files, RATS Portable files and TSP portable files. When using these formats, only one user at a time may have an open database window for the file.
Database Shorthands
In many situations, EViews allows you to prefix an object name with a database identifier to indicate where the series is located. These database identifiers are referred to as “shorthands”. For example, the command:
fetch db1::x db2::y
indicates to EViews that the object named X is located in the database with the shorthand db1 and the object named y is located in the database with the shorthand db2.
Whenever a database is opened or created, it is assigned a shorthand. The shorthand can be specified by the user in the
Open as field when opening a database, or using the “As” clause in the
dbopen command (see
dbopen). If a shorthand is explicitly specified when opening a database, an error will occur if the shorthand is already in use.
If no shorthand is provided by the user, a shorthand is assigned automatically. The default value will be the name of the database after any path or extension information has been removed. If this shorthand is already in use, either because a database is already open with the same name, or because an entry in the database registry already uses the name, then a numerical suffix is appended to the shorthand, counting upwards until an unused shorthand is found.
For example, if we open two databases with the same name in a program:
dbopen test.edb
dbopen test.dat
then the first database will receive the shorthand “TEST” and the second database will receive the shorthand “TEST1”. If we then issue the command:
fetch test::x
the object X will be fetched from the EViews database TEST.EDB. To fetch X from the Haver database TEST.DAT we would use:
fetch test1::x
To minimize confusion, you should assign explicit shorthands to databases whenever ambiguity could arise. For example, we could explicitly assign the shorthand test_haver to the second database by replacing the second dbopen command with:
dbopen test.dat as test_haver
The shorthand attached to a database remains in effect until the database is closed. The shorthand assigned to an open database is displayed in the title bar of the database window.
The Default Database
In order to simplify common operations, EViews uses the concept of a default database. The default database is used in several places, the most important of which is as the default source or destination for store or fetch operations when an alternative database is not explicitly specified.
The default database is set by opening a new database window, or by clicking on an already open database window if there are multiple databases open on the screen. The name of the default database is listed in the status line at the bottom of the main EViews window (see
“Object Basics”, for details). The concept is similar to that of the current workfile with one exception: when there are no currently open databases there is still a default database; when there are no currently open workfiles, the current workfile is listed as “none.”
EViews .DB? files
Early versions of EViews and MicroTSP supported a much more limited set of database operations. Objects could be stored on disk in individual files, with one object per file. Essentially, the disk directory system was used as a database and each database entry had its own file. These files had the extension “.DB” for series, and .DB followed by an additional character for other types of objects. EViews refers to these collectively as .DB? files.
While the new database features added to EViews provide a superior method of archiving and managing your data, .DB? files provide backward compatibility and a convenient method of distributing data to other programs. Series .DB files are now supported by a large number of programs including TSP, RATS, and SHAZAM. Additionally, some organizations such as the National Bureau of Economic Research (NBER), distribute data in .DB format.