Professional Documents
Culture Documents
Course Description:
CIS-‐363 is a comprehensive course in enterprise database management with the open-‐source
MySQL database. It covers relational model and theory, forms and theories of normalization, and in-‐
depth SQL and an overview of database administration, stored procedures, functions, triggers, and
metadata. Also, covered are MySQL server administration, performance tuning, security,
optimization, and database design. Advanced topics include Client-‐Server database applications
using Java and PHP, dynamic SQL, prepared SQL, and callable statements.
Intended for students with previous programming experience.
Recommended preparation: eligibility for ENGL 838 or 848 and completion of CIS 111 or CIS 254.
Pass/No Pass or letter grade option. (AA, CSU).
Workload:
You are expected to keep up with reading, complete the five project phases and three assignments
on time, and regularly participate in the corresponding forums. Students are welcome to post
questions that relate to the current project component, answer other student’s questions or
respond to questions that I may post. So all together, this means being able to spend 8-‐10
hours/week (regular semester, twice during summer session) minimum on assigned work for
success in this class.
1
Submitting Project Components and Exams:
There will be a project composed of five successive phases. For each project phase, you are to
submit copies of all files, and upload them to the corresponding Canvas drop box (multiple file
assignments are to be zipped first). Assignments will be graded on correctness, documentation, and
style.
Grading: Your grade will be determined by aggregating the following components:
Two preliminary SQL assignments (2 x 10% = 20%)
Project in 5 phases (5 x 10% = 50%)
Final Exam (30%)
Assignments: the purpose of the three assignments is to help you focus on the main concepts that
are relevant to the project.
Assignment 1: basic SQL in the MySQL Environment.
Assignment 2: advanced SQL similar to what is expected in the later phases of your project.
Project: You get to choose from a list of deliberately sketchy descriptions and shape the project
according to your interest. The project will be structured into five phases. For each project phase,
there will be a one-‐page specification document. The phases are fairly sequential:
1) Proposal and Data Modeling
2) Database Design
3) Populating your Database and Simple Queries
4) Advanced Queries and Stored Procedures, Constraints and Assertions or Triggers
5) A Front-‐End Application (possibly PHP or Java-‐JDBC) based on the backend developed
in phases 1-‐4.
2
Topical Outline:
1. Introduction
a. History of MySQL
b. Database Concepts
c. Relational Model and Theory
d. MySQL Installation
e. MySQL Features
2. SQL Basics
a. SQL Syntax
b. Database Creation
c. Table Management
d. MySQL Data Types
e. Indexing
f. Data Management
g. SQL Operators
h. Queries
i. Transactions
j. Metadata
3. Database Design Fundamentals
a. Database Concepts
b. Entities, Attributes, and Relationships
c. Design Methods
d. Design Requirements
e. Functional Dependence
f. Primary and Secondary Keys
g. Normalization
4. Database Administration
a. Defining and Using Views
b. Using a View to Update Data
c. Dropping a View
d. Security
e. Indexes
f. System Catalog
g. Integrity Constraints
5. MySQL Administration
a. Configuration
b. Application and Database Server Tuning
c. Security
d. Logging
e. Backup and Recovery
3
6. MySQL Advanced Topics
a. Importing Data
b. Exporting Data
c. Using the MySQL Query Browser
d. Using the MySQL Administrator
7. Database Applications
a. Architecture
b. Connections and Transactions
c. Object-‐Relational Modeling
d. Client-‐Server Applications (Java and PHP)
e. Dynamic SQL
f. Prepared SQL
g. Callable Statements (Stored Procedures and Functions)
h. Triggers
4