Does using Identifying Many-To-One Relationship means having to have duplicate PRIMARY and FOREIGN keys on same table?
<p>Original Title:  When PRIMARY KEY and foreign key INDEX are set on the same column names, does that mean that same index is duplicated?</p>

<p>Example:</p>

<p>I've generated a table using MySQL Workbench, and using Identifying relationship to other tables.  That means that PRIMARY KEY contains FOREIGN KEY columns in my case.</p>

<pre><code>CREATE TABLE IF NOT EXISTS `price_history` (
`amount` DECIMAL NULL,
  `date_start` DATE NULL,
  `date_end` DATE NULL,
  `product_id` INT NOT NULL,
  `category_id` INT NOT NULL,
  `priceitem_id` INT NOT NULL,
  PRIMARY KEY (`product_id`, `category_id`, `priceitem_id`),
  INDEX `fk_idx` (`product_id` ASC, `category_id` ASC, `priceitem_id` ASC),
ENGINE = InnoDB;
</code></pre>

<p>I note that <code>PRIMARY KEY</code> and <code>INDEX</code> define the same columns.  Does that mean I will have two separate "physical" indices on the table?  Won't that be wasteful?</p>

<p>I am wondering if it a necessary evil of identifying relationships.</p>