<<

CPSC 3375 Spring 2014

CPSC 3375 Concepts I

Spring 2014

Department of Computer Science University of Arkansas at Little Rock 2801 South University Avenue Little Rock, Arkansas 72204-1099

Class Hours: Tuesday and Thursday, 3:05 PM − 4:20 PM Classroom: EIT 325 Instructor: Dr. Chia-Chu Chiang Office: EIT 570 Office Hours: Tuesday 2:00 − 3:00 PM, Wednesday 11:00 AM – 12:00 PM, Thursday 2:00 – 3:00 PM, Other hours by appointment Telephone: (501) 569-8142 Fax: (501) 569-8144 E-mail: [email protected]

Course Descriptions Introduction to database management systems concepts including data models; data languages, relational database theory, such as functional dependency and normalization, and concurrency and recovery.

Course Objectives Upon successful completion of this course, students should be able to • analyze the requirements of a • understand the underlying theory of the relational data model • develop a conceptual E-R model and generate relational schemas from E-R diagrams • analyze the English description of a query and develop a relational , identify the database tables and attributes for creating a database • formulate a database query using SQL and generate the query results • understand recovery and mechanisms in database transaction processing • have hands-on experience of a database application

Prerequisites CPSC 2380 (Introduction to Data Structures) CPSC 2310 (Discrete Mathematics)

Text 1. Fundamentals of Database Systems, 6 th Ed., 2011 By Ramez Elmasri and Shamkant B. Navathe Addison-Wesley

- 1 - CPSC 3375 Spring 2014

References 1. Understanding Relational Database Query Languages, 2001 By Suzanne W. Dietrich Prentice Hall

2. MySQL, 2010 By Paul DuBois Addison Wesley

Course Outline PART 1 – Introduction to Databases Chapter 1 – Databases and Database Users 1.1 Introduction 1.2 An Example 1.3 Characteristics of the Database Approach 1.4 Actors on the Scene 1.5 Workers behind the Scene 1.6 Advantages of Using the DBMS Approach Chapter 2 – Database System Concepts and Architecture 2.1 Data Models, Schemas, and Instances 2.2 Three-Schema Architecture and Data Independence 2.3 Database Languages and Interfaces 2.4 The Database System Environment

- 2 - CPSC 3375 Spring 2014

2.5 Centralized and Client/Server Architectures for DBMSs 2.6 Classification of Database Management Systems PART 2 – The Relational Data Model and SQL Chapter 3 – The Relational Data Model and Relational Database Constraints 3.1 Concepts 3.2 Relational Model Constraints and Relational Database Schemas 3.3 Update Operations, Transactions, and Dealing with Constraint Violations Chapter 4 – Basic SQL 4.1 SQL Data Definition and Data Types 4.2 Specifying Constraints in SQL 4.3 Basic Retrieval Queries in SQL 4.4 INSERT, DELETE, and UPDATE Statements in SQL PART 3 − Conceptual Modeling and Database Design Chapter 7 – Data Modeling Using the Entity-Relationship (ER) Model 7.1 Using High-Level Conceptual Data Models for Database Design 7.2 A Sample Database Application 7.3 Entity Types, Entity Sets, Attributes, and Keys 7.4 Relationship Types, Relationship Sets, Roles, and Structural Constraints 7.5 Weak Entity Types 7.6 Refining the ER Design for the COMPANY Database 7.7 ER Diagrams, Naming Conventions, and Design Issues 7.9 Relationship Types of Degree Higher Than Two PART 3 – Conceptual Modeling and Database Design Chapter 9 – Relational Database by ER-to-Relational Mapping 9.1 – Relational Database Design Using ER-to-Relational Mapping PART 2 – The Relational Data Model and SQL Chapter 5 – More SQL: Complex Queries, Triggers, Views, and Schema Modification 5.1 More Complex SQL Retrieval Queries 5.2 Specifying Constraints as Assertions and Triggers 5.3 Views (Virtual Tables) in SQL Chapter 6 – The and Relational Calculus 6.2 Relational Algebra Operations from Set Theory 6.1 Unary Relational Operations: SELECT and PROJECT 6.3 Binary Relational Operations: JOIN and DIVISION 6.4 Additional Relational Operations 6.5 Examples of Queries in Relational Algebra PART 6 – Database Design Theory and Methodology Chapter 15 – Basics of Functional Dependencies and Normalization for Relational Databases 15.1 Informal Design Guidelines for Relation Schemas 15.2 Functional Dependencies 15.3 Normal Forms Based on Primary Keys 15.4 General Definitions of Second and Third Normal Forms

- 3 - CPSC 3375 Spring 2014

15.5 Boyce-Codd Normal Form PART 5 – Database Programming Techniques Chapter 13 – Introduction to SQL Programming Techniques 13.1 Database Programming: Techniques and Issues 13.2 Embedded SQL, Dynamic SQL, and SQLJ PART 9 – Transaction Processing, Concurrency Control, and Recovery Chapter 21 – Introduction to Transaction Processing Concepts and Theory 21.1 Introduction to Transaction Processing 21.2 Transaction and System Concepts 21.3 Desirable Properties of Transactions 21.4 Characterizing Schedules Based on Recoverability 21.5 Characterizing Schedules Based on Serizability

Grading Projects 30% Assignments 10% Midterm Exam 30% Final (Comprehensive) 30%

90-100% A 80-89% B 70-79% C 60-69% D < 60% F

