Week 8 – CST– 363 Introduction to Database Systems

Briefly summarize what you consider to be the three (3) most important things you learned in this course.

I thoroughly enjoyed this class and everything I learned in this course will be important in my journey to becoming a software engineer. Prior to this class, the only exposure to databases I had was creating a room database for an android app in android studio for CST-338 Software Design. Needless to say, I learned a lot.

Although I still have to continue practicing, one of the most important things I learned in this course was coding in SQL. We learned how to read schemas and interpret that schema into a functional database. I can use SQL to create tables and relationships between those tables with the use of primary and foreign keys. I also learned how to use SQL to search databases by using queries. Queries can be a simple select statement from a single table or a complex query that requires the use of grouping, joins, and subqueries from multiple tables.

Another especially important concept that we learned is transaction management. A transaction is a sequence of database operations that must be completed or rejected as a whole. If the transaction is partial or incomplete, it becomes inconsistent or incorrect data. When a transaction is completed successfully, you can save the results by executing a commit. In contrast, when a transaction fails, the database executes a rollback which reverses a transaction and resets data to the initial values. All transactions must be atomic, consistent, isolated, and durable (ACID). Atomic means that all the transactions must be executed and applied to the database otherwise it must be rolled back. Consistent means that only valid data is committed, otherwise, the transaction is rolled back. Isolated means that all transactions must be processed without interference from other transactions. Lastly, durable means that once a transaction is committed, the data is permanently saved in the database regardless of system failures.

Although I enjoy MySQL and the relational database concept, learning the basics to other types of DBMS like MongoDB is extremely important. MySQL is a relational structured database that uses fixed schema while MongoDB is a document database where the schema is flexible. Designing a database using MySQL workbench and using that database to create a web application was a great way to familiarize ourselves with how a database is used in an online application. Finally, using the same database and converting it to use MongoDB showed us the differences and similarities between the two DBMS.

 

 

 

Comments

Popular posts from this blog