title: Complex database normalization
body: <p>I'm trying to set up a database for a water department's online system, keeping track of all past usage for each account/meter.<br>
  The database receives a csv file containing all of the day's readouts.
  The csv's that I receive have the following data:</p>
  
  <ul>
  <li>Account number (may have multiple meters/addresses on one account)  </li>
  <li>Address  </li>
  <li>Meter ID (may have multiple ports for appartment complexes, commercial buildings, etc.)  </li>
  <li>Port number  </li>
  <li>Reading (numeric)  </li>
  <li>Reading Date (string)  </li>
  <li>Meter Serial Number (relates to meter id)  </li>
  <li>Installation date (relates to meter id)</li>
  </ul>
  
  <p>I was starting to think of the DB setup, and this is as far as I got:  </p>
  
  <ul>
  <li>Meter information
  
  <ul>
  <li>Meter ID (primary key)  </li>
  <li>Meter Serial  </li>
  <li>Installation Date</li>
  <li>Address  </li>
  <li>number of ports</li>
  </ul></li>
  <li>Meter Usage (titled my meter ID)
  
  <ul>
  <li>Reading Date</li>
  <li>Reading</li>
  </ul></li>
  </ul>
  
  <p>I was thinking of each meter having its own table, which is named the meter id, which would make accessing the past data for one meter easy, but brings in the problem of separating by ports.  </p>
  
  <p>in the following, how would I differentiate between meter# 000003's ports?
  <a href="https://i.stack.imgur.com/Izkiu.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Izkiu.png" alt=""></a>
  <br>
  one idea was to append the port# to the end of the meter ID#<br>
  i.e. having 0000031 and 0000032  </p>
  
  <p>So my main problems are, dealing with a meter possibly having multiple ports and
  an account possibly having multiple meters, which may have multiple ports.  </p>
  
  <p>This will be the first non-pseudo-database that I have set up, so any help from you guys will be greatly appreciated.</p>