Posts

Showing posts from June, 2025

Computer Science BS Journal (CST363) : Week 8

 This journal entry marks the final days of CST363. What an amazing class. I really enjoyed working with MySQL Workbench. Mongo was a bit odd, but I liked the challenge of learning to use new software/get better with the command line. Our final prompt is to list 3 of the most important things we learned in this class. The three things I'll list are going to be Database design, Transaction & Concurrency, and JDBC & Spring Boot.  I'll list the key learning takeaways for these as well as some useful information. 1. Database Design Key Learning Takeaways: Data Modeling: Understand entities , attributes , and relationships . Learn how to design ER diagrams to visualize database schemas. Normalization: Apply 1NF, 2NF, 3NF (and BCNF) to reduce redundancy and improve integrity. Understand denormalization trade-offs for performance. Schema Design: Create well-structured primary and foreign keys . Define constraints (NOT NULL, UNIQUE, CHECK) f...

Computer Science BS Journal (CST363) : Week 7

 This week we installed and used MongoDB. It was super new to me and I haven't really used the command prompt very much so when I was running into errors while trying to load my JavaScript file I got a bit irritated. I got it working eventually after realizing I had to move my file to a different directory and type out the full path when trying to load it. That solved all my issues. I followed the same steps when loading the other two files provided for the lab and it went smoothly. Here are some things I noticed when comparing Mongo DB with MySQL. Similarities Database Management : Both are database management systems used to store, retrieve, and manage data. Cross-Platform : Both are cross-platform and run on Linux, Windows, and macOS. Indexing : Both support indexing for faster queries. Replication : Both support data replication for high availability. Security : Both offer authentication, authorization, and encryption features. Community and Support : Each has...

Computer Science BS Journal (CST363) : Week 6

 This week I learned quite a bit about JDBC, Connectors, and what it takes to work on some Web Applications.  *JDBC is the standard Java API for connecting and executing SQL queries with relational databases. Key Concepts: DriverManager / DataSource : Manages DB connections. Connection : Represents a connection session. PreparedStatement : Safely sends parameterized SQL (prevents SQL injection). ResultSet : Retrieves query results. Some key takeaways: Use PreparedStatement for safe, efficient, and secure database queries. Always close connections (or use try-with-resources). Avoid hardcoding SQL logic — parameterize everything. Use jdbcTemplate.getDataSource().getConnection() in Spring Boot for quick integration. *Spring Boot simplifies JDBC usage by handling connection setup and dependency injection through JdbcTemplate . Key Concepts: @Autowired JdbcTemplate gives access to your DB. Spring Boot reads config from application. Properties...

Computer Science BS Journal (CST363) : Week 5

 This marks the 5th week of CST363 and things are going great so far. This week we designed a prescription database, practiced transactions on MySQL as well as practiced some SQL in our homework 3 assignment. I had fun making the database for the prescriptions, I still get a little confused when it comes to the 1:1 or 1:M relationships so I had to go back and review a bit to be sure I was correct. Homework 3 and Lab 15 were pretty straightforward but they were good material to practice what was taught to us thus far. The web site  "Use the Index Luke"  has a page on "slow indexes".    https://use-the-index-luke.com/sql/anatomy/slow-indexes If indexes are supposed to speed up performance of query,  what does the author mean by a slow index?      After reading through the article I can conclude a few things.  What is a "slow index"? A slow index is one that exists and is technically used by the query planner, but results in poor performanc...