CST 363 Week 4

WELCOME TO WEEK 4

Learning Journal: 

    I can't believe we are halfway through the course! I have really enjoyed this course and all the material I have learned so far. One thing I have learned so far is that for large complex databases we need to complete 3 phases: 

  1. Analysis - Specification of database requirements without regard to implementation.
  2. Logical Design - Implements of database requirements as tables, keys, and column in a specific database system.
  3. Physical Design - Addition of indexes and specification of how tables are organized on storage media.

    I also learned how join queries work. The select statement combines two tables (left and right tables) into a single result using the = operator. However, these columns must have comparable data types. There are many types of join queries such as: 

  • Inner Join: Selects only matching left and right table rows.
  • Full Join: Selects all left and right tables rows regardless of matching.
  • Left Join: Selects all left table rows but only matching right table rows.
  • Right Join: Selects all right table rows but only matching left rows.
  • Outer Join: Any join that selects unmatched rows, including left, right, and full joins. 

    Something I found really interesting and initially hard to grasp was subqueries. It took me a while to learn the syntax. Even now, sometimes I have to look back at my notes, but I understand how it works. 

Creating views is another thing I have learned so far. These tables are very helpful when there needs to be data restriction. However, it is important to know that inserting, updating, and deleting data through views should be avoided. 

    Lastly, learning about Cardinality, which refers to the maxima and minima of relationships and attributes. When the relationship maximum (greatest number of instances of one entity that can relate to a single instance of another entity) is one, it is called singular, and when it is many, it is called plural. On the other hand, when the relationship minimum (least number of instances of one entity that can relate to a single instance of another entity) is zero, it is called optional, and when it is one, it is called required. 

    A question I have is when should one consider using NoSQL databases like MongoDB instead of traditional relational databases. What are the pros and cons for each approach? Another question I have is when would one choose to denormalize a database, and what are the benefits or potential drawbacks? One last question I have is how do you know which type of index to use and when they should be used? 

Comments

Popular posts from this blog

CST 300 Week 1

CST 300 Week 4

CST 300 Week 3