Landing : Athabascau University

COMP 602 - Week 2 - Reflection

This week’s main task was to come up with a scenario in which a database is needed to capture, organize and maintain data with a minimal of 6 significant entities. I wanted to do something that is relevant not only to my interest but also representative in real life usage. I spent enough time to think through the scenario as it is to be used through the rest of the course. My choice has come to an Apartment Rental Database used by apartment/condo management companies potentially in a SaaS model. With that in mind, I came up with the following significant entities:

1. Resident
2. Management Company
3. Building
4. Suite
5. Feature (Such as Bedroom 1, Bedroom 2, bathroom and kitchen that made up the layout of a suite)
6. Parking
7. Price Band (for parking and suite)

There are 7 significant entities identified. Of course, the number of entities can grow as business scales as more data is needed to be tracked and managed. At present, these 7 entities should suffice. Once normalized, linked tables will be introduced to link up many to many relationships and lookup tables will be added. I expect at least doubling the number of entities in 3NF as the first cut model.

As I mentioned before, database and normalization isn’t a new concept to me so I don’t have much trouble to get up and running. PostgreSQL on the other hand, is new to me and I still getting used to it. I have mostly used Oracle and MS SQL db clients in my career although I have used MySQL as well. The fundamental concept is very similar across the aforementioned platforms; however, sometime it is the trivialities that get you. For example, each dbms has their own perspective favor of additional data types that are named differently. All in all, it is fairly straight forward to transition from one to another give the grounded knowledge on DBMS. I look forward to the coming week to explore more on normalization.

Dickson

Comments

  • Jon Dron May 15, 2012 - 3:01pm

    I'm glad to hear that PostgreSQL is not too scary - I'm still learning the ropes myself. I think that, on balance, I prefer the management console to those available for Oracle and MySQL and I'm really appreciating the comprehensive help system. 

    I wonder what the attributes would be for Parking, Feature and Price Band? Would this system also handle the rentals themselves? If so, then I guess there's at least one more entity here (rental) and probably at least one entity relating to billing and payments. I think that might make it a bit more interesting!

  • Dickson Wai Hei Lam May 21, 2012 - 7:09pm

    Hi Professor Dron,

    At the moment, I concern only with the inventory management and marketing information aspect of the system. Initially I thought the payment portion should be taken care of by other invoicing system, however, the system is still evolving so I would certainly consider that possibility.
    Thanks for your comment!

    Dickson