Posts

Showing posts from February, 2024

Intro To Database Systems Week 8

 The three most important things I have learned throughout this course is how to do more complex queries, database design, and database programming. I came into this course having basic prior knowledge of how to write SQL queries. After completing this course I've learned more techniques such as the grouping, joining, and sub queries which have allowed me to write more efficient queries. I've also learned about database design where I've learned to translate application requirements into an efficient database structure, then eventually implement the design into a working database. Lastly, I've learned how to integrate java applications, MySQL databases, and MongoDB databases with database programming. With database programming, I can store and retrieve database data automatically, increasing the capabilities of my applications.

Intro To Database Systems Week 7

 A major difference between MongoDB and MySQL is that MongoDB is a non-relational database while MySQL is a relational database. This means that in MySQL, data is stored in table columns and rows that have a particular schema. However in MongoDB, a non-relational database, data isn't stored in columns and rows with a particular schema. Instead data is stored in a less structured form where various database styles can be implemented such as a key-value, wide column, document, and graph databases. A similarity however is that both relational and non-relational databases seem to have keys for their rows or documents. When deciding when to choose between the two styles, I would most likely choose a relational style when I need a strict schema and higher efficiency. Though I would choose a non-relational style when different data points may be needed in different documents, providing a more dynamic model.

Intro To Database Systems Week 6

 This week I learned a lot about database programming, especially through the completion of Lab 19, where my partner and I created a prescription web application. We used the JDBC (Java Database Connectivity) driver to connect to our MySQL database which we had created last week in Lab 18. We then modified code for Lab 19 to query, insert and update our database entities with information entered on the front end of our application. Most importantly, I learned how JBDC prepared statements can protect against SQL injection attacks as well as other JBDC functions that I could use to interact with my database.

Intro To Database Systems Week 5

After reading the following article Slow Indexes, Part 1 written by Markus Winand, there are a couple things that can lead to a slow index. The first thing as stated by Winand is the need not only traverse but to also follow the leaf node chain. The need search for multiple matching rows leads to a slow index. Another thing leading to a slow index is the need to access tables. With data possibly being scattered across several tables, multiple tables will need to be accessed when a leaf node is accessed. Fetching table data also has no upper limit, which leads to a slow index.