title: How to normalize the tables inside PostgreSQL database
body: <p>I am building social network platform where users can register to their profile, fill it up and create events for the others. My problem is that I don't know what is the best approach to create tables.</p>
  
  <p>One guy told me I should <em>normalize</em> table, meaning - he wants me to create separated tables for <code>city</code>, <code>country</code>, <code>university</code>, <code>company</code> and later connect those information with an SQL Query, which makes sense for me. If I will get 100 of students to sign up from the same University it makes sense for me to call only one University Name from University table instead of having rows and rows with university name filled in - it's data redundancy. </p>
  
  <p>However, the other guy told me, it's a bad practice, and I should put all information inside one <code>user</code> table - <code>firstName</code>, <code>lastName</code>, <code>profileIMG</code>, <code>universityName</code>, <code>CompanyName</code>, <code>cityName</code>, <code>CountryName</code> and so on. He says <em>more tables create more problems</em>. </p>
  
  <p>From my part, I do understand the logic of the first guy, but here is my other problem. As I mentioned, users fill up their <code>resume</code> in their profile and I want them to be allowed to add up to 3 universities they had been attending - bachelor degree, master degree, and postdoc. The same I want to allow them with companies - they can add up to three previous companies they worked for. </p>
  
  <p>I thought I will create University table where I will have this: <code>universityName_1</code>, <code>universityName_2</code>, <code>universityName_3</code>. The same I want to do with the <code>company</code> table. </p>
  
  <p>Is this a good practice? </p>
  
  <p>Maybe, I just should create the <code>university</code> Table with an <code>UniversityName</code> column, and when it comes to retrieving data from database, I would just use SQL query inside my Django project to call a specific University for the specific position? Like I call Columbia University for 2nd position (universityName_2)? </p>
  
  <p><strong>I am very new to this topic</strong>! I hope that I presented you my problem clearly!</p>