This week, We explored SQL views and how they work. An SQL view is like a virtual table that shows data from one or more real tables based on a query. It feels a lot like working with a table since you can query a view the same way. But, unlike tables, views don’t hold any data themselves. They just store the SQL query that defines what they display. This also means you can’t always perform INSERT, UPDATE, or DELETE operations on a view without restrictions, and they don’t have primary keys. Thinking about SQL compared to a language like Java, there are some cool overlaps. For example, how SQL's WHERE clause is kind of like Java's if statements or how the SELECT statement in SQL is similar to Java's return statement since it decides what comes out of the query. But there are also big differences. SQL is great for working with large sets of data all at once, while Java offers more control over things like loops, object-oriented programming, and detailed logic. Each language has its strengths, and learning both gives a good balance for tackling different types of problems.
This week I focused a lot on understanding time complexity and recursive analysis. It was challenging at first to figure out how to break down recursive functions and write the correct recurrence relations. Applying the Master Theorem was especially tough because I had to carefully identify each part of the formula and decide which case applied. I also spent time reviewing the difference between Big O, Big Omega, and Big Theta, which helped me better understand how to describe the efficiency of an algorithm. These concepts took time to click but working through examples really helped.
Comments
Post a Comment