Italian Leather Store – Database Project

The Leather Store Application Requirements

  • You are required to create an application for a leather store company.
  • The application is capable of processing: Products, Customers, Orders, Manufacturers, Categories and any other entity needed.
  • The store shall maintain inventory
  • The store shall maintain a record of all orders
  • The store shall maintain customer information

Store Entities


  • Described with: id, name, image location, parent id
  • A Product shall belong to a Category Example:
  • Briefcases, duffle bags, messenger bags, backpacks, hand backs, laptop cases, luggage, etc.
  • App shall also support subcategories: men, women, lawyers, pilot bags, etc.
  • Every Category has a parent id (0 for root category)


  • Product shall belong to a Category or a subcategory
  • Each product is described with: id, name, description, price, qty, model, title, weight, image location, category id, manufacturer id, etc.
  • A product shall also have a status (in stock, out of stock)
  • Products can also have different colors
  • Sample product: Leather Briefcase for Women, Briefcase for Lawyers, etc.


  • Described with: id, name, address (street, state, zip, country, etc.), phone number, email, password, etc.
  • Id and email address shall be unique.
  • Each customer shall be able to login to her account using an id (email address) and password


  • Can do everything (add, update, delete) to all entities
  • Shall use a unique email address as ID and password to login to the system


  • Described with: id, customer id, date, total price, status, shipping address, billing address, products  ordered
  • An order shall contain one or more products
  • Use order details table (order detail id, order id, product id, price, quantity)


  • Described with: id, name, logo location, description, title


One thought on “Italian Leather Store – Database Project

  1. Carol Schmitz

    Should the id attributes of the various entities always be integers? yes sure
    What should the input constraints be for each of the different fields?it depends on the attribute, some for sure needs to be not null like the leather bags names
    Is it up to us, or are there any pre-defined limitations? up to you
    Will we have sample data upon which we can define these constraints?I’ll try
    Instead of Status inStock/outOfStock can the attribute be called inStock & of type boolean? Yes
    In the product & manufacturer entities, what is the difference between the title and name attributes?title is for display on a browser and the name is the actual name of the manufacturer
    Do the image location attribute and the product attribute relate?image location is one of the attributes of the products.

Leave a Reply