title: Database join vs keeping column in single table
body: <p>I have two tables. One is <code>Employee</code> and another is <code>Role</code>. The <code>Employee</code> table contains <code>EmployeeId</code> and <code>EmployeeName</code>. Similarly, the <code>Role</code> table will contain <code>RoleId</code> and <code>RoleName</code> column. An employee will belong to one of several different roles.</p>
  <p>I am new to database design and having problem figuring out if it's better to have a <code>RoleId</code> column in the <code>Employee</code> table or to create another table called <code>EmployeeRoleMapping</code> which will contain rows indicating this employee is mapped to this role. What are the pros and cons of both approach?</p>