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
Post a Comment