Can anyone suggest a database design for the following:

A user can make a catalogue
Within a catalogue a user can make a range - i.e. a range of products
Within a range a user can add multiple products
Within a range a user can add multiple ranges -> range->range->range all with products in them.

I currently have in my database - 

catalogue\_range with - id, name, description
and
catalogue\_product with - id, range\_id, name, description

can anyone see what I'm trying to produce? 

My aim is to be able to make multiple catalogue ranges within a catalogue range and add multiple products to each of these catalogue ranges.

Here is my current SQL:

```
`catalogue_range` (
      `id` char(40) NOT NULL,
      `profile_id` char(40) NOT NULL,
      `type` enum('pdf','db') DEFAULT NULL,
      `status` enum('new','draft','live') NOT NULL,
      `name` varchar(64) NOT NULL,
      `description` varchar(1000) NOT NULL,
      `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (`id`),
      KEY `profile_id` (`profile_id`)
    )

`catalogue_product` (
  `id` char(40) NOT NULL,
  `catalogue_id` char(40) NOT NULL,
  `order` smallint(5) unsigned NOT NULL,
  `name` varchar(50) NOT NULL,
  `description` varchar(250) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `catalogue_id` (`catalogue_id`)
) 

```

Thanks in advance.