Should I split my tables into different tables when all of the data is dependant on the primary key? For my assignment I have to make a database for my licensing application. I have 12 columns and one column is for the license key. All other columns are data that is related to the license key. The license key is always different. I'm getting told that it's better to split the table into more tables to remove redundant data.
The table is as follows:


  license_code
  product_amount
  product_limit
  product_name
  start_date
  end_date
  first_registration_date
  most_recent_check_date
  registration_end_date
  hardware_id
  IP
  status


Currently I have it split into this:

Table: License    


  license_code*
  product_id*
  start_date
  end_date
  first_registration_date
  most_recent_check_date
  registration_end_date
  product_amount
  product_limit
  hardware_id
  IP
  status  


Table: Product


  product_id*
  product_name


I'm really thinking that it's unnecessary to split it because all the data is dependant on the license_code column anyway. Can anyone help me out? Thanks.

EDIT: explaination of how it's used

A license key/code is basically a unique string. To use a product (software program), a license key has to be used. A product can be activated with multiple license keys, person 1 can use code X to activate product Y, person 2 can use code Z to activate product Y. So a license key can activate multiple instances of a product but it can only be used for a single product.

I hope I'm clearer with this explaination.
I think we are short on a little bit of information such as what exactly the license is for and how it is to be used. For example, do all products have exactly one license? Can licenses contain multiple products? As the term license is used, I would imagine that each individual would have their own license to use the product (thus one to many relationship). With that scenario, I will assume that a license is only valid for one product and that several licenses can reference a single a product (a one-to-many relationship).

So to satisfy that requirement, we will need two tables. One for the products, and one for the licenses. The product table would contain all product information such as:

Products
-----------
ProductID
Name,
Description,
Price,
(etc)

Licenses
--------
LicenseID,
ProductID,
StartDate,
EndDate,
Amount, -- I believe this is to represent how many individual licenses of this one is used
Limit,  -- And this is to represent how many people can use this current license
(etc)


With this, we have a few benefits. Now, we can license out an individual product to multiple people (again, I am assuming the product is something like software) and we can now change licenses with out affecting the product and if we need to make changes to the product, all the licenses will automatically be updated. A good example of this is the changing of a product description. If products were stored with the licenses, we would have to change all the licenses that used that same product. That's not good and prone to having inconsistent data. 

If I am off base, feel free to let me know. As you can see, I made quite a few assumptions.