Exams All of the exams will be closed book and note exams. No make-up exams will be given except for documented illness or personal emergency. To be eligible for make-up, you must notify the instructor prior to the time of the exam and provide documentation for the situation when arranging the make-up.

Tentative Schedule

Week Tuesday Lecture Thursday Lecture 1 1/14/2014 • Chapter 1 1/16/2014 • Chapter 1 2 1/21/2014 • Chapter 2 1/23/2014 • Chapter 2 3 1/28/2014 • Chapter 3 1/30/2014 • Chapter 3 4 2/4/2014 • Chapter 4 2/6/2014 • Chapter 4 5 2/11/2014 • Chapter 7 2/13/2014 • Chapter 7 6 2/18/2014 • Chapters 7 and 9 2/20/2014 • Chapter 9 7 2/25/2014 • Chapter 5 2/27/2014 • Chapter 5 8 3/4/2014 • Chapter 5 3/6/2014 • Chapter 5 9 3/11/2014 • Chapter 6 3/13/2014 • Midterm 10 3/18/2014 • Chapter 6 3/20/2014 • Chapter 6 11 3/25/2014 ••• Spring Break 3/27/2014 ••• Spring Break 12 4/1/2014 • Chapter 6 4/3/2014 • Chapter 6 13 4/8/2014 • Chapter 15 4/10/2014 • Chapter 15 14 4/15/2014 • Chapter 15 4/17/2014 • Chapter 13

- 4 - CPSC 3375 Spring 2014

15 4/22/2014 • Chapter 21 4/24/2014 • Chapter 21 16 4/29/2014 • Chapter 21 5/1/2014 • Chapter 21 17 5/6/2014 Consultation Day ••• Last Day to Drop an individual Class 3/11/2014 by 5 P.M. ••• Last Day to Withdraw from All Classes 5/5/2014 by 5 P.M. ••• Last Day of Classes 5/5/2014 ••• Consultation Day 5/6/2014 • Final on 5/13/2014 1:30 PM – 3:30 PM

Policy The Department of Computer Science expects all students to adhere to UALR’s policy on Academic Honesty. In particular, a solution to an assignment or exam must be your own work. You are encouraged to discuss the assignment with your instructor, and even your classmates. However, anything you turn in for grading must be your own work.

Students with Disabilities Your success in this class is important to me, and it is the policy and practice of the University of Arkansas at Little Rock to create inclusive learning environments consistent with federal and state law. If you have a documented disability (or need to have a disability documented), and need an accommodation, please contact me privately as soon as possible, so that we can discuss with the Disability Resource Center (DRC) how to meet your specific needs and the requirements of the course. The DRC offers resources and coordinates reasonable accommodations for students with disabilities. Reasonable accommodations are established through an interactive process among you, your instructor(s) and the DRC. Thus, if you have a disability, please contact me and/or the DRC, at 501-569-3143 (V/TTY) or 501-683-7629 (VP). For more information, please visit the DRC website at www.ualr.edu/disability .

Class Blackboard Site http://bb.ualr.edu

Program Outcome, Course Outcome, and Performance Criteria ◊ O5: Be capable of problem solving. • CO5: Students will be able to analyze a variety of database problems and map to a logical solution to the problems. − Understand , collect , and document user requirements including functional requirements and data requirements − Choose appropriate strategy to analyze the problems such as problem decomposition and abstractions − Develop an enterprise data model that reflects the organization's business requirements ◊ O6: Be capable of formulating algorithmic solutions to a wide variety of problems normally encountered in real-world computing and also in academe. • (CO6) Students will be able to formulate a logical data model of the database and map to a relational data model. − Identify entities, relationships, and attributes − Identify data integrity and security requirements − Develop and refine Entity-Relationship (ER) Model to capture data requirements − Implement a database using MYSQL

- 5 - CPSC 3375 Spring 2014

◊ O7: Be capable of expressing their algorithms in at least one of several of the most important computer languages currently in use in academic and local computing environments. • (CO7) Students will be able to specify the algorithms including relational algebra, tuple relational calculus, domain relational calculus, and SQL in database creation and data access. − Translate a schema into a database application in relational algebra, tuple relational calculus, domain relational calculus, and SQL in MySQL. − Develop a solution to a case study in database design starting from a requirements description, to its conceptual design, its relational data model implementation, and queries in SQL. ◊ O8: Have a sufficient overview of the main subject areas of computer science, so that they can make intelligent decisions as to their future consideration of graduate education. • (CO8) Students will understand the process (phases) of database design and implementation, design of conceptual data model such as ER diagrams, mappings of ER diagrams to relational data model, underlying mathematical theories of database access languages, and design and implementation of a relational database in MYSQL. − Understand general concepts of database system, database architecture, conceptual modeling, ER modeling, relational modeling, and transaction processing − Understand a database system environment, a database architecture, and phases of database design

◊ O9: Have mastery of the theoretical underpinnings of computer science at graduation. • (CO9) Students will learn database access language mathematical theories. − Understand the mathematical theories of relational algebra, tuple relational calculus, and domain relational calculus − Apply functional dependencies and normalization for relational databases − Be able to apply the concepts of database design in the areas of database applications ◊ O10: Be capable of functioning both individually and as part of a development team. N/A ◊ O11: Be capable of conveying technical material in writing and through interacting with an audience in an oral presentation. • (CO11) Students will be able to write clean and well-documented code. − Write cohesive comments in programs − Write readable comments in programs − Demonstrate accurate language usage such as terms and spellings ◊ O12: Understand professional, legal, and ethical responsibilities. N/A

- 6 -