Database Design CmpE 226 Practice Problems Practice Problem (12) ________________________________________________________________________ 1. Design a database with at least 10-12 of tables or ((constraint tables. The constraint tables should use the full power of linear constraints. (For example, the equality constraint x =1 does not use the full power of linear constraints. So don ’t use only equality constraints in your database.)) The tables should contain a reasonable number of tuples or (constraint tuples), not too few and not too many. 2. Prepare traditional class diagram for the following problems showing at least 10 relationships among the following object classes, including associations, aggregations, and generalizations. Show multiplicities in your diagrams. Your model should have 3-5 attributes and 3-5 operations per class. Use association and role names when needed. As you prepare the diagrams, you may add additional object classes. 3. If you use MLPQ, find at least 4 iconic queries or sequence of iconic queries. Explain what they mean and write them down in the style of the examples in the MLPQ system manual. (Iconic queries are shown in Figure 1 MLPQ Graphical Interface in the MLPQ Specifications, such as Intersection, Union, Difference, Max, Min, etc.) 4. Find at least 4 SQL queries of each of the following kind: Basic, Aggregation, Sets, and Nested. (That is, a total of 16 queries.) ________________________________________________________________________ Whale Migration System Xenon Abstract Whales are an endangered species. They depend on migration for their survival from one place to another. Whales migrate due to climate change, water temperature, depth, salinity, topography of the sea floor and food. Whales travel to cold waters for feeding and go to warmer waters to breed and give birth. We are trying to understand the path they follow to migrate so that we can help them in some ways to grow. Whales are important for our ecosystem. So we can help them by making their path clear, away from danger of attack. Description of a domain http://www.savebiogems.org/images/whales/map.gif http://www.omplace.com/omsites/discover/HUMP/migration.gif Seasonal Migration In Seasonal migration whales move from one location to another due to climate change. Reproductive Migration In Reproductive migration whales migrate to warmer water to reproduce. Latitudinal Migration In Latitude migration whales migrate from one latitude to another from south and north. In Northern hemisphere winter’s are colder as we move north and warmer in southern hemisphere. Whales depending upon their need of warm or cold climate migrate. Description of the desired program This whale migration system is to help them survive in migrating. Whales play vital role in balancing ecosystem. Different types of whales are found in the different oceans and they migrate either within same ocean or from one ocean to another. Whales eat krill (a tiny shrimp) which grows very fast and if not consumed can consume microscopic plants called diatoms(mobile plant of microscopic single cell). Due to such kind of imbalance finally it may contribute to global warming. Sometimes whales are threatened by human being, by way of illegal culling of whales. Whale meat is considered a delicacy in many eastern cultures. Whales are also threatened by merchant ships and submarines using powerful sonar. Man-made sonar can confuse a whale in its navigation. “Acoustic smog” in the world’s oceans, specially near migrating routes and feeding grounds interferes with the whales ability to communicate. Females cannot listen to the singing males in the smog, thus losing breeding opportunities and choices. Repeated sonar penetration can lead to severe disorientation and even death. So we are trying to track their movement during migration and can help them from external threat. It would also provide ‘Real Time’ information to both government and private vessels at sea about whale migratory routes. Thus reducing the sound pollution and by providing safe movement to these extraordinary creatures. Although we are focusing on whale migration system, it can be used to track other big fish migration. Since the reason of migration is same for all fishes. Just we need to change the whale entity to keep the data about any other fish. This program should meet the following system and information requirements: Detailed Requirements With whale migration system we can track migration patterns of whales. We have to incorporate the database information using MLPQ software with the web interface. The system will be user friendly. Performance Requirements The Whale Migration System enables user to know the different patterns of migration adopted by different species of whales. User should be able to enter any whale detail like WhaleID, Ocean in which it resides and where it migrate in any season and depending on input, user will get to know the details like the temperature of that place at that point of time, what is the location, salinity etc. These details will finally help us to figure out or to carry out research why whales are migrating so that we can understand them better. Allow user to get the total no of whales. Allow user to view the current position of any whale. Allow user to view the migration path of any whale. Allow user to find out the different whales in an area. Allow user to find the depth at which the whale is moving. Allow user to find out the salinity of the water. Information Requirements Allow user to enter a new type of whale. Allow user to enter migration data of a whale. Entity Names and Attributes 1. Whale (whaleID, whaleSpecie , oceanID ) Whale entity contains all the details of different types of whales. Description: whaleID (Numeric): Unique type of whaleID. whaleSpecie (String): Name of the specie. oceanID (Numeric) : Unique type of oceanID. 2. MigrationType (migrationTypeID , migrationName) Migration Type Entity contains information about different Migration types such as Seasonal, Latitudinal and Reproductive migration. Description: migrationTypeID (Numeric): Unique type of migrationID. migrationName (String) : Name of migration. 3. Ocean (oceanID, oceanName) Whales reside in different oceans around the year. During a particular season a whale may be in Pacific Ocean and same whale can migrate to Atlantic Ocean when the season changes. We need to have information about various Oceans. Description: oceanID (Numeric): Unique type of oceanID. oceanName (String): Name of the ocean. 4. Migration (whaleID, migrationTypeID, originalHabitatID, destinationHabitatID) Migration entity has got the information about a particular record and whale, initial and final destination of whale. So with this table we can combine other table and fetch the relevant information. Description: whaleID (Numeric): Unique type of whaleID. migrationTypeID (Numeric): Unique type of migrationID originalHabitatID (Numeric): loctionID of the original habitat of whale. destinationHabitatID (Numeric): loctionID of the destination habitat of whale. 5. Location (locationID, x, y) Location Entity keeps the information about whale location at particular time. Description: locationID (Numeric): Unique type of locationID. x (Numeric): Location ‘x’ coordinate. y (Numeric): Location ‘y’ coordinate. 6. Breeding (whaleID , x , y) Breeding takes place at different place depending on the climate and specie of whale. Description: whaleID (Numeric): Unique type of whaleID. x (Numeric): Location ‘x’ coordinate. y (Numeric): Location ‘y’ coordinate. 7. Summering (whaleID, x , y) It is the location where a whale spends the summer season. Description: whaleID (Numeric): Unique type of whaleID. locationID (Numeric): Unique type of locationID. x (Numeric): Location ‘x’ coordinate. y (Numeric): Location ‘y’ coordinate. 8. Wintering (whaleID, x , y) It is the location where a whale spends the winter season. Description: whaleID (Numeric): Unique type of whaleID. locationID (Numeric): Unique type of locationID. x (Numeric): Location ‘x’ coordinate. y (Numeric): Location ‘y’ coordinate. 9. WaterTemperature (temperature, x, y) Whales are sensitive about water temperature. This Entity keeps information related to temperature of water in which a particular whale lives or at certain temperature they have to migrate. Description: temperature(Numeric): temperature in degrees Fahrenheit. x (Numeric): Location ‘x’ coordinate y (Numeric): Location ‘y’ coordinate 10. WaterSalinity (salinity, x, y) Salinity gives the salinity of water because whales are sensitive to salinity. Description: Salinity (Numeric): salinity measured in psu. x (Numeric): Location ‘x’ coordinate y (Numeric): Location ‘y’ coordinate 11. WaterDepth (, depth, x, y) Whales can go to certain depth for food in the sea, this entity provides information about depth at which the whale is located. Description: Depth (Numeric): depth measured in meters.depth (Numeric): depth measured in meters x (Numeric): Location ‘x’ coordinate y (Numeric): Location ‘y’ coordinate 12. Country (countryID, x, y) Whale migration path can cross many countries. It can be used to find out how many whales are passing by a country. Description: countryID (Numeric): Unique id of a country x (Numeric): Location ‘x’ coordinate y (Numeric): Location ‘y’ coordinate 13. CountryName (countryID, name) Get country name from its id. Description:CountryID (Numeric): Unique id of a country Name (String): Name of the country 14. OceanLocation (oceanID, x, y) Location of different ocean across the world. Description: OceanID (Numeric): Unique id of an ocean x (Numeric): Location ‘x’ coordinate y (Numeric): Location ‘y’ coordinate 15. CityLocation (cityID, x, y) Location of a particular city. Description: CityID (Numeric): Unique id of a city x (Numeric): Location ‘x’ coordinate y (Numeric): Location ‘y’ coordinate 16. CityName (cityID, name) Get city name from its id. Description: cityID (Numeric): Unique id of a city name (String): Name of the city References: http://www.engr.sjsu.edu/~fayad/current.courses/cmpe226- fall06/docs/teamProjects/P02-Specie-Migration-Tracking-System.doc http://www.whaleroute.com/migrate/ http://www.learner.org/jnorth/tm/gwhale/TrackCA2005.html