title: SQLAlchemy Automap does not create class for tables without primary key
body: <p>I am using SQL Alchemy v(0.9.1) which has the automap functionality. This allows me to create classes and relationships automatically. <a href="http://docs.sqlalchemy.org/en/rel_0_9/orm/extensions/automap.html">http://docs.sqlalchemy.org/en/rel_0_9/orm/extensions/automap.html</a></p>
  
  <p>The problem I am experiencing is that when using automap_base, I see that not all the tables that are available in the metadata.tables list are mapped.</p>
  
  <p>There are no errors when preparing, except that I am unable to access the class (e.g. Base.classes.Example_Table) from the Base after calling automap_base()</p>
  
  <pre><code>from sqlalchemy import create_engine, MetaData
  from sqlalchemy.orm import create_session
  
  from sqlalchemy.ext.automap import automap_base
  
  engine = create_engine("mysql+mysqldb://")
  
  Base = automap_base()
  Base.prepare(engine, reflect = True)
  
  session = create_session(bind = engine)
  </code></pre>
  
  <p>Then I run to find that classes do not exist for all tables in metadata (I did not use only = [] argument in metadata) </p>
  
  <pre><code>for mappedclass in Base.classes:
      print mappedclass
  
  for mdtable in metadata.tables:
      print mdtable
  </code></pre>
  
  <p>Only to find that Example_Table (with the following create syntax) does not have a class</p>
  
  <pre><code>    CREATE TABLE `Example_Table` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT,
    `attributeType` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
  ) ENGINE=InnoDB AUTO_INCREMENT=3290719 DEFAULT CHARSET=latin1
  </code></pre>
  
  <p>i.e. Base.class.Example_Table returns the following error</p>
  
  <pre><code>    ---------------------------------------------------------------------------
  AttributeError                            Traceback (most recent call last)
  &lt;ipython-input-15-94492ae1b8ba&gt; in &lt;module&gt;()
        7 type(metadata.tables)
        8 
  ----&gt; 9 Base.classes.Example_Table
  
  /usr/local/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyc in __getattr__(self, key)
      172             return self._data[key]
      173         except KeyError:
  --&gt; 174             raise AttributeError(key)
      175 
      176     def __contains__(self, key):
  
  AttributeError: Example_Table
  </code></pre>
  
  <p>I don't think this problem happens because my Example_Table name has an underscore in it. </p>
  
  <p>I think the problem is related to the fact that my Example_Table does not have a primary key. The Example_Table is only meant to link two other tables.</p>