Manhattan associates Interview Question
Developer Program EngineersCountry: India
Interview Type: In-Person
The 123 guest was trying to say that you keep keys in all the tables to ensure that there is a proper relation between the tables, more the tables, each table would take at least one column to hold the keys instead of meaningful data. This will end creating indexes on these key columns so that data retrieval is faster and thinhs like that.
Now, point number 3, applications would have either prepared statements/stored proc/materialized views/preparses statements that would use defined indexes and data retrieval would be faster. Take the case adhoc reports, the use might not even know what is an index and which column the index is built on etc. So adhoc query would be tougher as the number of tables increases...
Another manjor problem with Normalization, maintainig the tables and holding them together in a model. I work on model that has atleast 100-200 tables and 8-10 subject areas...... :-) I can imagine visualizing them in one single page...
Disadvantages of normalization:
- 123guest December 08, 20111.More tables to join: By spreading out your data into more tables, you increase the need to join tables.
2. Tables contain codes instead of real data: Repeated data is stored as codes rather than meaningful data. Therefore, there is always a need to go to the lookup table for the value.
3. Data model is difficult to query against: The data model is optimized for applications, not for ad hoc querying.