We already know which database objects we are going to need to store the uploaded shapefiles:
Shapefileobject will represent a single uploaded shapefile
Attributeobjects, giving the name, data type, and other information about each attribute within the shapefile
Featureobjects which hold the geometry for each of the shapefile's features
AttributeValueobjects which hold the value for each of the feature's attributes
Let's look at each of these in more detail and think about exactly what information will need to be stored in each object.
When we import a shapefile, there are a few things we need ...