Posts

Showing posts from January, 2023

CST363 Module 8

  Briefly describe the what you consider to be the three (3) most important things about this course.     1. Getting familiar with SQL and MongoDB documentation. A major topic in this course was the basics of using SQL and MongoDB databases, this is a vital aspect due to how common these two systems are in the overall industry. Doing so allows us to be pre-exposed to industry standard systems before being tossed into a working environment that is already using a similar database system.     2. Understanding how to efficiently lay out data Another important topic that was covered in this course is how to efficiently lay out data in a database. This includes reducing redundant data, prioritizing important attributes, enabling efficient queries, etc. This topic allows us to look at a target set of data and determine the most efficient way to lay out a matching database.     3. How to link a database to application code. A final important topic that w...

CST363 Module 7

  In your own words what is a data warehouse and why is it important to have another copy of the data in a data warehouse?     A data warehouse is a database platform that stores historical data for an organization specifically for the purpose of analytically looking at said data such as looking at trends over a period of time. It is important to have another copy of the data in a data warehouse in order to improve query time because data warehouses may be laid out differently than the main operational database due to attributes such as query time being prioritized.

CST363 Module 6

  Compare MongoDB with MySQL.  What are some similarities?  What are some differences?  When would you choose one over the other?  MongoDB and MySQL have some surface level similarities such as both of them being suited for efficiently storing and accessing data sets. Beyond this they both support simple data types such as integers, strings, doubles, etc. Some of the differences they have between each other mainly comes from MongoDB being a NoSQL structure, primarily meaning it doesn't use SQL queries to access data. SQL also stores data relationally in tables with predetermined columns or attributes while MongoDB stores data in the form of 'documents'. These documents have no pre-set size, data-types, etc.. Documents can have different attributes on the fly. This allows MongoDB to handle more non-uniform data sets. At the moment I'm unsure which database I would rather use, it would probably depend on the project. The possibility to have non-uniform data using ...

CST363 Module 5

The web site "Use the Index Luke" has a page on "slow indexes".    https://use-the-index-luke.com/sql/anatomy/slow-indexes   Links to an external site.   If indexes are supposed to speed up performance of query,  what is meant by a slow index?   This page seems to define a 'slow index' as one that returns a large amount of data from an inquiry such as when a single index can simply relate to lots of data in a table, or such as when a single index has a few matches and so the system chooses to follow their table relationships down a large rabbit hole. This page used the Oracle system functions as an example. The first situation is from their TABLE ACCESS BY INDEX ROWID and the second situation is from their INDEX RANGE SCAN.

CST363 Module 4

Briefly summarize what you have learned in the course so far.  List at least 5 things.      So far in this course we have learned basic SQL query code such as creating tables, inserting values into those tables, and pulling data from them. In the more advanced portion of the course we have learned about joining tables together using JOIN statements, performing  calculations using table data with functions such as SUM, MAX, and MIN, and we have covered ways to organize returned data through keys like GROUP BY, ORDER BY, and HAVING. List at least 3 questions you  have about databases that have not been covered in the course so far.     1. What is the time complexity and space complexity of sql solutions compared to lower level java solutions?     2. How is SQL managed at a server level for cloud applications compared to our local level usage in this class?     3. How do SQL queries mesh with standard programming languages?

CST363 Module 3

  Someone described normalization rule as  "a non-key column depends on the key, the whole key, and nothing but the key, so help me Codd."  Key refers a primary or other candidate key.  If the key has multiple columns, then "whole key" means  all columns together and not some of the columns.  Explain in your words what 3rd normal form is and why it is important.      The 3rd normal form generally defines that tables should have a single 'key' that determines the rest of the non-key data -- there shouldn't be any partial dependencies in the table where two different keys determine multiple sets of data. 3rd normal form is important because it helps reduce data redundancy and it improves data integrity on top of making tables easier to create, maintain, and access. What is an SQL view.  How is it similar to a table? In what ways is it different? SQL views are virtual tables that instead of holding data like a regular table, it keeps t...

CST363 Module 2

 1. An example of joining two tables on anything other than two keys would be performing a cartesian join, where you want to find every possible combination of multiple columns such as wanting to find every possible combination of meal and drink in two data tables where the first table contains every drink selection and the second table contains every meal selection. Such as join can be seen as SELECT drinks.name, meals.name from drinks, meals 2. SQL is so far an alright query language. I have yet to use anything else so I don't have any reference points. I do believe that it is quite easy to use and learn, the translation from English to syntax isn't too big of a jump. The most difficult kind of requests to translate would be ones that need to rely off of multiple nested queries to grab data out of a target table.

CST363 Module 1

Relational database tables and spreadsheets look similar with both having rows and columns.  What are some important differences between the two? A few major differences between databases and spreadsheets are 1. Databases are often relational -- specific examples are using foreign keys within different tables that when updated, they update related tables. 2. Another difference is that Spreadsheets have less formatting requirements such as each column does not have to have a name or label, but in databases, every column must be labeled. 3. A 3rd difference between them is there can only be one entry of data in each attribute slot in a database while spreadsheets are not limited. Installing and setting up a database and learning how to use it is more complicated that just reading and writing a file.  What are some important reasons for using a database rather than just using files to store the data?   Databases have more built in features to them that make them an over...

CST338 Module 8