Send More Info
Apply Now
Classroom Login
Call Now
Call Now 855-300-1469

CIS 4410 Database Concepts and Programming

Course Description

This course introduces databases and their central role in organizations. The relational data model and associated topics such as application development are presented in some detail, as is Structured Query Language (SQL). Microsoft SQL Server is used for applied exercises. Additional topics include XML and related technologies, and data warehousing and business intelligence technologies.

Week 1

Lecture: Database Concepts and Programming
Lecture: Relational Model


  • Explain the ubiquity and centrality of databases
  • Explain that there are multiple database data models, that the relational model is the dominant model in the market today, and that there are many relational database vendors
  • Recognize the evolution of commercial computing, particularly with regard to databases
  • Define some of the functions that database management systems must perform
  • Define terminology of file systems (files, records, fields), of relational databases (tables, rows, columns), and of the relational model (relations, tuples, attributes) and how they correlate with each other
  • Describe atomicity of attributes/columns
  • Differentiate keys; the distinction between super keys, candidate keys and primary keys; why we might use arbitrary keys; what are foreign keys
  • Explain what are nulls, how they can be used, and some of the resulting complications
  • Identify table and column naming restrictions and naming conventions
  • Explain what are views

Week 2

Lecture: SQL


  • Recognize the origins of SQL, its acceptance as a standard, its subsequent releases, and its somewhat variable support from relational database vendors
  • Explain what is SQL; what it can do in terms of querying, updating, and defining a relational database
  • Describe data types, particularly text data types
  • Define SQL query structure, and syntax details, keywords, comparison operators, how tables are joined, how results are ordered, aggregate functions, subtotals, subtotal selection
  • Explain SQL update capabilities and the syntax of update, insert and delete statements
  • Compare DDL vs. DML and how SQL can do both.
  • Explain SQL DDL syntax

Week 3

Lecture: Database Design
Lecture: Entity Relationship Modeling


  • Explain how database design and development relates to application design and development
  • Explain application structure consisting of user interface, business logic, and data access layers
  • Identify the process of database and application design and development
  • Recognize the features of a good data model
  • Describe what is prototyping and RAD and why these are valuable techniques
  • Recognize the testing phase; its requirements, some features of adequate testing, some of the limitations
  • Explain ER modeling and why it's done
  • State what an ER model contains
  • Define attributes; their meaning, domains, composite vs. simple, multivalued vs. single valued, derived attributes
  • Identify how the ER concepts of keys are similar to the relational concepts of keys
  • Describe entity participation in relations in terms of multiplicity; what it means, and how its described in ER modeling
  • Describe the types of relationships, particularly the types of binary relationships: one-to-one, one-to-many, many-to-many
  • Explain how an ER model translates to relational tables

Week 4

Lecture: Normalization


  • Explain normalization and why it's done
  • Define decomposition
  • Identify data dependencies, the preservation of those dependencies in normalization with regards to keys, and types of dependencies such as transitive dependencies
  • Explain what is meant by each of the first four normal forms as well as Boyce-Codd Normal Form, and how one progresses from one step to the next

Week 5

Lecture: XML


  • Define XML; its derivation, acceptance as a standard, and use in other standards
  • Explain how XML is used
  • Identify the areas in which XML is efficient and inefficient and their importance
  • Explain the structure of XML; tags, elements, subelement nesting, attributes
  • Describe XML namespaces; why they are defined and how they are defined
  • Explain how XML document structure can be defined by either DTDs or XSDs, how these two specifications compare to one another, and some of the limitations of DTDs
  • Explain the tree and node structure of an XML document
  • Summarize XPATH and how it's used
  • State the syntax of XPATH expression

Week 6

Lecture: Data Warehousing


  • Explain data warehousing, and what has led to the availability of large data repositories that are the sources of data warehouses
  • Define data homogenization; what it means and why it's an issue
  • Identify some of the challenges in developing a data warehouse
  • Explain ETL (extraction, transformation, and load) and its context
  • Explain a data mart, how it relates to a data warehouse, and why a data mart might be developed
  • Compare the two major approaches to developing a data warehouse, and the reasons for Kimball's incremental approach
  • Describe data warehouse design; what are fact tables, what are dimensions, and how they are related
  • Define a star schema

Week 7

Lecture: OLAP


  • Describe BI (business intelligence) and how it includes OLAP (online analytical processing) as well as data mining
  • Explain OLAP
  • Define data cubes, and the operations that can be performed on data cubes
  • Identify roll-up, drill-down, slice and dice, and pivoting with regards to data cubes
  • Compare how the structure of MOLAP differs from that of ROLAP, and the advantages and disadvantages of either
  • Explain how HOLAP is designed to provide many of the advantages of both MOLAP and ROLAP
  • Identify the types of queries used in OLAP, and how these can be addressed by either the OLAP extensions to SQL or MDX
  • Explain MDX and the structure of a MDX query

Week 8

Lecture: Data Mining


  • Explain data mining
  • Recognize examples of data mining in various industries
  • Recognize the most common types and techniques of data mining, including predictive modeling with regression or classification, segmentation with clustering, link analysis, and deviation detection
  • Identify training data and how and why it's used
  • Define regression
  • Compare classification vs. clustering
  • Recite the steps in the data mining process
  • Explain how data mining fits with data warehousing, and the value of data mining

The course description, objectives and learning outcomes are subject to change without notice based on enhancements made to the course.