title: What are the pros and cons of mixing data with metadata?
body: <p>Let's say I have a table such as:</p>
  
  <pre><code>CREATE TABLE t1 (
    col1 int,
    col2 int
  );
  </code></pre>
  
  <p>and a "metadata table" classifying these attributes:</p>
  
  <pre><code>CREATE TABLE t2 (
   attribute varchar,
   description varchar
  );
  </code></pre>
  
  <p>So sample data might be:</p>
  
  <p>t1:</p>
  
  <pre><code>col1  | col2
  ------+------
   4    |   6
  </code></pre>
  
  <p>t2:</p>
  
  <pre><code>attribute   | description
  ------------+--------------
   col1       |  first column
   col2       |  second column
  </code></pre>
  
  <p>What are the pros and cons of using this approach? It certainly makes me uncomfortable but I can't put into words any solid objections.</p>
  
  <p>Edit: it makes me uncomfortable because this design tends towards an Entity-Attribute-Value data model where everything may as well be stored in one table, i.e. the data model no longer captures as much meaning. I'm trying to quantify how much of a problem this really is.</p>