Week 8 - Final
Wow we are already on the final week of this course, time really does just fly by. I have honestly absorbed a great deal of knowledge this semester about database systems. From understanding how databases work through java, understanding relational databases through MySQL, and non relational databases or NoSQL with MongoDB. I will say it has actually opened up my awareness to databases and how everything around us techwise are built upon some sort of database system.
1. One thing I found that was important to understand about database systems were translating given information from clients to design and implement a database. I have been familiar with ERDs so far within this program but this has given me a better grasp of the concepts. Such as understanding certain nouns are usually an entity, verbs can be relationships, and comprehending the different attributes with other nouns. The most important part comes from the cardinality of the database, where the relationships of each entity can be identifying as a one to many, where maybe one entity has many of another, a many to many where two entities relate through many aspects and must be joined or interweave with a weak entity which is an entity that contains the main two entity's primary keys. The book gave me some good information on implementing the entities, relationships and the attributes.
2. The second thing I gathered from this course was about the concepts of transaction in database operations. From what I learned transactions are the operations that must be completed or rejected as a whole. Transactions can either be committed by saving the completed transaction result or they can be rolled back where it reverses/rejects an incomplete transaction. There are ways to determine a good transaction from its Atomicity which states that all operations or none are executed, Consistency where a transaction was obey the rules of the data given when a transaction is completed, Isolation where transactions do not interfere with other transactions(this is where concurrency comes into play which is the way transactions operate in an orderly fashion at the same time), and lastly Durability where a database transaction is saved on commit. Things that supplement these properties for a good transaction are the recovery systems and concurrency systems of a database.
3. Lastly, I would note that the biggest takeaway from the course would be from learning the Java application in Lab19 and MongoDB Lab21. I was able to understand how a database can be connected to a programming language like Java through certain APIs such as JDBC. Learning how to program SQL statements within Java was an interesting experience and having the spring boot framework run as a webpage allowed me to grasp how data can be saved from an app to the actual database. In a similar fashion with Lab 21 where as a group we had to develop another Java application but this time utilizing repository interfaces and a Model View Controller design pattern. I have done the entity classes and repository design in the previous class so understanding how this functions along with the spring boot framework was an important learning experience for me and definitely expanded my knowledge about database systems.
This course was fun and eye opening, I appreciate the faculty that were involved in this course. I am really looking forward to the operating systems course because I would like to brush up on my unix and command prompt skills.
Comments
Post a Comment