Cabrillo | Cal Poly SLO | CSUMB
ILP
CST 231 | CST 237 | CST 238 | CST 300 | CST 311 | CST 328 | CST 329 | CST 334 | CST 336 | CST 338 | CST 363 | CST 370 | CST 383 | CST 438 | CST 462s | CST 499 | General Ed | Math 130 | Math 150 | Math 151 | Math 170
CST 363 - Introduction to Database Systems - Units - 4
This course provides balanced coverage of database use and design, focusing on relational databases. Students will learn to design relational schemas, write SQL queries, access a DB programmatically, and perform database administration. Students will gain a working knowledge of the algorithms and data structures used in query evaluation and transaction processing. Students will also learn to apply newer database technologies such as XML, NoSQL, and Hadoop.
Prerequisite(s)/Corequisite(s): (Prereq: CST 238 and MATH 130 with a C- or better)
Typically Offered: Fall, Spring
Units: 4
My Experience in CST-363 - Introduction to Databases and Data Warehouses:
I learned tons of new database manipulation skills in this class from getting tons of join practice which I really needed in MySQL to JDBC which I've been wanting to get going for years, tried to a long time ago and failed, but succeeded just fine with knowledge from this class and then went on to also learn really neato stuff like SpringTools, SpringBoot, MongoDB, which I really liked, I found it fun and powerful for aggregating data, a new concept to me and it seems super useful. Rendering MySQL database MySQL setup code from ER diagrams super blew my mind. Here are links to my journals:
Links:I put lots of example knowledge in my journals as I came across it. Data warehouses make so much sense, and I already knew about them instinctively but it's really good to know they are a thing. Here are some screenshots from class work:
This is actually a screenshot of a MySQL Workbench as an ER diagram of the database from my game, Super Bomb Reversi, rendered in MySQL Workbench as an ER diagram.
These are the plugins you need installed to make Spring Boot work with JDBC.
MySQL query rendered at the client. This is Java server running as Spring Boot connecting to MySQL through JDBC rendering HTML, JavaScript and CSS with SpringBoot for the page to render.
Another SpringBoot page MySQL query rendered at the client in HTML/JavaScript/CSS through Java SpringBoot.
The green messages are validation, and that is a big part of what this is doing: it is supposed to say if it's entered wrong. So it's checking the database and sending messages back to the client so validation messages can happen.
There can be more than one message in the validation message since there is more than one data field.
That's PHPMyAdmin on the right, I like it a lot and fall back on it a lot too.
These are mostly all just screenshots of 'it working'. This one is a screenshot of data that has been entered into the form and has been recalled from the DataBase to the client and is displayed at the client.
Mongo DB is JavaScript and you can actually get quite creative with it:
You get JSON output, it's for aggregating results from large data sets, you get back summaries in JSON depending on what you ask it.
I absolutely swear by Notepad++ - even if I'm using an IDE or another editor like Repl.it: I still heavily rely on being able to use Notepad++ to fall back on for larger documents when the editing gets heavy.
I had to skimp on a lot of the ER diagram screenshots because most of them were assignments, but I left the one that represented the simple database I designed (trivially) years ago for my game, Super Bomb Reversi, a Reversi tournament web app that uses a comet framework I made to keep the page data live for the tournament. Anyways this class was so important and the knowledge from it is so needed, I am so glad to have been given the chance to learn that knowledge!
I probably said it in my journal too but MySQL Workbench is a really great tool. Graphically creating an ER diagram and rendering MySQL database generation code from it is gold. Most of my screenshots of it were class-work related so I'll leave them out but I did leave the ER diagram from my game there. Another thing I thought was cool about it you can't do (that I know of) in PHPMyAdmin is clicking on individual lines to execute individual lines from a script. In PHPMyAdmin you can execute individual lines but not when they're in the middle of a bunch of other lines, you have to manually separate them if you want to do that. So I thought that was kind of neat, useful for a few things, like manual slow-down of a script for one thing, or just picking lines out of it later for another.
Another thing that was cool about this class was that it exceeded my expectations. The knowledge taught by the class passed up my own knowledge on the day of orientation and progressed steadily along for the eight weeks, so I was on my toes the whole time, even though I had pre-existing background knowledge of using MySQL for my game and a few other projects. I didn't have a strong background, like I did with Java but still, passing my knowledge up on the day of orientation was really cool, and I was really glad to learn so much from the class. I think the number one most important two things from the class were learning that there's 'of' in JavaScript (side lesson that is really important) and the super-joins practice we got with doing tons and tons of joins. Also ER modeling->full MySQL database, getting JDBC going, SpringBoot, and MongoDB was really neato. The joins practice I'm pretty sure was invaluable. Also, prior to the class I had no idea you could put arithmetic in queries, use a comma instead of keywords 'inner join' to do joins, put select statements inside insert statements for loading databases from databases and the vast array of MySQL details articulately explained in detail for us during this course.
List of MySQL paradigms I practiced during the class:
Mega practice with Joins
- JDBC
- MongoDB
- JavaScript 'for'
- ER Diagrams, designing, implementing databases
- more
And, our group database design and report we made:
Our group database design and report we madeMy job was to design the database and implement the design in the website with JDBC.