Project Proposal

We propose to develop a database application that represents a garden. The domain will be a typical home garden.


Application Specifications:

You will be able to create a virtual garden that allows for optimization of resources and provides a reference tool for Garden care. Each aspect above will be related to the other aspects in the database and information will be displayed as necessary.

Project Roles:

We will attempt to split the labor as evenly as possible so each group member gets exposed to all of the development process.


Project Descrition Section 4. We have faith in your scheduling. We will also be meeting once or twice a week as necessary to coordinate.


We'll use various media forms to create a virtual garden that is both modular and accesible without being too complex.

ER Diagram:


Relational Schema:



We are creating a database that contains information of what user wants to plant in the garden, such as the name, nutrition, color, size and so on. Then, we will have the more specfic information about what kind of enviorment the plant needs, such as season,sunlight,soil type, water usage and so on. We also have the entity called schedule for the user to keep track during the planting. It helps the user to know when to watering, harvest and so on. To be more precise, we have an entity that called supplies. This entity contains the information of what the plant needs for cultivation, such as tools, fertilizers and structure. The database will help the user manage the garden scientifically.

Formal Specification:

Tables required will be Plant, Environment, Schedule, Supplies, and Sets. They will consist of the following:

Table Name (value: constraint,)*
Plant PlantId: string(256), Nutrition: string(256), Color: string(256), Size: string(256), Classification: string(256), Name: string(256)
Environment EnvoId: string(256), Soil: string(256), Sunshine: string(256), Season: string(256), Water Usage: string(256), Temperature: int
Schedule SchedID: string(256), Planting Time: string(256) [1-12]-[1-31], Weeding: int, Pruning: int, Watering Frequency: int, Harvest Period: int
Supplies SupID: String(256), Tools: string(256), Structure: string(256), Fertilizer: string(256)
Sets PlantID: string(256), SchedID: string(256)


Care Calendar: After selecting which plants are in your garden a calendar will be generated with the specific watering schedule and harvest periods of the selected plants.
Master List: Basically, all the tables combined into one master list that can be sorted by any attribute the user wants. This will allow the user to see which plants share similar attributes, e.g. similar harvest period, soil, tool requirements.

Division of Labor

Remains the same