N. Rishe. Database Design: The Semantic Modeling Approach. McGraw-Hill, 1992, 528 pp, ISBN 0-07-052955-8. This document contains Chapter 5 of the book, except problems and solutions. This is a non-graphic ASCII version. A graphic version of this chapter in postscript, as well as other chapters in ASCII and postscript and transparency masters are available at the URL http://www.cs.fiu.edu/HPDRC/WS/semantic/Rishe-92-DDS.html. Copyright (c) McGraw-Hill 1992 5. MORE ON DATABASE DESIGN METHODOLOGY This chapter begins with a case study of a design of an actual database application. Section 2 summarizes the flow of database design. Section 3 compares the methodology of this book to the older methodology of normalization. 5.1. A Case Study of an Application The university database studied in the examples of the other chapters of this book is a small ``toy'' application. The objective of this chapter is to show a real application. This chapter describes a database that has been developed for the Hydrology Division of the Everglades National Park. (Actually this application is a self- contained subapplication of a larger database covering various activities of the Park and consisting of more than 1000 categories, relations, and attributes.) The first part of this chapter presents the semantic analysis of the relevant subschemas. It contains information based on our interviews with the Client's representatives. We have translated this analysis into formal concepts. The specification of every concept herein consists of: o The concept's name, which should be clear and meaningful to the database users o Technical characteristics of the concept o A comment defining the meaning of the concept A correct definition in the comment is important. Its purposes are to: o Verify that the systems analysts correctly understand the meanings of the application's concepts o Concisely convey the meanings of the application to the programming personnel who will work on the application in the future o Provide online comments on all database entities to the future users of the database on the Client's side o Provide an information reference manual for use by the Client's personnel and for training of new employees, whether they will be using the database or not o Facilitate decision making at the Client's managerial and executive levels by providing a graphic overview and a comprehensive directory of the information owned by the Client (as a supplement to the other decision support resources: a directory of the personnel employed, a directory of financial and tangible assets owned, and the database itself) o Specify informally integrity constraints beyond those shown in the graphical schema For every numeric attribute, a range of its possible values is given. For example, 23.5..100.7 means that the values may not be less than 23.5 or greater than 100.7 and that the precision is one digit after the decimal point. It is desirable that a range be as narrow as possible while still allowing for all the possible values that may be meaningful in the database at any time in the future. The range specification is used to check the input in order to eliminate data entry typos. The schema is partitioned into several subschemas each of which is small enough to be displayed on one page. The interconnections between the subschemas are shown by having some categories appear in more than one subschema. For every category, one subschema is the home subschema of that category and contains all of its attributes. If that category appears also in other subschemas, it has no attributes there, but, instead, a reference to its home subschema. The category appears in subschemas other than its home subschema in order to show relations with other categories of those subschemas. Example 5-1. The Equipment History subschema covers information relevant to all the equipment of the Park. It is the home subschema of the category EQUIPMENT. The Hydrology Stations Equipment subschema has additional information about the equipment installed at hydrological stations. The category EQUIPMENT appears in Figure 5-1 as a pointer to the Equipment History subschema. Figure 5-1. Interschema reference. 5.1.1. Semantic analysis The semantic categories of this section and the corresponding relational tables are listed in the Index of this book. This facilitates cross-referencing between them. 5.1.1.1. Hydrology stations (includes marine rainfall stations) Principal interviewer: Michael Alexopoulos. Client representatives interviewed: De Witt Smith, David Sikema. Revised by Naphtali Rishe 03/19/91. [] HYDROLOGY-STATION - category (A catalog of hydrology stations which reside within the Everglades National Park.) [] FIXED-STATION - subcategory of HYDROLOGY-STATION (A hydrology station which is housed in a permanent structure.) [] TEMPORARY-STATION - subcategory of HYDROLOGY-STATION (A hydrology station which only exists for a period of time and it is not housed in a permanent structure.) [] CONTINUOUS-STATION - subcategory of FIXED-STATION (A fixed hydrology station which collects data continuously.) [] DISCONTINUOUS-STATION - subcategory of FIXED-STATION (A fixed hydrology station which collects data only for specific intervals of time.) [] STATION-CONTINUITY-PERIOD - category (A catalog of periods during which a discontinuous station is active and various data is collected.) Every object of the category HYDROLOGY-STATION must also belong to its subcategory. The following subcategories are disjoint: FIXED- STATION TEMPORARY-STATION. Every object of the category FIXED-STATION must also belong to its subcategory. The following subcategories are disjoint: CONTINUOUS- STATION DISCONTINUOUS-STATION. [] the-discontinuous-station - relation from STATION- CONTINUITY-PERIOD to DISCONTINUOUS-STATION (m:1,total) (The discontinuous station which was active for periods of time collecting data.) The objects of the category HYDROLOGY-STATION are identified by: station-id. The objects of the category STATION-CONTINUITY-PERIOD are identified by: begin-date the-discontinuous-station. [] station-id - attribute of HYDROLOGY-STATION, range: Char(15) (1:1,total) (Identification.) [] station-description - attribute of HYDROLOGY-STATION, range: String (m:1) (English name or designation of the station.) [] station-location-north - attribute of HYDROLOGY-STATION, range: 2746840..2865840 (m:1) (UTM north coordinate of a hydrology station.) [] station-location-east - attribute of HYDROLOGY-STATION, range: 446880..563280 (m:1) (UTM east coordinate of a hydrology station.) [] method-used - attribute of HYDROLOGY-STATION, range: `standard-survey',`loran',`gps-equipment',`map' (m:1) (The method used to derive the location coordinates of a station.) [] location-tolerance-ft - attribute of HYDROLOGY-STATION, range: 0..1000 (m:1) (Tolerance of the location of a station, in feet. A value x assigned to this attribute means that the tolerance is +/-x feet.) [] station-owner - attribute of HYDROLOGY-STATION, range: `everglades-national-park',`usgs',`sfwmd',`us-coe' (m:1) (The agency which owns the station.) [] housing-descriptor - attribute of FIXED-STATION, range: String (m:1) (Description of the housing of a fixed station.) [] platform-height-ft - attribute of FIXED-STATION, range: 0.00..10.00 (m:1) (The height of the station platform from the water surface, in feet.) [] benchmark-location-north - attribute of FIXED-STATION, range: 2746840..2865840 (m:1) (UTM north coordinate of the benchmark which corresponds to a fixed station.) [] benchmark-location-east - attribute of FIXED-STATION, range: 446880..563280 (m:1) (UTM east coordinate of the benchmark which corresponds to a fixed station.) [] platform-benchmark-height-difference - attribute of FIXED- STATION, range: 0.00..10.00 (m:1) (The difference between the height of the station platform and the height of its corresponding benchmark, in feet.) [] begin-date - attribute of STATION-CONTINUITY-PERIOD, range: Date (m:1,total) (The date during which a discontinuous station was activated and started the generation of data for some parameters.) [] end-date - attribute of STATION-CONTINUITY-PERIOD, range: Date (m:1) (The date during which a period of activation for some discontinuous station ended.) [] begin-date - attribute of TEMPORARY-STATION, range: Date (m:1) (The starting date of the life of a temporary station.) [] end-date - attribute of TEMPORARY-STATION, range: Date (m:1) (The ending date of the life of a temporary station.) Figure 5-2. Semantic subschema for Hydrology Stations. 5.1.1.2. Equipment Principal interviewer: Michael Alexopoulos. Client representatives interviewed: De Witt Smith, David Sikema. Revised by Naphtali Rishe 03/19/91. [] EQUIPMENT - category (A general catalog of equipment owned by the Everglades National Park.) [] REPAIR-PERIOD - category (A list of periods during which various repairs were made to equipment.) [] BATTERY-CHANGE - category (A list of dates during which a battery change was done to equipment.) [] CALIBRATION - category (A list of calibrations done to equipment.) [] CALIBRATION-USING-EQUIPMENT - subcategory of CALIBRATION (Calibration of equipment while using other equipment.) [] CALIBRATION-USING-OTHER-TECHNIQUE - subcategory of CALIBRATION (Calibration using a technique which is documented here. However this technique does not use instruments which are recorded in the database, i.e., this category is disjoint from CALIBRATION-USING-EQUIPMENT.) Every object of the category CALIBRATION must also belong to its subcategory. The following subcategories are disjoint: CALIBRATION-USING-EQUIPMENT CALIBRATION-USING-OTHER-TECHNIQUE. [] the-equipment-repaired - relation from REPAIR-PERIOD to EQUIPMENT (m:1,total) (The equipment repaired.) [] in-equipment - relation from BATTERY-CHANGE to EQUIPMENT (m:1,total) (The equipment for which the battery was changed.) [] the-equipment-calibrated - relation from CALIBRATION to EQUIPMENT (m:1,total) (The equipment which was calibrated.) [] has-used - relation from CALIBRATION-USING-EQUIPMENT to EQUIPMENT (m:m) (The equipment used to calibrate some other equipment.) The objects of the category CALIBRATION are identified by: calibration-date the-equipment-calibrated. The objects of the category REPAIR-PERIOD are identified by: begin-date the-equipment-repaired. The objects of the category BATTERY-CHANGE are identified by: battery-change-date in-equipment. The objects of the category EQUIPMENT are identified by: park- service-number. [] type-descriptor - attribute of EQUIPMENT, range: Char(30) (m:1) (The type of the equipment.) [] model-number - attribute of EQUIPMENT, range: Char(15) (m:1) (The model number of the equipment.) [] serial-number - attribute of EQUIPMENT, range: Char(20) (m:1) [] park-service-number - attribute of EQUIPMENT, range: Char(15) (1:1) (The number assigned to the equipment by the Everglades Park authorities.) [] begin-date - attribute of REPAIR-PERIOD, range: Date (m:1,total) (The date on which the equipment was taken for repairs.) [] end-date - attribute of REPAIR-PERIOD, range: Date (m:1) (The first date during which the equipment was functioning again after the repair.) [] reason-for-repair - attribute of REPAIR-PERIOD, range: String (m:1) (The reason for which the equipment was not functioning.) [] repair-entity - attribute of REPAIR-PERIOD, range: String (m:1) (The legal entity which repaired the equipment.) [] battery-change-date - attribute of BATTERY-CHANGE, range: Date (m:1,total) (The date on which the battery of some equipment was changed.) [] calibration-date - attribute of CALIBRATION, range: Date (m:1,total) (The date on which the equipment was calibrated.) [] calibration-method - attribute of CALIBRATION, range: `Field',`Lab' (m:1) (The equipment was either removed from the station and was calibrated in the lab, or it was calibrated in the field.) [] technique-description - attribute of CALIBRATION-USING- OTHER-TECHNIQUE, range: String (m:1) (A description of the technique used to calibrate the equipment.) Figure 5-3. Semantic subschema for Equipment and Equipment History. 5.1.1.3. Daily hydrology observations Principal interviewer: Michael Alexopoulos. Client representative interviewed: David Sikema. Revised by Naphtali Rishe 03/19/91. [] DAILY-HYDROLOGY-OBSERVATION - category (A catalog of daily hydrology observations which originate from stations within the Everglades National Park.) [] DAILY-STAGE - subcategory of DAILY-HYDROLOGY-OBSERVATION (Daily mean stage measurements.) [] DAILY-RAINFALL - subcategory of DAILY-HYDROLOGY-OBSERVATION (Daily total rainfall measurements.) [] DAILY-DISCHARGE - subcategory of DAILY-HYDROLOGY- OBSERVATION (Daily mean discharge measurements.) [] DAILY-TEMPERATURE - subcategory of DAILY-HYDROLOGY- OBSERVATION (Daily temperature measurements.) [] DAILY-EVAPORATION - subcategory of DAILY-HYDROLOGY- OBSERVATION (Daily total evaporation measurements.) Every object of the category DAILY-HYDROLOGY-OBSERVATION must also belong to its subcategory. The following subcategories are disjoint: DAILY-EVAPORATION DAILY-TEMPERATURE DAILY-DISCHARGE DAILY-RAINFALL DAILY-STAGE. [] daily-produced-by - relation from DAILY-HYDROLOGY- OBSERVATION to HYDROLOGY-STATION (m:1,total) (The station which generates daily measurements. Daily stage and rainfall measurements can only be generated by continuous stations owned by one of the following agencies: U.S. Army COE, SFWMD, USGS. Daily discharge measurements can only be generated by one of the following agencies: USGS, SFWMD. Daily evaporation and temperature measurements can only be generated by stations owned by one of the following agencies: Everglades RC, SFWMD, U.S. Army COE.) [] date - attribute of DAILY-HYDROLOGY-OBSERVATION, range: Date (m:1,total) (The date during which a hydrology observation was made.) The objects of the category DAILY-HYDROLOGY-OBSERVATION are identified by: date daily-produced-by. [] daily-mean-stage - attribute of DAILY-STAGE, range: -99.99..+99.99 (m:1) (The daily mean stage quantity measured in ft/100. That is the value 1.23 means 0.0123 feet. This field is left blank when data is not available.) [] daily-precipitation-inch - attribute of DAILY-RAINFALL, range: 0.00..22.00 (m:1) (The daily total precipitation quantity measured in inches. This field is left blank when data is not available.) [] total-daily-evaporation-inch - attribute of DAILY- EVAPORATION, range: 0.00..12.00 (m:1) (The total water evaporation for the day, measured in inches. This field is left blank when data is not available.) [] daily-mean-discharge - attribute of DAILY-DISCHARGE, range: -99999.99..+99999.99 (m:1) (The mean discharge quantity for the day, measured in cubic feet per second. This field is left blank when data is not available.) [] formula - attribute of DAILY-DISCHARGE, range: `weir',`rating-curves' (m:1) (The formula used to compute the mean discharge value.) [] daily-upstream-stage-ft - attribute of DAILY-DISCHARGE, range: 0..12 (m:1) (Upstream stage level for the day, measured in feet.) [] daily-downstream-stage-ft - attribute of DAILY-DISCHARGE, range: 0..12 (m:1) (Downstream stage level for the day, measured in feet.) [] daily-mean-temperature - attribute of DAILY-TEMPERATURE, range: 20.00..120.00 (m:1) (The mean temperature for the day, in degrees Fahrenheit. This field is left blank when data is not available.) [] daily-max-temperature - attribute of DAILY-TEMPERATURE, range: 20.00..120.00 (m:1) (The maximum temperature for the day, in degrees Fahrenheit. This field is left blank when data is not available.) [] daily-min-temperature - attribute of DAILY-TEMPERATURE, range: 20.00..120.00 (m:1) (The minimum temperature for the day, in degrees Fahrenheit. This field is left blank when data is not available.) Figure 5-4. Semantic subschema for daily stage, rainfall, discharge, evaporation, and temperature observations. 5.1.1.4. Hourly hydrology observations Principal interviewer: Michael Alexopoulos. Client representative interviewed: David Sikema. Revised by Naphtali Rishe 03/19/91. [] HOURLY-HYDROLOGY-OBSERVATION - category (A catalog of hourly hydrology observations which originate from stations within the Everglades National Park.) [] HOURLY-STAGE - subcategory of HOURLY-HYDROLOGY-OBSERVATION (Hourly mean stage measurements.) [] HOURLY-RAINFALL - subcategory of HOURLY-HYDROLOGY- OBSERVATION (Hourly total rainfall measurements.) [] HOURLY-WIND - subcategory of HOURLY-HYDROLOGY-OBSERVATION (Hourly wind speed and wind direction measurements.) Every object of the category HOURLY-HYDROLOGY-OBSERVATION must also belong to its subcategory. The following subcategories are disjoint: HOURLY-WIND HOURLY-RAINFALL HOURLY-STAGE. [] hourly-produced-by - relation from HOURLY-HYDROLOGY- OBSERVATION to HYDROLOGY-STATION (m:1,total) (The station which generates hourly either stage or rainfall or wind speed and direction measurements. Hourly stage and rainfall measurements can only be generated by continuous stations owned by the Everglades Research Center. Hourly wind speed and direction measurements can only be generated by stations owned by any of the following agencies: Everglades Research Center, SFWMD, U.S. Army Corps of Engineers, NOAA.) [] hour - attribute of HOURLY-HYDROLOGY-OBSERVATION, range: 0..23 (m:1,total) (The hour during which the hydrology observation was made.) [] date - attribute of HOURLY-HYDROLOGY-OBSERVATION, range: Date (m:1,total) (The date on which the hourly hydrology observation was made.) The objects of the category HOURLY-HYDROLOGY-OBSERVATION are identified by: hour date hourly-produced-by. [] hourly-mean-stage - attribute of HOURLY-STAGE, range: -99.99..+99.99 (m:1) (The hourly mean stage quantity measured in ft/100. That is, the value 1.23 means 0.0123 feet. This field is left blank when data is not available.) [] hourly-precipitation-inch - attribute of HOURLY-RAINFALL, range: 0.00..22.00 (m:1) (The hourly total precipitation quantity measured in inches. This field is left blank when data is not available.) [] hourly-mean-wind-speed-mph - attribute of HOURLY-WIND, range: 0.00..200.00 (m:1) (The mean wind speed for the hour, measured in miles per hour. This field is left blank when data is not available.) [] hourly-wind-direction - attribute of HOURLY-WIND, range: 1..360 (m:1) (The wind direction for the hour, measured in degrees. This field is left blank when data is not available.) Figure 5-5. Semantic subschema for hourly stage and rainfall observations. 5.1.1.5. Monthly hydrology observations Principal interviewer: Michael Alexopoulos. Client representative interviewed: David Sikema. Revised by Naphtali Rishe 03/19/91. [] MONTHLY-HYDROLOGY-OBSERVATION - category (A catalog of monthly hydrology observations which originate from stations within the Everglades National Park.) [] MONTHLY-STAGE - subcategory of MONTHLY-HYDROLOGY- OBSERVATION (Monthly mean stage measurements.) [] MONTHLY-RAINFALL - subcategory of MONTHLY-HYDROLOGY- OBSERVATION (Monthly total rainfall measurements.) Every object of the category MONTHLY-HYDROLOGY-OBSERVATION must also belong to its subcategory. The following subcategories are disjoint: MONTHLY-STAGE MONTHLY-RAINFALL. [] monthly-produced-by - relation from MONTHLY-HYDROLOGY- OBSERVATION to HYDROLOGY-STATION (m:1,total) (The station which generates monthly stage and/or rainfall measurements. Monthly stage and rainfall measurements can only be generated by discontinuous stations owned by the Everglades Research Center.) [] month - attribute of MONTHLY-HYDROLOGY-OBSERVATION, range: 1..12 (m:1,total) (The month during which a hydrology observation was made.) [] year - attribute of MONTHLY-HYDROLOGY-OBSERVATION, range: 1940..2040 (m:1,total) (The year during which a monthly hydrology observation was made.) The objects of the category MONTHLY-HYDROLOGY-OBSERVATION are identified by: month year monthly-produced-by. [] monthly-mean-stage - attribute of MONTHLY-STAGE, range: -99.99..+99.99 (m:1) (The monthly mean stage quantity measured in ft/100. That is the value 1.23 means 0.0123 feet. This field is left blank when data is not available.) [] monthly-precipitation-inch - attribute of MONTHLY-RAINFALL, range: 0.00..22.00 (m:1) (The monthly total precipitation quantity measured in inches. This field is left blank when data is not available.) Figure 5-6. Semantic subschema for monthly stage and rainfall observations. 5.1.1.6. Hydrology stations equipment Principal interviewer: Michael Alexopoulos. Client representatives interviewed: De Witt Smith, David Sikema. Revised by Naphtali Rishe 03/19/91. [] PARAMETER-MEASURED-BY-SPECIFIC-EQUIPMENT - category (A catalog of parameters for which data are collected from various equipment installed at different hydrology stations.) [] PARAMETER-DISCONTINUITY-PERIOD - category (A catalog of periods during which a parameter is not collected.) [] EQUIPMENT-INSTALLATION-PERIOD - category (A catalog of time intervals indicating the station where an equipment has been installed during that interval.) [] collected-by - relation from PARAMETER-MEASURED-BY- SPECIFIC-EQUIPMENT to EQUIPMENT (m:1,total) (The equipment which collects the parameter.) [] the-parameter - relation from PARAMETER-DISCONTINUITY-PERIOD to PARAMETER-MEASURED-BY-SPECIFIC-EQUIPMENT (m:1,total) (The parameter not collected for the period.) [] installed-at - relation from EQUIPMENT-INSTALLATION-PERIOD to HYDROLOGY-STATION (m:1,total) (The station where the equipment was or is present during the time interval.) [] the-equipment - relation from EQUIPMENT-INSTALLATION-PERIOD to EQUIPMENT (m:1,total) (The equipment installed at a station during a given time interval.) [] begin-date - attribute of EQUIPMENT-INSTALLATION-PERIOD, range: Date (m:1,total) (The beginning date on which the equipment was installed at a specific station. May be omitted if unknown or irrelevant.) [] end-date - attribute of EQUIPMENT-INSTALLATION-PERIOD, range: Date (m:1) (The ending date on which the equipment was removed from a specific station. Omitted when the equipment is still there.) [] begin-date - attribute of PARAMETER-DISCONTINUITY-PERIOD, range: Date (m:1,total) (The beginning date on which data for a specific parameter ceased to be collected.) [] end-date - attribute of PARAMETER-DISCONTINUITY-PERIOD, range: Date (m:1) (The last day of a period during which data for a specific parameter was not collected.) [] reason-for-discontinuity - attribute of PARAMETER- DISCONTINUITY-PERIOD, range: String (m:1) (The reason for which data for a specific parameter was not collected during this time interval.) [] parameter-name - attribute of PARAMETER-MEASURED-BY- SPECIFIC-EQUIPMENT, range: Char(20) (m:1,total) (The name of the parameter collected by some specific equipment.) [] parameter-description - attribute of PARAMETER-MEASURED-BY- SPECIFIC-EQUIPMENT, range: String (m:1) (Designation of the parameter collected by some specific equipment.) The objects of the category EQUIPMENT-INSTALLATION-PERIOD are identified by: begin-date installed-at the-equipment. The objects of the category PARAMETER-MEASURED-BY-SPECIFIC-EQUIPMENT are identified by: parameter-name collected-by. The objects of the category PARAMETER-DISCONTINUITY-PERIOD are identified by: begin-date the-parameter. Figure 5-7. Semantic subschema for Hydrology Stations Equipment. 5.1.1.7. Fire history Principal interviewer: Michael Alexopoulos. Client representatives interviewed: Sue Husari, Dave Lentz. Revised by Naphtali Rishe 03/19/91. [] FIRE-INCIDENT - category (A catalog of fire incidents which occur within the boundaries of the Everglades National Park.) [] DAILY-DESCRIPTION - category (Each fire occurring within the park may burn continuously for a number of days until it is put out. This category is a catalog of all the days for which a fire has lasted, for all fires.) [] FIRE-WEATHER-OBSERVATION - category (A catalog of fire- weather related observations for every day of interest to the Everglades Park authorities.) [] FIRE-WEATHER-STATION - category (A catalog of fire-weather stations, where a fire-weather station is a collection of equipment used to measure various quantities pertaining to weather conditions within the Everglades Park area.) [] YEAR - category (A catalog of years during which various fire incidents occur.) [] for - relation from DAILY-DESCRIPTION to FIRE-INCIDENT (m:1,total) (The days during which a fire was burning.) [] designated-hydrology-station - relation from FIRE-INCIDENT to HYDROLOGY-STATION (m:1) (Closest hydrology station to the origin of the fire, designated by Park officials.) [] observed-by - relation from FIRE-WEATHER-OBSERVATION to FIRE-WEATHER-STATION (m:1,total) (The weather observations carried out by a fire-weather station every day.) [] the-year - relation from FIRE-INCIDENT to YEAR (m:1,total) (The year during which a fire incident has occurred.) [] fire-number-within-year - attribute of FIRE-INCIDENT, range: 1..999 (m:1,total) (A sequential integer value assigned to each fire incident within a calendar year. A fire incident occurs within a calendar year x if its starting date falls within x.) [] fire-type - attribute of FIRE-INCIDENT, range: `incendiary',`lightning',`prescribed',`research' (m:1) (The possible type of a particular fire incident.) [] fire-name - attribute of FIRE-INCIDENT, range: String (m:1) (An arbitrary name assigned to each fire incident by the Everglades Park authorities.) [] fire-origin-north - attribute of FIRE-INCIDENT, range: 2746840..2865840 (m:1) (UTM coordinate for North. Together with fire-origin-east they indicate the geographical position of the origin of a fire incident. May be overwritten by GIS.) [] fire-origin-east - attribute of FIRE-INCIDENT, range: 446880..563280 (m:1) (UTM coordinate for East. Together with fire-origin-north they indicate the geographical position of the origin of a fire incident. May be overwritten by GIS.) [] fuel-model - attribute of FIRE-INCIDENT, range: `n',`d' (m:1) (Dominant vegetation where fire incident occurred. n stands for Pine, and d for Grass.) [] fine-fuel-load - attribute of FIRE-INCIDENT, range: 0..9999 (m:1) (The amount of fuel per square meter for a fire incident, measured in grams per square meter.) [] cost - attribute of FIRE-INCIDENT, range: 0..99999999 (m:1) (Total cost in dollars to manage fire. Rounded to nearest dollar.) [] year-number - attribute of YEAR, range: 1940..2040 (1:1,total) (The year number.) [] is-drought-year - attribute of YEAR, range: Boolean (m:1) [] has-crossed-perimeter - attribute of FIRE-INCIDENT, range: Boolean (m:1) [] fire-management-unit - attribute of FIRE-INCIDENT, range: 1..44 (m:1) (Descriptor of geographical zones in the park or area surrounding it.) [] date - attribute of DAILY-DESCRIPTION, range: Date (m:1,total) (The date of a particular day during which a fire was still burning. The year in this date should be the same or one more than the year during which the fire incident occurred.) [] new-acres-burned - attribute of DAILY-DESCRIPTION, range: 0..99999 (m:1) (The number of acres burned only for that particular date indicated in the Date attribute.) [] soil-moisture - attribute of DAILY-DESCRIPTION, range: 0..100 (m:1) (Ratio ((wet in grams)-(dry in grams))/(dry in grams)*100%. Quantity indicating the soil moisture during a fire day. Percentage measure.) [] date - attribute of FIRE-WEATHER-OBSERVATION, range: Date (m:1,total) (The date of the day for which the weather observation has been made.) [] state-of-the-weather - attribute of FIRE-WEATHER- OBSERVATION, range: 0..9 (m:1) (An arbitrarily assigned value for the state of the weather; 0 means clear, 9 means thunder, etc. Assigned by the Everglades Park personnel.) [] dry-temperature - attribute of FIRE-WEATHER-OBSERVATION, range: 0..110 (m:1) (Measured in degrees Fahrenheit.) [] relative-humidity - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Percentage measure of relative humidity.) [] relative-humidity-max - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Maximum value of relative humidity for the day. Percentage measure.) [] relative-humidity-min - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Minimum value of relative humidity for the day. Percentage measure.) [] wind-direction - attribute of FIRE-WEATHER-OBSERVATION, range: 0..8 (m:1) (0-8 compass point.) [] wind-speed-mph - attribute of FIRE-WEATHER-OBSERVATION, range: 0..99 (m:1) (Measured in miles per hour.) [] temperature-max - attribute of FIRE-WEATHER-OBSERVATION, range: 20..110 (m:1) (Maximum temperature for the day. Measured in degrees Fahrenheit.) [] temperature-min - attribute of FIRE-WEATHER-OBSERVATION, range: 20..110 (m:1) (Minimum temperature for the day. Measured in degrees Fahrenheit.) [] precipitation-duration - attribute of FIRE-WEATHER- OBSERVATION, range: 0..24 (m:1) (Precipitation duration measured in hours.) [] precipitation-amount-inch - attribute of FIRE-WEATHER- OBSERVATION, range: 0.0..99.99 (m:1) (Precipitation amount measured in inches.) [] drought-index - attribute of FIRE-WEATHER-OBSERVATION, range: 0..999 (m:1) (The drought index for the day.) [] live-fuel-moisture - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Live fuel moisture. Percentage measure.) [] thousand-hour-fuel-moisture-n - attribute of FIRE-WEATHER- OBSERVATION, range: 0..99 (m:1) (One thousand hour fuel moisture for Pine. Percentage measure.) [] thousand-hour-fuel-moisture-d - attribute of FIRE-WEATHER- OBSERVATION, range: 0..99 (m:1) (One thousand hour fuel moisture for Grass. Percentage measure.) [] ignition-component-n - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Fire ignition component for Pine.) [] ignition-component-d - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Fire ignition component for Grass.) [] spread-component-n - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Fire spread component for Pine.) [] spread-component-d - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Fire spread component for Grass.) [] energy-release-component-n - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Energy release component for Pine.) [] energy-release-component-d - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Energy release component for Grass.) [] burning-index-n - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Burning index for Pine.) [] burning-index-d - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Burning index for Grass.) [] fire-load-index-n - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Fire load index for Pine.) [] fire-load-index-d - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Fire load index for Grass.) The objects of the category FIRE-INCIDENT are identified by: fire- number-within-year the-year. The objects of the category DAILY-DESCRIPTION are identified by: date for. The objects of the category YEAR are identified by: year-number. The objects of the category FIRE-WEATHER-STATION are identified by: station-id. The objects of the category FIRE-WEATHER-OBSERVATION are identified by: date observed-by. [] station-id - attribute of FIRE-WEATHER-STATION, range: Char(8) (1:1,total) (A sequence of alphanumeric characters which is assigned to each fire-weather station and which uniquely identifies that station.) [] station-description - attribute of FIRE-WEATHER-STATION, range: String (m:1) (English name or designation of the station.) [] location-north - attribute of FIRE-WEATHER-STATION, range: 2746840..2865840 (m:1) (UTM north coordinate of a fire- weather station.) [] location-east - attribute of FIRE-WEATHER-STATION, range: 446880..563280 (m:1) (UTM east coordinate of a fire- weather station.) Figure 5-8. Semantic subschema for fire incident observations. 5.1.2. Relational schema of the application [] BATTERY-CHANGE - category (A list of dates during which a battery change was done to equipment.) [] in-equipment--park-service-number-in-key - attribute of BATTERY-CHANGE, range: Char(15) (m:1) (in-equipment: BATTERY-CHANGE - The equipment for which the battery was changed.)(park-service-number: EQUIPMENT - The number assigned to the equipment by the Everglades Park authorities.) [] battery-change-date-in-key - attribute of BATTERY-CHANGE, range: Date (m:1) (The date on which the battery of some equipment was changed.) Reference from BATTERY-CHANGE to EQUIPMENT: in-equipment--park- service-number-in-key->park-service-number-key. [] CALIBRATION - category (A list of calibrations done to equipment.) [] equipment-calibrated--park-service-number-in-key - attribute of CALIBRATION, range: Char(15) (m:1) (the-equipment- calibrated: CALIBRATION - The equipment which was calibrated.)(park-service-number: EQUIPMENT - The number assigned to the equipment by the Everglades Park authorities.) [] calibration-date-in-key - attribute of CALIBRATION, range: Date (m:1) (The date on which the equipment was calibrated.) [] calibration-method - attribute of CALIBRATION, range: `Field',`Lab' (m:1) (The equipment was either removed from the station and was calibrated in the lab, or it was calibrated in the field.) [] is-calibration-using-other-technique - attribute of CALIBRATION, range: Boolean (m:1) (Calibration using a technique which is documented here. However this technique does not use instruments which are recorded in the database, i.e., this category is disjoint from CALIBRATION-USING- EQUIPMENT.) [] technique-description - attribute of CALIBRATION, range: String (m:1) (A description of the technique used to calibrate the equipment.) Reference from CALIBRATION to EQUIPMENT: equipment-calibrated-- park-service-number-in-key->park-service-number-key. [] DAILY-DESCRIPTION - category (Each fire occurring within the park may burn continuously for a number of days until it is put out. This category is a catalog of all the days for which a fire has lasted, for all fires.) [] for--year-number-in-key - attribute of DAILY-DESCRIPTION, range: 1940..2040 (m:1) (for: DAILY-DESCRIPTION - The days during which a fire was burning.)(the--year-number: FIRE- INCIDENT - year: FIRE-INCIDENT - The year during which a fire incident has occurred.)(year-number: YEAR - The year number.) [] for--fire-number-within-year-in-key - attribute of DAILY- DESCRIPTION, range: 1..999 (m:1) (for: DAILY-DESCRIPTION - The days during which a fire was burning.)(fire-number- within-year: FIRE-INCIDENT - A sequential integer value assigned to each fire incident within a calendar year. A fire incident occurs within a calendar year x if its starting date falls within x.) [] date-in-key - attribute of DAILY-DESCRIPTION, range: Date (m:1) (The date of a particular day during which a fire was still burning. The year in this date should be the same or one more than the year during which the fire incident occurred.) [] new-acres-burned - attribute of DAILY-DESCRIPTION, range: 0..99999 (m:1) (The number of acres burned only for that particular date indicated in the Date attribute.) [] soil-moisture - attribute of DAILY-DESCRIPTION, range: 0..100 (m:1) (Ratio ((wet in grams)-(dry in grams))/(dry in grams)*100%. Quantity indicating the soil moisture during a fire day. Percentage measure.) Reference from DAILY-DESCRIPTION to FIRE-INCIDENT: for--year- number-in-key->year-number-in-key, for--fire-number-within-year- in-key->fire-number-within-year-in-key. [] EQUIPMENT - category (A general catalog of equipment owned by the Everglades National Park.) [] park-service-number-key - attribute of EQUIPMENT, range: Char(15) (1:1) (The number assigned to the equipment by the Everglades Park authorities.) [] model-number - attribute of EQUIPMENT, range: Char(15) (m:1) (The model number of the equipment.) [] serial-number - attribute of EQUIPMENT, range: Char(20) (m:1) [] type-descriptor - attribute of EQUIPMENT, range: Char(30) (m:1) (The type of the equipment.) [] EQUIPMENT-INSTALLATION-PERIOD - category (A catalog of time intervals indicating the station where an equipment has been installed during that interval.) [] equipment--park-service-number-in-key - attribute of EQUIPMENT-INSTALLATION-PERIOD, range: Char(15) (m:1) (the-equipment: EQUIPMENT-INSTALLATION-PERIOD - The equipment installed at a station during a given time interval.)(park-service-number: EQUIPMENT - The number assigned to the equipment by the Everglades Park authorities.) [] installed-at--station-id-in-key - attribute of EQUIPMENT- INSTALLATION-PERIOD, range: Char(15) (m:1) (installed-at: EQUIPMENT-INSTALLATION-PERIOD - The station where the equipment was or is present during the time interval.)(station-id: HYDROLOGY-STATION - Identification.) [] begin-date-in-key - attribute of EQUIPMENT-INSTALLATION- PERIOD, range: Date (m:1) (The beginning date on which the equipment was installed at a specific station. May be omitted if unknown or irrelevant.) [] end-date - attribute of EQUIPMENT-INSTALLATION-PERIOD, range: Date (m:1) (The ending date on which the equipment was removed from a specific station. Omitted when the equipment is still there.) Reference from EQUIPMENT-INSTALLATION-PERIOD to HYDROLOGY- STATION: installed-at--station-id-in-key->station-id-key. Reference from EQUIPMENT-INSTALLATION-PERIOD to EQUIPMENT: equipment--park-service-number-in-key->park-service-number-key. [] FIRE-INCIDENT - category (A catalog of fire incidents which occur within the boundaries of the Everglades National Park.) [] year-number-in-key - attribute of FIRE-INCIDENT, range: 1940..2040 (m:1) (the-year: FIRE-INCIDENT - The year during which a fire incident has occurred.)(year-number: YEAR - The year number.) [] fire-number-within-year-in-key - attribute of FIRE-INCIDENT, range: 1..999 (m:1) (A sequential integer value assigned to each fire incident within a calendar year. A fire incident occurs within a calendar year x if its starting date falls within x.) [] fine-fuel-load - attribute of FIRE-INCIDENT, range: 0..9999 (m:1) (The amount of fuel per square meter for a fire incident, measured in grams per square meter.) [] fire-management-unit - attribute of FIRE-INCIDENT, range: 1..44 (m:1) (Descriptor of geographical zones in the park or area surrounding it.) [] fire-name - attribute of FIRE-INCIDENT, range: String (m:1) (An arbitrary name assigned to each fire incident by the Everglades Park authorities.) [] cost - attribute of FIRE-INCIDENT, range: 0..99999999 (m:1) (Total cost in dollars to manage fire. Rounded to nearest dollar.) [] fire-origin-east - attribute of FIRE-INCIDENT, range: 446880..563280 (m:1) (UTM coordinate for East. Together with fire-origin-north they indicate the geographical position of the origin of a fire incident. May be overwritten by GIS.) [] fire-origin-north - attribute of FIRE-INCIDENT, range: 2746840..2865840 (m:1) (UTM coordinate for North. Together with fire-origin-east they indicate the geographical position of the origin of a fire incident. May be overwritten by GIS.) [] fire-type - attribute of FIRE-INCIDENT, range: `incendiary',`lightning',`prescribed',`research' (m:1) (The possible type of a particular fire incident.) [] fuel-model - attribute of FIRE-INCIDENT, range: `n',`d' (m:1) (Dominant vegetation where fire incident occurred. n stands for Pine, and d for Grass.) [] has-crossed-perimeter - attribute of FIRE-INCIDENT, range: Boolean (m:1) [] designated-hydrology--station-id - attribute of FIRE- INCIDENT, range: Char(15) (m:1) (Closest hydrology station to the origin of the fire, designated by Park officials.) Reference from FIRE-INCIDENT to HYDROLOGY-STATION: designated- hydrology--station-id->station-id-key. Reference from FIRE-INCIDENT to YEAR: year-number-in-key->year- number-key. [] FIRE-WEATHER-OBSERVATION - category (A catalog of fire- weather related observations for every day of interest to the Everglades Park authorities.) [] observed-by--station-id-in-key - attribute of FIRE-WEATHER- OBSERVATION, range: Char(8) (m:1) (observed-by: FIRE- WEATHER-OBSERVATION - The weather observations carried out by a fire-weather station every day.)(station-id: FIRE- WEATHER-STATION - A sequence of alphanumeric characters which is assigned to each fire-weather station and which uniquely identifies that station.) [] date-in-key - attribute of FIRE-WEATHER-OBSERVATION, range: Date (m:1) (The date of the day for which the weather observation has been made.) [] burning-index-n - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Burning index for Pine.) [] burning-index-d - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Burning index for Grass.) [] drought-index - attribute of FIRE-WEATHER-OBSERVATION, range: 0..999 (m:1) (The drought index for the day.) [] dry-temperature - attribute of FIRE-WEATHER-OBSERVATION, range: 0..110 (m:1) (Measured in degrees Fahrenheit.) [] energy-release-component-d - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Energy release component for Grass.) [] energy-release-component-n - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Energy release component for Pine.) [] fire-load-index-d - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Fire load index for Grass.) [] fire-load-index-n - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Fire load index for Pine.) [] ignition-component-d - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Fire ignition component for Grass.) [] ignition-component-n - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Fire ignition component for Pine.) [] live-fuel-moisture - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Live fuel moisture. Percentage measure.) [] precipitation-amount-inch - attribute of FIRE-WEATHER- OBSERVATION, range: 0.0..99.99 (m:1) (Precipitation amount measured in inches.) [] precipitation-duration - attribute of FIRE-WEATHER- OBSERVATION, range: 0..24 (m:1) (Precipitation duration measured in hours.) [] relative-humidity - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Percentage measure of relative humidity.) [] relative-humidity-max - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Maximum value of relative humidity for the day. Percentage measure.) [] relative-humidity-min - attribute of FIRE-WEATHER- OBSERVATION, range: 0..100 (m:1) (Minimum value of relative humidity for the day. Percentage measure.) [] spread-component-d - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Fire spread component for Grass.) [] spread-component-n - attribute of FIRE-WEATHER-OBSERVATION, range: 0..100 (m:1) (Fire spread component for Pine.) [] state-of-weather - attribute of FIRE-WEATHER-OBSERVATION, range: 0..9 (m:1) (An arbitrarily assigned value for the state of the weather; 0 means clear, 9 means thunder, etc. Assigned by the Everglades Park personnel.) [] temperature-max - attribute of FIRE-WEATHER-OBSERVATION, range: 20..110 (m:1) (Maximum temperature for the day. Measured in degrees Fahrenheit.) [] temperature-min - attribute of FIRE-WEATHER-OBSERVATION, range: 20..110 (m:1) (Minimum temperature for the day. Measured in degrees Fahrenheit.) [] thousand-hour-fuel-moisture-d - attribute of FIRE-WEATHER- OBSERVATION, range: 0..99 (m:1) (One thousand hour fuel moisture for Grass. Percentage measure.) [] thousand-hour-fuel-moisture-n - attribute of FIRE-WEATHER- OBSERVATION, range: 0..99 (m:1) (One thousand hour fuel moisture for Pine. Percentage measure.) [] wind-direction - attribute of FIRE-WEATHER-OBSERVATION, range: 0..8 (m:1) (0-8 compass point.) [] wind-speed-mph - attribute of FIRE-WEATHER-OBSERVATION, range: 0..99 (m:1) (Measured in miles per hour.) Reference from FIRE-WEATHER-OBSERVATION to FIRE-WEATHER-STATION: observed-by--station-id-in-key->station-id-key. [] FIRE-WEATHER-STATION - category (A catalog of fire-weather stations, where a fire-weather station is a collection of equipment used to measure various quantities pertaining to weather conditions within the Everglades Park area.) [] station-id-key - attribute of FIRE-WEATHER-STATION, range: Char(8) (m:1) (A sequence of alphanumeric characters which is assigned to each fire-weather station and which uniquely identifies that station.) [] location-north - attribute of FIRE-WEATHER-STATION, range: 2746840..2865840 (m:1) (UTM north coordinate of a fire- weather station.) [] station-description - attribute of FIRE-WEATHER-STATION, range: String (m:1) (English name or designation of the station.) [] location-east - attribute of FIRE-WEATHER-STATION, range: 446880..563280 (m:1) (UTM east coordinate of a fire- weather station.) [] HYDROLOGY-STATION - category (A catalog of hydrology stations which reside within the Everglades National Park.) [] station-id-key - attribute of HYDROLOGY-STATION, range: Char(15) (m:1) (Identification.) [] method-used - attribute of HYDROLOGY-STATION, range: `standard-survey',`loran',`gps-equipment',`map' (m:1) (The method used to derive the location coordinates of a station.) [] station-description - attribute of HYDROLOGY-STATION, range: String (m:1) (English name or designation of the station.) [] location-tolerance-ft - attribute of HYDROLOGY-STATION, range: 0..1000 (m:1) (Tolerance of the location of a station, in feet. A value x assigned to this attribute means that the tolerance is +/-x feet.) [] station-location-east - attribute of HYDROLOGY-STATION, range: 446880..563280 (m:1) (UTM east coordinate of a hydrology station.) [] station-location-north - attribute of HYDROLOGY-STATION, range: 2746840..2865840 (m:1) (UTM north coordinate of a hydrology station.) [] station-owner - attribute of HYDROLOGY-STATION, range: `everglades-national-park',`usgs',`sfwmd',`us-coe' (m:1) (The agency which owns the station.) [] is-continuous-station - attribute of HYDROLOGY-STATION, range: Boolean (m:1) (A fixed hydrology station which collects data continuously.) [] is-discontinuous-station - attribute of HYDROLOGY-STATION, range: Boolean (m:1) (A fixed hydrology station which collects data only for specific intervals of time.) [] benchmark-location-east - attribute of HYDROLOGY-STATION, range: 446880..563280 (m:1) (UTM east coordinate of the benchmark which corresponds to a fixed station.) [] benchmark-location-north - attribute of HYDROLOGY-STATION, range: 2746840..2865840 (m:1) (UTM north coordinate of the benchmark which corresponds to a fixed station.) [] housing-descriptor - attribute of HYDROLOGY-STATION, range: String (m:1) (Description of the housing of a fixed station.) [] platform-benchmark-height-difference - attribute of HYDROLOGY-STATION, range: 0.00..10.00 (m:1) (The difference between the height of the station platform and the height of its corresponding benchmark, in feet.) [] platform-height-ft - attribute of HYDROLOGY-STATION, range: 0.00..10.00 (m:1) (The height of the station platform from the water surface, in feet.) [] is-temporary-station - attribute of HYDROLOGY-STATION, range: Boolean (m:1) (A hydrology station which only exists for a period of time and it is not housed in a permanent structure.) [] begin-date - attribute of HYDROLOGY-STATION, range: Date (m:1) (The starting date of the life of a temporary station.) [] end-date - attribute of HYDROLOGY-STATION, range: Date (m:1) (The ending date of the life of a temporary station.) [] PARAMETER-DISCONTINUITY-PERIOD - category (A catalog of periods during which a parameter is not collected.) [] parameter--collected-by--park-service-number-in-key - attribute of PARAMETER-DISCONTINUITY-PERIOD, range: Char(15) (m:1) (the-parameter: PARAMETER-DISCONTINUITY- PERIOD - The parameter not collected for the period.)(collected-by--park-service-number: PARAMETER- MEASURED-BY-SPECIFIC-EQUIPMENT - collected-by: PARAMETER- MEASURED-BY-SPECIFIC-EQUIPMENT - The equipment which collects the parameter.)(park-service-number: EQUIPMENT - The number assigned to the equipment by the Everglades Park authorities.) [] parameter-name-in-key - attribute of PARAMETER- DISCONTINUITY-PERIOD, range: Char(20) (m:1) (the- parameter: PARAMETER-DISCONTINUITY-PERIOD - The parameter not collected for the period.)(parameter-name: PARAMETER- MEASURED-BY-SPECIFIC-EQUIPMENT - The name of the parameter collected by some specific equipment.) [] begin-date-in-key - attribute of PARAMETER-DISCONTINUITY- PERIOD, range: Date (m:1) (The beginning date on which data for a specific parameter ceased to be collected.) [] end-date - attribute of PARAMETER-DISCONTINUITY-PERIOD, range: Date (m:1) (The last day of a period during which data for a specific parameter was not collected.) [] reason-for-discontinuity - attribute of PARAMETER- DISCONTINUITY-PERIOD, range: String (m:1) (The reason for which data for a specific parameter was not collected during this time interval.) Reference from PARAMETER-DISCONTINUITY-PERIOD to PARAMETER- MEASURED-BY-SPECIFIC-EQUIPMENT: parameter--collected-by--park- service-number-in-key->collected-by--park-service-number-in-key, parameter-name-in-key->parameter-name-in-key. [] PARAMETER-MEASURED-BY-SPECIFIC-EQUIPMENT - category (A catalog of parameters for which data are collected from various equipment installed at different hydrology stations.) [] collected-by--park-service-number-in-key - attribute of PARAMETER-MEASURED-BY-SPECIFIC-EQUIPMENT, range: Char(15) (m:1) (collected-by: PARAMETER-MEASURED-BY-SPECIFIC- EQUIPMENT - The equipment which collects the parameter.)(park-service-number: EQUIPMENT - The number assigned to the equipment by the Everglades Park authorities.) [] parameter-name-in-key - attribute of PARAMETER-MEASURED-BY- SPECIFIC-EQUIPMENT, range: Char(20) (m:1) (The name of the parameter collected by some specific equipment.) [] parameter-description - attribute of PARAMETER-MEASURED-BY- SPECIFIC-EQUIPMENT, range: String (m:1) (Designation of the parameter collected by some specific equipment.) Reference from PARAMETER-MEASURED-BY-SPECIFIC-EQUIPMENT to EQUIPMENT: collected-by--park-service-number-in-key->park- service-number-key. [] REPAIR-PERIOD - category (A list of periods during which various repairs were made to equipment.) [] equipment-repaired--park-service-number-in-key - attribute of REPAIR-PERIOD, range: Char(15) (m:1) (the-equipment- repaired: REPAIR-PERIOD - The equipment repaired.)(park- service-number: EQUIPMENT - The number assigned to the equipment by the Everglades Park authorities.) [] begin-date-in-key - attribute of REPAIR-PERIOD, range: Date (m:1) (The date on which the equipment was taken for repairs.) [] end-date - attribute of REPAIR-PERIOD, range: Date (m:1) (The first date during which the equipment was functioning again after the repair.) [] reason-for-repair - attribute of REPAIR-PERIOD, range: String (m:1) (The reason for which the equipment was not functioning.) [] repair-entity - attribute of REPAIR-PERIOD, range: String (m:1) (The legal entity which repaired the equipment.) Reference from REPAIR-PERIOD to EQUIPMENT: equipment-repaired-- park-service-number-in-key->park-service-number-key. [] STATION-CONTINUITY-PERIOD - category (A catalog of periods during which a discontinuous station is active and various data is collected.) [] discontinuous--station-id-in-key - attribute of STATION- CONTINUITY-PERIOD, range: Char(15) (m:1) (the- discontinuous-station: STATION-CONTINUITY-PERIOD - The discontinuous station which was active for periods of time collecting data.)(station-id: HYDROLOGY-STATION - Identification.) [] begin-date-in-key - attribute of STATION-CONTINUITY-PERIOD, range: Date (m:1) (The date during which a discontinuous station was activated and started the generation of data for some parameters.) [] end-date - attribute of STATION-CONTINUITY-PERIOD, range: Date (m:1) (The date during which a period of activation for some discontinuous station ended.) Reference from STATION-CONTINUITY-PERIOD to HYDROLOGY-STATION: discontinuous--station-id-in-key->station-id-key. [] YEAR - category (A catalog of years during which various fire incidents occur.) [] year-number-key - attribute of YEAR, range: 1940..2040 (m:1) (The year number.) [] is-drought-year - attribute of YEAR, range: Boolean (m:1) [] DAILY-DISCHARGE - category (Daily mean discharge measurements.) [] daily-produced-by--station-id-in-key - attribute of DAILY- DISCHARGE, range: Char(15) (m:1) (daily-produced-by: DAILY-HYDROLOGY-OBSERVATION - The station which generates daily measurements. Daily stage and rainfall measurements can only be generated by continuous stations owned by one of the following agencies: U.S. Army COE, SFWMD, USGS. Daily discharge measurements can only be generated by one of the following agencies: USGS, SFWMD. Daily evaporation and temperature measurements can only be generated by stations owned by one of the following agencies: Everglades RC, SFWMD, U.S. Army COE.)(station-id: HYDROLOGY-STATION - Identification.) [] date-in-key - attribute of DAILY-DISCHARGE, range: Date (m:1) (The date during which a hydrology observation was made.) [] daily-downstream-stage-ft - attribute of DAILY-DISCHARGE, range: 0..12 (m:1) (Downstream stage level for the day, measured in feet.) [] daily-mean-discharge - attribute of DAILY-DISCHARGE, range: -99999.99..+99999.99 (m:1) (The mean discharge quantity for the day, measured in cubic feet per second. This field is left blank when data is not available.) [] daily-upstream-stage-ft - attribute of DAILY-DISCHARGE, range: 0..12 (m:1) (Upstream stage level for the day, measured in feet.) [] formula - attribute of DAILY-DISCHARGE, range: `weir',`rating-curves' (m:1) (The formula used to compute the mean discharge value.) Reference from DAILY-DISCHARGE to HYDROLOGY-STATION: daily- produced-by--station-id-in-key->station-id-key. [] DAILY-EVAPORATION - category (Daily total evaporation measurements.) [] daily-produced-by--station-id-in-key - attribute of DAILY- EVAPORATION, range: Char(15) (m:1) (daily-produced-by: DAILY-HYDROLOGY-OBSERVATION - The station which generates daily measurements. Daily stage and rainfall measurements can only be generated by continuous stations owned by one of the following agencies: U.S. Army COE, SFWMD, USGS. Daily discharge measurements can only be generated by one of the following agencies: USGS, SFWMD. Daily evaporation and temperature measurements can only be generated by stations owned by one of the following agencies: Everglades RC, SFWMD, U.S. Army COE.)(station-id: HYDROLOGY-STATION - Identification.) [] date-in-key - attribute of DAILY-EVAPORATION, range: Date (m:1) (The date during which a hydrology observation was made.) [] total-daily-evaporation-inch - attribute of DAILY- EVAPORATION, range: 0.00..12.00 (m:1) (The total water evaporation for the day, measured in inches. This field is left blank when data is not available.) Reference from DAILY-EVAPORATION to HYDROLOGY-STATION: daily- produced-by--station-id-in-key->station-id-key. [] DAILY-RAINFALL - category (Daily total rainfall measurements.) [] daily-produced-by--station-id-in-key - attribute of DAILY- RAINFALL, range: Char(15) (m:1) (daily-produced-by: DAILY-HYDROLOGY-OBSERVATION - The station which generates daily measurements. Daily stage and rainfall measurements can only be generated by continuous stations owned by one of the following agencies: U.S. Army COE, SFWMD, USGS. Daily discharge measurements can only be generated by one of the following agencies: USGS, SFWMD. Daily evaporation and temperature measurements can only be generated by stations owned by one of the following agencies: Everglades RC, SFWMD, U.S. Army COE.)(station-id: HYDROLOGY-STATION - Identification.) [] date-in-key - attribute of DAILY-RAINFALL, range: Date (m:1) (The date during which a hydrology observation was made.) [] daily-precipitation-inch - attribute of DAILY-RAINFALL, range: 0.00..22.00 (m:1) (The daily total precipitation quantity measured in inches. This field is left blank when data is not available.) Reference from DAILY-RAINFALL to HYDROLOGY-STATION: daily- produced-by--station-id-in-key->station-id-key. [] DAILY-STAGE - category (Daily mean stage measurements.) [] daily-produced-by--station-id-in-key - attribute of DAILY- STAGE, range: Char(15) (m:1) (daily-produced-by: DAILY- HYDROLOGY-OBSERVATION - The station which generates daily measurements. Daily stage and rainfall measurements can only be generated by continuous stations owned by one of the following agencies: U.S. Army COE, SFWMD, USGS. Daily discharge measurements can only be generated by one of the following agencies: USGS, SFWMD. Daily evaporation and temperature measurements can only be generated by stations owned by one of the following agencies: Everglades RC, SFWMD, U.S. Army COE.)(station-id: HYDROLOGY-STATION - Identification.) [] date-in-key - attribute of DAILY-STAGE, range: Date (m:1) (The date during which a hydrology observation was made.) [] daily-mean-stage - attribute of DAILY-STAGE, range: -99.99..+99.99 (m:1) (The daily mean stage quantity measured in ft/100. That is the value 1.23 means 0.0123 feet. This field is left blank when data is not available.) Reference from DAILY-STAGE to HYDROLOGY-STATION: daily-produced- by--station-id-in-key->station-id-key. [] DAILY-TEMPERATURE - category (Daily temperature measurements.) [] daily-produced-by--station-id-in-key - attribute of DAILY- TEMPERATURE, range: Char(15) (m:1) (daily-produced-by: DAILY-HYDROLOGY-OBSERVATION - The station which generates daily measurements. Daily stage and rainfall measurements can only be generated by continuous stations owned by one of the following agencies: U.S. Army COE, SFWMD, USGS. Daily discharge measurements can only be generated by one of the following agencies: USGS, SFWMD. Daily evaporation and temperature measurements can only be generated by stations owned by one of the following agencies: Everglades RC, SFWMD, U.S. Army COE.)(station-id: HYDROLOGY-STATION - Identification.) [] date-in-key - attribute of DAILY-TEMPERATURE, range: Date (m:1) (The date during which a hydrology observation was made.) [] daily-max-temperature - attribute of DAILY-TEMPERATURE, range: 20.00..120.00 (m:1) (The maximum temperature for the day, in degrees Fahrenheit. This field is left blank when data is not available.) [] daily-mean-temperature - attribute of DAILY-TEMPERATURE, range: 20.00..120.00 (m:1) (The mean temperature for the day, in degrees Fahrenheit. This field is left blank when data is not available.) [] daily-min-temperature - attribute of DAILY-TEMPERATURE, range: 20.00..120.00 (m:1) (The minimum temperature for the day, in degrees Fahrenheit. This field is left blank when data is not available.) Reference from DAILY-TEMPERATURE to HYDROLOGY-STATION: daily- produced-by--station-id-in-key->station-id-key. [] HOURLY-RAINFALL - category (Hourly total rainfall measurements.) [] hourly-produced-by--station-id-in-key - attribute of HOURLY-RAINFALL, range: Char(15) (m:1) (hourly-produced- by: HOURLY-HYDROLOGY-OBSERVATION - The station which generates hourly either stage or rainfall or wind speed and direction measurements. Hourly stage and rainfall measurements can only be generated by continuous stations owned by the Everglades Research Center. Hourly wind speed and direction measurements can only be generated by stations owned by any of the following agencies: Everglades Research Center, SFWMD, U.S. Army Corps of Engineers, NOAA.)(station-id: HYDROLOGY-STATION - Identification.) [] hour-in-key - attribute of HOURLY-RAINFALL, range: 0..23 (m:1) (The hour during which the hydrology observation was made.) [] date-in-key - attribute of HOURLY-RAINFALL, range: Date (m:1) (The date on which the hourly hydrology observation was made.) [] hourly-precipitation-inch - attribute of HOURLY-RAINFALL, range: 0.00..22.00 (m:1) (The hourly total precipitation quantity measured in inches. This field is left blank when data is not available.) Reference from HOURLY-RAINFALL to HYDROLOGY-STATION: hourly- produced-by--station-id-in-key->station-id-key. [] HOURLY-STAGE - category (Hourly mean stage measurements.) [] hourly-produced-by--station-id-in-key - attribute of HOURLY-STAGE, range: Char(15) (m:1) (hourly-produced-by: HOURLY-HYDROLOGY-OBSERVATION - The station which generates hourly either stage or rainfall or wind speed and direction measurements. Hourly stage and rainfall measurements can only be generated by continuous stations owned by the Everglades Research Center. Hourly wind speed and direction measurements can only be generated by stations owned by any of the following agencies: Everglades Research Center, SFWMD, U.S. Army Corps of Engineers, NOAA.)(station-id: HYDROLOGY-STATION - Identification.) [] hour-in-key - attribute of HOURLY-STAGE, range: 0..23 (m:1) (The hour during which the hydrology observation was made.) [] date-in-key - attribute of HOURLY-STAGE, range: Date (m:1) (The date on which the hourly hydrology observation was made.) [] hourly-mean-stage - attribute of HOURLY-STAGE, range: -99.99..+99.99 (m:1) (The hourly mean stage quantity measured in ft/100. That is, the value 1.23 means 0.0123 feet. This field is left blank when data is not available.) Reference from HOURLY-STAGE to HYDROLOGY-STATION: hourly- produced-by--station-id-in-key->station-id-key. [] HOURLY-WIND - category (Hourly wind speed and wind direction measurements.) [] hourly-produced-by--station-id-in-key - attribute of HOURLY-WIND, range: Char(15) (m:1) (hourly-produced-by: HOURLY-HYDROLOGY-OBSERVATION - The station which generates hourly either stage or rainfall or wind speed and direction measurements. Hourly stage and rainfall measurements can only be generated by continuous stations owned by the Everglades Research Center. Hourly wind speed and direction measurements can only be generated by stations owned by any of the following agencies: Everglades Research Center, SFWMD, U.S. Army Corps of Engineers, NOAA.)(station-id: HYDROLOGY-STATION - Identification.) [] hour-in-key - attribute of HOURLY-WIND, range: 0..23 (m:1) (The hour during which the hydrology observation was made.) [] date-in-key - attribute of HOURLY-WIND, range: Date (m:1) (The date on which the hourly hydrology observation was made.) [] hourly-mean-wind-speed-mph - attribute of HOURLY-WIND, range: 0.00..200.00 (m:1) (The mean wind speed for the hour, measured in miles per hour. This field is left blank when data is not available.) [] hourly-wind-direction - attribute of HOURLY-WIND, range: 1..360 (m:1) (The wind direction for the hour, measured in degrees. This field is left blank when data is not available.) Reference from HOURLY-WIND to HYDROLOGY-STATION: hourly- produced-by--station-id-in-key->station-id-key. [] MONTHLY-RAINFALL - category (Monthly total rainfall measurements.) [] monthly-produced-by--station-id-in-key - attribute of MONTHLY-RAINFALL, range: Char(15) (m:1) (monthly- produced-by: MONTHLY-HYDROLOGY-OBSERVATION - The station which generates monthly stage and/or rainfall measurements. Monthly stage and rainfall measurements can only be generated by discontinuous stations owned by the Everglades Research Center.)(station-id: HYDROLOGY-STATION - Identification.) [] month-in-key - attribute of MONTHLY-RAINFALL, range: 1..12 (m:1) (The month during which a hydrology observation was made.) [] year-in-key - attribute of MONTHLY-RAINFALL, range: 1940..2040 (m:1) (The year during which a monthly hydrology observation was made.) [] monthly-precipitation-inch - attribute of MONTHLY-RAINFALL, range: 0.00..22.00 (m:1) (The monthly total precipitation quantity measured in inches. This field is left blank when data is not available.) Reference from MONTHLY-RAINFALL to HYDROLOGY-STATION: monthly- produced-by--station-id-in-key->station-id-key. [] MONTHLY-STAGE - category (Monthly mean stage measurements.) [] monthly-produced-by--station-id-in-key - attribute of MONTHLY-STAGE, range: Char(15) (m:1) (monthly-produced-by: MONTHLY-HYDROLOGY-OBSERVATION - The station which generates monthly stage and/or rainfall measurements. Monthly stage and rainfall measurements can only be generated by discontinuous stations owned by the Everglades Research Center.)(station-id: HYDROLOGY-STATION - Identification.) [] month-in-key - attribute of MONTHLY-STAGE, range: 1..12 (m:1) (The month during which a hydrology observation was made.) [] year-in-key - attribute of MONTHLY-STAGE, range: 1940..2040 (m:1) (The year during which a monthly hydrology observation was made.) [] monthly-mean-stage - attribute of MONTHLY-STAGE, range: -99.99..+99.99 (m:1) (The monthly mean stage quantity measured in ft/100. That is the value 1.23 means 0.0123 feet. This field is left blank when data is not available.) Reference from MONTHLY-STAGE to HYDROLOGY-STATION: monthly- produced-by--station-id-in-key->station-id-key. [] CALIBRATION--HAS-USED--EQUIPMENT - category [] calibration-equipment-calibrated--park-service-number-in-key - attribute of CALIBRATION--HAS-USED--EQUIPMENT, range: Char(15) (m:1) [] calibration-date-in-key - attribute of CALIBRATION--HAS- USED--EQUIPMENT, range: Date (m:1) [] equipment--park-service-number-in-key - attribute of CALIBRATION--HAS-USED--EQUIPMENT, range: Char(15) (m:1) Reference from CALIBRATION HAS-USED EQUIPMENT to CALIBRATION: calibration-equipment-calibrated--park-service-number-in- key->equipment-calibrated--park-service-number-in-key, calibration-date-in-key->calibration-date-in-key. Reference from CALIBRATION HAS-USED EQUIPMENT to EQUIPMENT: equipment--park-service-number-in-key->park-service-number-key. Some of the Integrity Constraints Generated During Schema Conversion (for every x in CALIBRATION: if not x technique-description null then x.is-calibration-using-other-technique) and (for every x in HYDROLOGY-STATION: if not x begin-date null then x.is-temporary-station) and (for every x in HYDROLOGY-STATION: if not x end-date null then x.is-temporary-station) and (for every x in CALIBRATION--HAS-USED--EQUIPMENT: exists y in CALIBRATION: x.the-calibration-equipment-calibrated--park- service-number-in-key = y.the-equipment-calibrated--park- service-number-in-key and x.the--calibration-date-in-key = y.calibration-date-in-key) and (for every x in CALIBRATION--HAS-USED--EQUIPMENT: exists y in EQUIPMENT: x.the-equipment--park-service-number-in-key = y.park-service-number-key) and (for every x in PARAMETER-MEASURED-BY-SPECIFIC-EQUIPMENT: exists y in EQUIPMENT: x.collected-by--park-service-number-in-key = y.park- service-number-key) and (for every x in FIRE-INCIDENT: exists y in HYDROLOGY-STATION: x designated-hydrology--station-id null or x.designated-hydrology- -station-id = y.station-id-key) and (for every x in DAILY-DESCRIPTION: exists y in FIRE-INCIDENT: (x.for--year-number-in-key = y.the--year-number-in-key and x.for--fire-number-within-year-in-key = y.fire-number-within- year-in-key)) and (for every x in BATTERY-CHANGE: exists y in EQUIPMENT: x.in- equipment--park-service-number-in-key = y.park-service-number- key) and (for every x in EQUIPMENT-INSTALLATION-PERIOD: exists y in HYDROLOGY-STATION: x.installed-at--station-id-in-key = y.station-id-key) and (for every x in FIRE-WEATHER-OBSERVATION: exists y in FIRE-WEATHER- STATION: x.observed-by--station-id-in-key = y.station-id-key) and (for every x in STATION-CONTINUITY-PERIOD: exists y in HYDROLOGY- STATION: x.the-discontinuous--station-id-in-key = y.station-id- key and y.is-fixed-station ) and (for every x in EQUIPMENT-INSTALLATION-PERIOD: exists y in EQUIPMENT: x.the-equipment--park-service-number-in-key = y.park-service-number-key) and (for every x in CALIBRATION: exists y in EQUIPMENT: x.the- equipment-calibrated--park-service-number-in-key = y.park- service-number-key) and (for every x in REPAIR-PERIOD: exists y in EQUIPMENT: x.the- equipment-repaired--park-service-number-in-key = y.park-service- number-key) and (for every x in PARAMETER-DISCONTINUITY-PERIOD: exists y in PARAMETER-MEASURED-BY-SPECIFIC-EQUIPMENT: (x.the-parameter-- collected-by--park-service-number-in-key = y.collected-by--park- service-number-in-key and x.the--parameter-name-in-key = y.parameter-name-in-key)) and (for every x in FIRE-INCIDENT: exists y in YEAR: x.the--year- number-in-key = y.year-number-key) and (for every x in DAILY-DISCHARGE: exists y in HYDROLOGY-STATION: x.daily-produced-by--station-id-in-key = y.station-id-key) and (for every x in DAILY-EVAPORATION: exists y in HYDROLOGY-STATION: x.daily-produced-by--station-id-in-key = y.station-id-key) and (for every x in DAILY-RAINFALL: exists y in HYDROLOGY-STATION: x.daily-produced-by--station-id-in-key = y.station-id-key) and (for every x in DAILY-STAGE: exists y in HYDROLOGY-STATION: x.daily-produced-by--station-id-in-key = y.station-id-key) and (for every x in DAILY-TEMPERATURE: exists y in HYDROLOGY-STATION: x.daily-produced-by--station-id-in-key = y.station-id-key) and (for every x in HOURLY-RAINFALL: exists y in HYDROLOGY-STATION: x.hourly-produced-by--station-id-in-key = y.station-id-key) and (for every x in HOURLY-STAGE: exists y in HYDROLOGY-STATION: x.hourly-produced-by--station-id-in-key = y.station-id-key) and (for every x in HOURLY-WIND: exists y in HYDROLOGY-STATION: x.hourly-produced-by--station-id-in-key = y.station-id-key) and (for every x in MONTHLY-RAINFALL: exists y in HYDROLOGY-STATION: x.monthly-produced-by--station-id-in-key = y.station-id-key) and (for every x in MONTHLY-STAGE: exists y in HYDROLOGY-STATION: x.monthly-produced-by--station-id-in-key = y.station-id-key) 5.2. Flow of Database Design Figure 5-9 is an information flow diagram that outlines the major steps of database application design, including the schema, integrity constraints, userviews, data manipulation programs, query forms, and ad hoc queries. The design proceeds in the direction of the arrows from semantic descriptions to descriptions in the conventions and languages supported by the available DBMS. Nodes marked in brackets are omitted for some DBMSs. In the first step, a conceptual schema of an enterprise is designed using the Semantic Binary Model. Then the schema is converted into the relational, network, or hierarchical model by manual algorithms. According to the criteria described in the text to assess the quality of databases, these manual algorithms produce very high-quality results. [diagram skipped] Figure 5-9. Flow of database design. 5.3. Other Methodologies 5.3.1. An alternative methodology: normalization Normalization is a methodology for the design of relational databases. This methodology used to be quite popular in the academic world. However, it has rarely been used in the application industry. One of the reasons for its lack of popularity in the industry is the mathematical sophistication of the normalization methodology. This is a ``bottom-up'' methodology. The design proceeds as follows. First, a poor relational schema is designed directly from the requirements. Then, the schema is refined in steps by eliminating certain aspects of redundancy (and thus potential inconsistency and update anomalies). At every step the schema satisfies certain mathematically defined criteria of nonredundancy corresponding to that step. These criteria are called normal forms. 1. The initial schema is said to be in the first normal form. 2. The product of the first step, satisfying certain broad criteria, is in the second normal form. 3. The product of the next step, satisfying certain stricter criteria, is in the third normal form. 4. The normalization process can continue further until the arsenal of normal form definitions is exhausted. After the design is completed, all the schemas but the last one are discarded. Programs, queries, and the like are designed directly in terms of the final schema. Figure 5-10 is a diagram of the flow of design by normalization. [diagram skipped] Figure 5-10. Alternative relational database design: Normalization. 5.3.1.1. *The third normal form defined The following is a definition of the third normal form. An attribute A of table T is said to be functionally dependent on a set of attributes {B ,...,B } of T if for no tuple of values 1 k (b ,...,b ) of these attributes there may be two different values of A 1 k in the table at the same time. A table T having exactly one key (possibly a multiattribute key) is said to be in the third normal form if: No nonkey attribute A is functionally dependent on any set of attributes, unless the latter set of attributes contains A or contains the whole key. (The definition is more complex for the unlikely case that the table has more than one key.) For example, let T be a table with four attributes A, B, C, and D. Let the key of T be {A, B}. If T is in the third normal form then: a. A is not functionally dependent on {B, C, D} b. B is not functionally dependent on {A, C, D} c. C is not functionally dependent on {A, D} d. C is not functionally dependent on {B, D} e. D is not functionally dependent on {A, C} f. D is not functionally dependent on {B, C} If any of these conditions were violated, there would be a clear redundancy. For example, if D is functionally dependent on {B, C}, then observe the redundancy in the following instantaneous table. We can deduce from the constraint that the ? in the second row should read 45: | A | B | C| D | |---+----+---+----+ | 37| 15| 5| 45| |---+----+---+----+ | 12| 15| 5| ? | 5.3.2. A comparison of methodologies 1. The normalization methodology captures only a few of the aspects of the semantic quality of databases, while the methodology suggested in this text attempts to capture all of the aspects. 2. The normalization methodology is too difficult to be used by most systems analysts and software engineers. 3. The normalization methodology is bottom-up: a "bad" database is designed, and then it is refined by normalization. This is analogous to writing a bad program and then improving its structure. This book's methodology is top-down: good semantic schemas are designed first and then they are downgraded to meet implementational restrictions, while the original semantic schemas remain to serve as documentation. This is analogous to writing an algorithm first and then translating it into a structured program, while the algorithm remains as documentation. Figure (page ) is a ``schema'' of the world of relational database schemas and two database design processes: the binary- relational conversion according to the methodology of this book and the schema normalization according to the alternative methodology. This ``methodology schema'' shows: o Every relational schema is a binary schema. o Some of the binary schemas, which are not relational schemas, are high-quality schemas according to all the criteria of schema quality. o Some of the relational schemas satisfy to a certain degree some of the nonredundancy criteria. These limited criteria are primarily concerned with the possible redundancy of a table which could be split into two tables. The relational schemas which satisfy these limited criteria to a certain minimal degree (at least) are called the second-normal-form schemas. Some of the second-normal-form schemas satisfy the limited criteria to a higher degree and correspondingly belong to the THIRD-NORMAL- FORM, FOURTH-NORMAL-FORM, etc., subcategories of the second- normal-form schemas. o Every high-quality relational schema should be in the maximal known normal form, but the opposite is not true: some maximal- normal-form schemas are not of high quality, since they do not address all the quality criteria. o The process of normalization begins with a very poor relational schema and converts it into a second-normal-form schema, then into a third normal form schema, and so on. o The methodology of this book begins with a quality semantic schema and downgrades it to a quality relational schema. Figure outlines the ``instantaneous database'' under the ``methodology schema.'' The individual schemas are points there in a coordinate system of schema quality. [diagram skipped] This diagram depicts the "instantaneous database" for the "schema" of conversion methodologies. The database schemas s , s , s , and s are 1 2 3 4 individual objects in that ``instantaneous database.'' Figure 5-11. A comparison between database design methodologies. [] BINARY-SCHEMA - category [] RELATIONAL-SCHEMA - subcategory of BINARY-SCHEMA [] Quality-Semantic-Binary-Schema - subcategory of BINARY- SCHEMA [] Initial-Poor-Relational-Schema - subcategory of RELATIONAL- SCHEMA [] normalization - relation from Initial-Poor-Relational-Schema to Second-NF (step 1) [] normalization - relation from Second-NF to Third-NF (step 2) [] normalization - relation from Third-NF to Maximal-NF (steps 3,...,n) [] conversion - relation from Quality-Semantic-Binary-Schema to Quality-Relational-Schema (binary-to-relational) [] Second-NF - subcategory of RELATIONAL-SCHEMA [] Third-NF - subcategory of Second-NF [] Maximal-NF - subcategory of Third-NF [] Quality-Relational-Schema - subcategory of Maximal-NF [] quality-criteria-addressed - attribute of Maximal-NF, range: SOME (m:1) [] are-they-satisfied? - attribute of Maximal-NF, range: YES (m:1) [] usual-overall-quality - attribute of Maximal-NF, range: GOOD (m:1) [] minimal-overall-quality - attribute of Maximal-NF, range: POOR (m:1) [] quality-criteria-addressed - attribute of Second-NF, range: SOME (m:1) [] are-they-satisfied? - attribute of Second-NF, range: SOMEWHAT (m:1) [] usual-overall-quality - attribute of Second-NF, range: POOR (m:1) [] minimal-overall-quality - attribute of Second-NF, range: POOR (m:1) [] quality-criteria-addressed - attribute of Third-NF, range: SOME (m:1) [] are-they-satisfied? - attribute of Third-NF, range: PARTIALLY (m:1) [] usual-overall-quality - attribute of Third-NF, range: MEDIOCRE (m:1) [] minimal-overall-quality - attribute of Third-NF, range: POOR (m:1) [] quality-criteria-addressed - attribute of Initial-Poor- Relational-Schema, range: NONE (m:1) [] usual-overall-quality - attribute of Initial-Poor- Relational-Schema, range: POOR (m:1) [] minimal-overall-quality - attribute of Initial-Poor- Relational-Schema, range: VERY BAD (m:1) [] quality-criteria-addressed - attribute of Quality- Relational-Schema, range: ALL (m:1) [] are-they-satisfied? - attribute of Quality-Relational- Schema, range: YES (m:1) [] usual-overall-quality - attribute of Quality-Relational- Schema, range: VERY GOOD (m:1) [] minimal-overall-quality - attribute of Quality-Relational- Schema, range: VERY GOOD (m:1) [] quality-criteria-addressed - attribute of Quality-Semantic- Binary-Schema, range: ALL (m:1) [] are-they-satisfied? - attribute of Quality-Semantic-Binary- Schema, range: YES (m:1) [] usual-overall-quality - attribute of Quality-Semantic- Binary-Schema, range: EXCELLENT (m:1) [] minimal-overall-quality - attribute of Quality-Semantic- Binary-Schema, range: VERY GOOD (m:1) Figure 5-12. A "schema" of conversion methodologies: normalization versus semantic-to-relational conversion. The arrows with dashes show the subcategories among the categories of schemas. Reference Schemas The following are the semantic and relational schemas for the university case study application. These schemas are referred to in most of the examples in this text. [] DEPARTMENT - category [] PERSON - category [] STUDENT - subcategory of PERSON [] INSTRUCTOR - subcategory of PERSON [] QUARTER - category [] COURSE - category [] COURSE-OFFERING - category [] COURSE-ENROLLMENT - category [] works-in - relation from INSTRUCTOR to DEPARTMENT (m:m) [] name - attribute of DEPARTMENT, range: String (1:m) (A department may have several names, but every name is unique.) [] last-name - attribute of PERSON, range: String (m:1) [] first-name - attribute of PERSON, range: String (m:1) [] birth-year - attribute of PERSON, range: 1870..1990 (m:1) [] address - attribute of PERSON, range: String (m:1) [] major - relation from STUDENT to DEPARTMENT (m:1) [] minor - relation from STUDENT to DEPARTMENT (m:1) [] year - attribute of QUARTER, range: 1980..1995 (m:1) [] season - attribute of QUARTER, range: String (m:1) [] name - attribute of COURSE, range: String (1:1) [] the-instructor - relation from COURSE-OFFERING to INSTRUCTOR (m:1) [] the-course - relation from COURSE-OFFERING to COURSE (m:1) [] the-quarter - relation from COURSE-OFFERING to QUARTER (m:1) [] final-grade - attribute of COURSE-ENROLLMENT, range: 0..100 (m:1) [] the-offer - relation from COURSE-ENROLLMENT to COURSE- OFFERING (m:1) [] the-student - relation from COURSE-ENROLLMENT to STUDENT (m:1) Figure Ref-1. A semantic schema for a university application. [] DEPARTMENT - category [] STUDENT - category [] INSTRUCTOR - category [] QUARTER - category [] COURSE - category [] COURSE-OFFERING - category [] COURSE-ENROLLMENT - category [] WORK - category [] instructor-id-in-key - attribute of WORK, range: Integer (m:1) [] department-main-name-in-key - attribute of WORK, range: String (m:1) [] DEPARTMENT-NAMING - category [] main-name-key - attribute of DEPARTMENT, range: String (m:1) [] name-key - attribute of DEPARTMENT-NAMING, range: String (m:1) [] main-name - attribute of DEPARTMENT-NAMING, range: String (m:1) [] id-key - attribute of STUDENT, range: Integer (m:1) [] id-key - attribute of INSTRUCTOR, range: Integer (m:1) [] last-name - attribute of STUDENT, range: String (m:1) [] first-name - attribute of STUDENT, range: String (m:1) [] birth-year - attribute of STUDENT, range: 1870..1990 (m:1) [] address - attribute of STUDENT, range: String (m:1) [] last-name - attribute of INSTRUCTOR, range: String (m:1) [] first-name - attribute of INSTRUCTOR, range: String (m:1) [] birth-year - attribute of INSTRUCTOR, range: 1870..1990 (m:1) [] address - attribute of INSTRUCTOR, range: String (m:1) [] major-department-main-name - attribute of STUDENT, range: String (m:1) [] minor-department-main-name - attribute of STUDENT, range: String (m:1) [] year-in-key - attribute of QUARTER, range: 1980..1995 (m:1) [] season-in-key - attribute of QUARTER, range: String (m:1) [] name-key - attribute of COURSE, range: String (m:1) [] instructor-id-in-key - attribute of COURSE-OFFERING, range: Integer (m:1) [] course-name-in-key - attribute of COURSE-OFFERING, range: String (m:1) [] year-in-key - attribute of COURSE-OFFERING, range: 1980..1995 (m:1) [] season-in-key - attribute of COURSE-OFFERING, range: String (m:1) [] instructor-id-in-key - attribute of COURSE-ENROLLMENT, range: Integer (m:1) [] course-name-in-key - attribute of COURSE-ENROLLMENT, range: String (m:1) [] year-in-key - attribute of COURSE-ENROLLMENT, range: 1980..1995 (m:1) [] season-in-key - attribute of COURSE-ENROLLMENT, range: String (m:1) [] student-id-in-key - attribute of COURSE-ENROLLMENT, range: Integer (m:1) [] final-grade - attribute of COURSE-ENROLLMENT, range: 0..100 (m:1) Figure Ref-2. A relational schema for the university application.