I've agreed to become teacher's assistant inside a database course and are also requested to consider changes that may be designed to the course.
The course is known as "Advanced Databases", nevertheless its title is a little deceitful. The scholars aren't computer science majors however, many type of "IT management"-students and therefore lack a lot of the actual concepts that computer science major needs (greater level math, etc).
They have had an opening course in databases and really should know the next:
So, my question for you all is: What additional concepts could this program train?
The course is mainly targeted for that "advanced use" of databases, and so i happily accept solutions with concepts that aren't exactly advanced databse concepts, but are based on some type of "advanced utilization of databases". Simple data mining or using exterior web services like Amazon . com happen to be talked about as you possibly can subjects.
The course will have a project that needs a student to create some type of frontend (in PHP or whatever) for their database (MySQL), so they're going to have to complete some programming.
Edit: Bear in mind the students aren't computer science students, so items that are extremely hi-tech or low-level like query plans, query optimizations, etc. aren't within the scope of the course.
train them set based thinking. This is actually the most cruical factor to understand when you are performing any type of use databases.
Security. thats what we should actually need. We want new folk not to make infection friendly programs
Performance, you have to show them concerning the costs of procedures, so when things that appear helpful might bring your application to some crawl for example certain joining procedures (it's also wise to explain why it's difficult to create good calculations for individuals procedures too, but you don't need to generate the mathematics, only use things like bees and flowers)
- Proper utilization of indexes (focus on not over-using).
- Saved methods
Reading through/understanding query plans
If they already know that modeling, normalization and SQL, then understanding a minimum of the fundamentals of optimisation is the greatest next thing. Without that, almost all their other abilities are useless. After individuals first three subjects, this is where the tires satisfy the road.
Optimisation of queries. That's virtually all of the management likes you when it comes to our DBMS around here. Either the DB is working well, or it's working gradually because of a question that's joining with an unindexed column, or our non-standard database configurations are leading to the execution intend to ignore a wonderfully fine index. Individuals would be the items that really cause managers to get rid of sleep (because of their managers giving them a call at 3am), after which call the DBA's leading to these to lose sleep.
Edit: Also, how to prevent risk. Have to re-build a catalog on the table with many different I/O? Could it be a production server? Get it done throughout a maintenance window. Altering an OS level TCP stack setting? Do not do it on the production server. Test drive it on the useless machine, and carry it out on production throughout a maintenance window. Another a part of staying away from risk is getting a running backup. Copying your computer data files is nice, but getting redundancy is much better. We now have Dataguard (Oracle) running to some local machine along with a machine off-site therefore we can instantly switch to one when that one goes lower. Also it does go lower, and it'll go lower again later on. If this goes lower the very first factor that occurs is the fact that my manager, his manager, and the manager's manager all crowd round the DBA's cube asking once the site is going to be support. With this dataguard setup, he requests the manager's ok to switchover and voila, done. Site's support.
Indexing methods for optimizing queries.
Possible areas to pay for may be:
- Various kinds of schemas (star schema, etc.) when they were not all covered within the fundamentals course
- Data warehousing, cubes, etc.
- ETL, merging data, replication
- Enterprise architecture from the database perspective
Concurrency, securing, and browse consistency
OLTP versus OLAP
How indexes work so when they are doing + don't help
What about details about creating a data warehouse for example denormalization (intentional), fact tables, and customary dimensions?