Keyword Analysis

Simple systems.

The key here is to ignore the syntax of input almost entirely, but focus on the existence of "keywords". These words direct how the system will behave.

E.g.,


   Voice synthesized car: Good-morning. Instructions?

   Driver: <Start> the engine. <Dial> my <work> number on cellular phone.

But troubles can occur,

   Driver: <Start> dialing my work phone. I'm going to check under
           the hood for the tension on the alternator belt.
An especially useful application is database queries. Databases are driven by simple, regular commands. (This is what makes implementation on a GUI system relatively easy. Why?)

A relational database consists of one or more tables (note how the rows of the table form the "tuples" of a relation).

[Note the difference between "specification" and implementation and why "table" should be in quotes!]

Table 1:
   | Worker ID | Name                 | Location
   |-----------|----------------------|--------------
   |   666     | Gamble, Proctor      | Moline, Ill.
   |  2001     | Clark, Arthur        | Mars
   |    12     | Lansing, David       | Venus
   |           |                      |

Table (relation) 2:

   | Worker ID | Job Title            |
   |-----------|----------------------|--------------
   |   666     | Disposal Chief       |
   |  2001     | Records Chief        |
   |    12     | Test Pilot           |
   |           |                      |

Key terms (compare and contrast):

   Row
   Record
   Field
   Attribute
   Key Attribute