Course Plan

Introduction

The purpose of the DBMS 110 Course is to introduce you to topics about databases, and to teach some basic skills about database design and programming.

The focus of the course is on using Microsoft's SQL Server database. Many of the design and coding concepts are applicable to most other database products, and the coding skills for the SQL language are also applicable to many other databases.

This is not a survey course. The focus is not on simply discussing various topics about databases and how they are used. This is a hands-on course. Much of the material is aimed at teaching specific skills, including database programming, and the expectation is that you need to learn the programming skills to pass the course.

Four-Track Course Plan

The material in this course will be presented and follow four different tracks:
  • Project Management
  • Database Design
  • Coding and Development
  • Personal Growth

Project Management is an essential set of knowledge and skills for anyone in the IT field. For database professionals it includes evaluating project needs, gathering requirements, translating requirements into a database design, and managing the overall design, coding, testing and implementation processes. It also involves learning how to work as part of a team, and to prepare professional reports and reviews. These skills are not specific to database development, but software engineering in general, and will be useful to students pursuing other IT areas such as networking and coding.

Database Design covers activities related to translating requirements into a specific database structure. It includes understanding standards, best practices, entity analysis, database normalization, and concepts such as database relations, referential integrity and constraints. Hands-on skills to be learned include designing and creating tables, configuring referential integrity, backing up tables and importing data from external sources.

Coding and Development are the essential hands-on skills taught in this course. This includes learning the basics and syntax of Microsoft's T-SQL language, learning how to use key statements to maintain and query tables, and learning how to write stored procedures to execute various processes. Key concepts include how to insert, update, query and delete records, how to join multiple tables in query results, how to implement exception handling, and how to build procedures to support a sample web site project.

Personal Growth is focused on acquiring and improving skills related to growing as a student and professional. For IT, this includes keyboarding and team-building skills. There is also emphasis on personal communications, professional writing and introspective review. Students will complete post-mortem reviews of mini-projects and complete personal work logs reviewing their own project activities.

Course Goals

  • Understand the nature of databases and the roles they play
  • Learn coding basics and the T-SQL language, in particular
  • Improve and practice team skills in a development environment
  • Practice strong written and communication skills

Course Objectives

  • Become familiar with key database concepts
  • Understand how databases support applications, especially web applications
  • Learn how cloud databases work and support Internet activities
  • Recognize the value of standards and best practices
  • Learn how to gather and translate project requirements into database design
  • Become familiar with at least one database IDE (SSMS)
  • Understand key coding concepts such as parameter handling and exception handling
  • Learn advanced database concepts such as JOIN's and referential integrity
  • Learn how to define, manage and document a project
  • Learn how to import and convert data, including from external sources
  • Learn and practice team skills to interact and work with others
  • Practice testing and troubleshooting database programs to support a web app

Module Outline

The course is designed using eight basic modules. Each module includes multiple readings, including video and external sources. Many modules include one or two quizzes. The midterm and final modules require completion of a hands-on project, in lieu of a quiz or test. These may be group-based projects.

Every module includes hands-on coding. Software to be used includes Word, Excel, Visio, and Microsoft SQL Server Management Studio (SSMS). Optional software includes HeidiSQL and the MySQL database. A cloud database is provided for course work, and multiple public web projects are used for course projects.

Module Summary

  1. Introduction to Databases Basics and Project Planning
  2. Entity Analysis and Database Design; Gathering Requirements
  3. Maintaining Tables and Advanced Query Techniques (JOINS, Grouping)
  4. Creating, Executing and Testing Stored Procedures
  5. Small Web Support Project (Midterm)
  6. Exception Handling; Security Issues
  7. Advanced Table Design Topics
  8. Final Web Support Project

Supplemental Activities and Assignments

Most modules will include supplemental readings, hands-on skill instruction, and extra-credit assignments. While the primary course material is aimed at acquiring and practicing basic knowledge and skills, students may also be interested in related topics. For example, as students learn about creating stored procedures, they may also be interested in advanced topics such as writing functions and triggers.

Student Expectations and Conduct

As an IT course, students are encouraged to working together on all assignments and projects. Understanding and practicing how to work in a team environment is critical to becoming an effective IT professional.

Some assignments may be group-based. As such, students are required to participate as part of a group, and not individually. Exceptions will not be given to work individually, except under very special circumstances.

More detailed student expectations are listed at Getting Started

A Note on Successfully Completing This Course

As mentioned in the first section, this course is a mixture of learning about databases, and learning hands-on skills for database design, coding and analysis.

The beginning of the course includes a LOT of new concepts and terminology. The purpose is more than just memorizing facts about databases. Most concepts and terms will surface again and again as your learn various skills in the course. There are keywords listed for each module to help you keep track of them. However, you will be much more successful throughout the entire course if you study and make sure you grasp the concepts and keywords.

As the course progresses, the number of concepts and keywords decrease considerably. The focus of the course moves from learning to doing. There are still new concepts, but they mostly build on things you have already learned.

The primary skills taught for this course are data analysis, database design, and database coding. If you have not previously done any type of software coding, it might be a little intimidating. But the course intentionally takes a step-by-step approach to help ease students into learning those skills. And again, most of skills build up from basic concepts to more complicated topics.