101companies / 101repo

101companies contributions
http://101companies.org
MIT License
43 stars 31 forks source link

Feature that deals with joins interestingly #49

Closed rlaemmel closed 11 years ago

rlaemmel commented 11 years ago

It turns out that we don' t have any feature that deals with joins in an interesting way.

In a basic sense, we deal with joins in the context of total and cut. That is, we join when we lookup a company id via its name and then we use the foreign key of employees for company id.

Thus, we should see whether we want to revise a feature or add a designated feature to deal with joins more interestingly.

This is related to this issue: #47

So we could go for @ydupont 's job description feature, if we slightly massage it:

http://101companies.org/wiki/Feature:Job_description

More thinking needed by @ydupont .

Once done, assign to me.

I was about to submit when we agree that job description could have a two-leveled motivation: it would deal with joins and it would add another dimension in a DWH context.

ydupont commented 11 years ago

Until access to new wiki:

Feature:Job title

Headline: Add job titles for employees

Description: The database structure shall be extended by introducing job titles for employees.

Motivation: The current data structure of Contribution:mySqlMany and Contribution:mySqlOne only allows two-dimensional reporting. Adding 'job titles' enables us making aggregating data three-dimensional and therefore also more advanced reporting commonly used in the area of Business Intelligence (i.e. OLAP cubes). In addition, if implemented in a normalized structure, it motivates to use more complex join queries across several tables.

Relationships:

ydupont commented 11 years ago
  1. Feature: job roles

Headline: Add job roles for employees

Description: The database structure shall be extended by introducing job roles for employees.

Motivation: The current data structure of Contribution:mySqlMany and Contribution:mySqlOne only allows two-dimensional reporting. Adding job roles enables us aggregating data multi-dimensional and also creating a more advanced reporting commonly used in the area of Business Intelligence (i.e. OLAP cubes). In addition, if implemented in a normalized structure, it motivates to use more complex join queries across several tables.

Relationships:

Headline: Add date of birth for employees

Description: The database structure shall be extended by introducing the date of birth for an employee.

Motivation: The current data structure of Contribution:mySqlMany and Contribution:mySqlOne only allows two-dimensional reporting. Adding a field to store the date of birth enables us aggregating data multi-dimensional and also creating a more advanced reporting commonly used in the area of Business Intelligence (i.e. OLAP cubes). Data can be grouped into age ranges (using queries) and connected to other data such as salary or job roles (using joins).

Relationships:

Headline: Add gender for employees

Description: The database structure shall be extended by introducing a field named gender for an employee.

Motivation: The current data structure of Contribution:mySqlMany and Contribution:mySqlOne only allows two-dimensional reporting. Adding 'gender' enables us aggregating data multi-dimensional and therefore creating a more advanced reporting commonly used in the area of Business Intelligence (i.e. OLAP cubes).

Relationships:

rlaemmel commented 11 years ago

I have used some of this thinking in drafting http://101companies.org/wiki/Feature:Grouping

I have not yet added some usable text regarding existing SQL-based implementations.

I leave this to @ydupont until we settle on the overall design of the reporting feature.

So I keep this open for a bit more.

ydupont commented 11 years ago

Reporting feature has been implemented in Contribution:pyDWH