IT2305 Database Systems I (Compulsory)

Similar documents
IT2305 Database Systems I (Compulsory)

IT2304: Database Systems 1 (DBS 1)


Instant SQL Programming

Oracle Database 12c: Introduction to SQL Ed 1.1

Oracle SQL. Course Summary. Duration. Objectives

DATABASE MANAGEMENT SYSTEMS. Question Bank:

Oracle Database: SQL and PL/SQL Fundamentals

Programming with SQL

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database 10g: Introduction to SQL

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

Databases What the Specification Says

Oracle Database: SQL and PL/SQL Fundamentals NEW

BCA. Database Management System

Fundamentals of Database Design

How To Create A Table In Sql (Ahem)

DBMS Questions. 3.) For which two constraints are indexes created when the constraint is added?

LiTH, Tekniska högskolan vid Linköpings universitet 1(7) IDA, Institutionen för datavetenskap Juha Takkinen

Oracle Database 11g SQL

Chapter 6: Physical Database Design and Performance. Database Development Process. Physical Design Process. Physical Database Design

Oracle Database: SQL and PL/SQL Fundamentals NEW

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. COURSE CURRICULUM COURSE TITLE: DATABASE MANAGEMENT (Code: ) Information Technology

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification

Information Systems SQL. Nikolaj Popov

Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components

COMP 5138 Relational Database Management Systems. Week 5 : Basic SQL. Today s Agenda. Overview. Basic SQL Queries. Joins Queries

Course: CSC 222 Database Design and Management I (3 credits Compulsory)

Bridge from Entity Relationship modeling to creating SQL databases, tables, & relations

SQL Simple Queries. Chapter 3.1 V3.0. Napier University Dr Gordon Russell

Oracle Database: Introduction to SQL

Oracle Database: Introduction to SQL

CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY

City University of Hong Kong. Information on a Course offered by Department of Computer Science with effect from Semester A in 2014 / 2015

Oracle 10g PL/SQL Training

Oracle Database: Introduction to SQL

Modern Systems Analysis and Design

Database Systems Introduction Dr P Sreenivasa Kumar

DATABASE DESIGN & PROGRAMMING WITH SQL COURSE CODE: 5324

3. Relational Model and Relational Algebra

A Tool for Generating Relational Database Schema from EER Diagram

Introduction to Databases

Using SQL Server Management Studio

Introduction to Computing. Lectured by: Dr. Pham Tran Vu

CSC 443 Data Base Management Systems. Basic SQL

Part A: Data Definition Language (DDL) Schema and Catalog CREAT TABLE. Referential Triggered Actions. CSC 742 Database Management Systems

Database Programming with PL/SQL: Learning Objectives

Databases and BigData

14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to:

- Eliminating redundant data - Ensuring data dependencies makes sense. ie:- data is stored logically

MySQL for Beginners Ed 3

More on SQL. Juliana Freire. Some slides adapted from J. Ullman, L. Delcambre, R. Ramakrishnan, G. Lindstrom and Silberschatz, Korth and Sudarshan

IINF 202 Introduction to Data and Databases (Spring 2012)

The Relational Model. Why Study the Relational Model? Relational Database: Definitions

Advance DBMS. Structured Query Language (SQL)

SQL Server for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach

BCS Higher Education Qualifications. Database Systems Syllabus

In This Lecture. SQL Data Definition SQL SQL. Notes. Non-Procedural Programming. Database Systems Lecture 5 Natasha Alechina

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

DBMS / Business Intelligence, SQL Server

A. TRUE-FALSE: GROUP 2 PRACTICE EXAMPLES FOR THE REVIEW QUIZ:

MOC 20461C: Querying Microsoft SQL Server. Course Overview

Basic Concepts of Database Systems

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Core Syllabus. Version 2.6 B BUILD KNOWLEDGE AREA: DEVELOPMENT AND IMPLEMENTATION OF INFORMATION SYSTEMS. June 2006

ETL TESTING TRAINING

Relational Database: Additional Operations on Relations; SQL

2874CD1EssentialSQL.qxd 6/25/01 3:06 PM Page 1 Essential SQL Copyright 2001 SYBEX, Inc., Alameda, CA

Fundamentals of Database System

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB

SQL Server. 1. What is RDBMS?

Information Systems Modelling Information Systems I: Databases

Database Migration from MySQL to RDM Server

How To Write A Diagram

Scheme G. Sample Test Paper-I

Databases. DSIC. Academic Year

Business Systems Analysis Certificate Program. Millennium Communications & Training Inc. 2013, All rights reserved

Database Management Systems 2015

AS LEVEL Computer Application Databases

Chapter 6: Integrity Constraints

Netezza SQL Class Outline

THE BCS PROFESSIONAL EXAMINATION Diploma. October 2004 EXAMINERS REPORT. Database Systems

THE OPEN UNIVERSITY OF TANZANIA FACULTY OF SCIENCE TECHNOLOGY AND ENVIRONMENTAL STUDIES BACHELOR OF SIENCE IN DATA MANAGEMENT

Introduction to Microsoft Jet SQL

How To Manage Data In A Database System

Conventional Files versus the Database. Files versus Database. Pros and Cons of Conventional Files. Pros and Cons of Databases. Fields (continued)

Section of DBMS Selection & Evaluation Questionnaire

Chapter 5. SQL: Queries, Constraints, Triggers

Physical Database Design and Tuning

Relational Databases

THE OPEN UNIVERSITY OF TANZANIA FACULTY OF SCIENCE TECHNOLOGY AND ENVIRONMENTAL STUDIES BACHELOR OF SIENCE IN INFORMATION AND COMMUNICATION TECHNOLOGY

Database Design Final Project

Chapter 5: Logical Database Design and the Relational Model Part 2: Normalization. Introduction to Normalization. Normal Forms.

COMHAIRLE NÁISIÚNTA NA NATIONAL COUNCIL FOR VOCATIONAL AWARDS PILOT. Consultative Draft Module Descriptor. Relational Database

A Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX

1. Physical Database Design in Relational Databases (1)

T-SQL STANDARD ELEMENTS

Database Administration with MySQL

Transcription:

Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this course, students should be able to design and develop a database eliminating anomalies using a commercial database product applying fundamentals and concepts of database management systems. MINOR MODIFICATIONS When minor modifications are made to this syllabus, those will be reflected in the Virtual Learning Environment (VLE) and the latest version can be downloaded from the relevant course page of VLE. Please inform your suggestions and comments through the VLE. http://vle.bit.lk ONLINE LEARNING MATERIALS AND ACTIVITIES You can access all learning materials and this syllabus in the VLE: http://vle.bit.lk, if you are a registered student of BIT degree program. It is very important to participate in learning activities given in the VLE to learn this subject. ONLINE ASSIGNMENTS The assignments consist of two quizzes, assignment quiz 1 (It covers the first half of the syllabus) and assignment quiz 2 (It covers the second half of the syllabus). Maximum mark for a question is 10, minimum mark for a question is 0 (irrespective of negative scores). Final assignment mark is calculated considering 40% of assignment quiz 1 and 60% of assignment quiz 2. Pass mark for the online assignments in a course is 50. You are advised to do online assignments before the final exam of the course. It is compulsory to pass all online assignments to partially qualify to obtain year 1 certificate. FINAL EXAMINATION Final exam of the course will be held at the end of the semester. Each course in the semester 2 is evaluated using a two hour question paper which consists of 40-60 MCQs. OUTLINE OF SYLLABUS Topics Hours 1. Introduction to DBMS 07 1

2. Relational Data Model 03 3. Data manipulation using Relational Algebra 06 4. Data manipulation using SQL 16 5. Data views 05 6. Data security 05 7. Database Design Process 12 8. Data Normalization process and the normal forms 06 TOTAL 60 REQUIRED MATERIALS Main Reading: Ref 1. Fundamentals of Database Systems by R. Elmasri and S.B. Navathe, 6 th edition, Addison-Wesley, 2010. Ref 2. Database Management Systems by R. Ramakrishnan and JGehrke, 3 rd McGraw-Hill, International Edition, 2003. edition, Ref 3. Database Systems by Thomas M. Connolly Connolly E.Begg, 3 rd edition, Low Price Edition, 2004. Supplementary Reading: Ref 4. Database System Concepts by A. Silberschatz, H.F. Korth and S. Sudarshan, 6 th edition, McGraw-Hill, International Edition, 2010. Ref 5. An Introduction to Database Systems by C.J. Date, 8 th edition, Addison-Wesley, Low Priced Edition, 2003. Ref 6. Modern Database Management by R.F. McFadden and J.A. Hoffer,11 th edition, Benjamin-Cummins, 2012. Ref 7. A Guide to the SQL Standard, C.J. Date and H. Darwen, 4th edition, Reading, MA: Addison-Wesley, 1996. 2

DETAILED SYLLABUS 1 Introduction to DBMS (7 hrs) Describe the role of a database system. Briefly describe the evolution of database systems and the limitations of conventional file processing systems. Describe the three-schema architecture for databases and explain the difference between conceptual, external and physical schemas. Define the functions of a database administrator. 1.1 The Evolution of Database Technology 1.1.1. Data, information, database, database system, database management system; Data processing and data management, Increasing use of data as a corporate resource. [Ref 1: pg.3-9; Ref 2: pg.3-5, 9-10] 1.1.2. File oriented systems: Meeting the need for random access processing; Limitations of Traditional File Systems: Data redundancy, Inadequate data manipulation capabilities, program-data dependency; Data independence. [Ref 2: pg.8] 1.2 Database Architecture 1.2.1. Components of a Database Management System (DBMS): Data Dictionary (importance, contents), meta data; Data security and integrity; Concurrent access; User-oriented data query and reporting; Application development facilities [Ref 1: pg.29-33] 1.2.2. Database Systems; ANSI/SPARC Three-level Architecture: Conceptual model, Logical model, Physical model, External view, Conceptual view, Internal view of data. [Ref 1: pg.33-35;ref 2: pg.12-16] 1.2.3. Data specification and access mechanisms: Data Definition Language (DDL), Sub-Schema DDL, Data Manipulation Language (DML); Users: End users, Database Administrator (DBA); DBMS: Functions, Capabilities, Advantages and disadvantages. [Ref 1: pg.36-38; Ref 2: pg.131-132] 1.3. Users of a Database 1.3.1. Users and practitioners of a Database System [Ref 1: 14-16] 1.3.2. Data administrator, Database Administrator (DBA), Functions of a DBA. [Ref 1: pg.15; Ref 2:21-22] 1.3.3. Roles of a DBA with respect to Database Integrity, Transaction Processing, Concurrency Control, Database Security and Database Recovery. [Ref 2:21-22,714-715] 2. Relational Data Model (3 hrs) Explain basic facts about the historical development of database management systems. Define the following key terms: Relation, Attribute, tuple, domain, instance, cardinality, degree, schema. Explain the fundamental concepts of the relational model, including relations, attributes, 3

domains, keys, foreign keys, entity integrity and referential integrity. 2.1 Introduction Data Models: Review of database models, Definition of Relation, Attribute, tuple, domain, instance, cardinality, degree, schema, Constrains. [Ref 1: pg. 60-67; Ref 2:pg. 59-62] 2.2 Concepts of keys: Candidate key, Primary key, Alternate key, Composite key, Surrogate key, Foreign key. [Ref 1: pg.69, 73-74,84; Ref 2: pg.29 ] 2.3 Fundamental integrity rules: entity integrity, referential integrity: Domain constraints, Key constraints. [Ref 1: pg.68-70,73-74; Ref 2: pg.32-34,61,70] 3. Data Manipulation using Relational Algebra (6 hrs) List the operations of relational algebra and show how they can be used to create new relations from existing relations. Formulate solutions to specific types of queries in relational algebra. 3.1 Relational algebra (RA): Traditional Set Operations (Union, Intersection, Difference, Cartesian Product)4, Special Relational Operations (Select or Restrict, Project, Join, Different types of join (theta join, equi-join, natural join, outer joins), Division), Minimal set of operations, Simple and Complex queries using RA. [Ref 1: pg.145-186; Ref 2: pg.100-116] 4. Data Manipulation using SQL (16hrs) Define a relational database schema in SQL. Explain basic elements in the structure of an SQL information schema. Formulate SQL queries of varying complexity. Insert, update and delete data in a relational database through SQL commands. 4.1 Structured Query Language (SQL) Introduction to SQL standards: SQL86, SQL89 and SQL92. [Ref 1: pg.87-90; Ref 2: pg.58,130-133] 4.2 Creating SQL Databases and Tables 4.2.1 Creating a Database: CREATE DATABASE, Creating a database schema; Database options: Connect, Disconnect, Select, Close, Create, Drop. 4

4.2.2 Defining tables: CREATE TABLE, ALTER TABLE, DROP TABLE. [Ref 1: pg.90-92; Ref 2: pg.62-63] 4.2.3 Specifying integrity constraints: PRIMARY KEY, UNIQUE, NOT NULL, CHECK, Referential Integrity constraints (Cyclic, Self-referencing, Multiple path) FOREIGN KEY (CASCADE, RESTRICT, NULL, DEFAULT.) []Ref 1: pg. 94-97; Ref 2: pg.69-73] 4.2.4 Creating indexes: CREATE INDEX, DROP INDEX. [Ref 1: 110-111] 4.3 Selecting Data 4.3.1 Queries: SELECT Statement. [Ref 1: pg.97-100; Ref 2: pg.73-74,133-141] 4.3.2 Single Table: all columns (*), selecting specific columns (RA project operation), unique values (DISTINCT), Executing multiple statements (;), WHERE clause (RA select operation), Including or excluding rows (=,!=), Relational Operators (=,!=, >, >=, <, <=), Identifying Null values (IS NULL), Where clause keywords (AND, OR, [NOT] BETWEEN, [NOT] IN, IS [NOT] NULL, [NOT] LIKE, ORDER BY) Arithmetic Operators (+, -, *, /), Expressions, Display Labels, Aggregate Functions: (COUNT, SUM, AVG, MAX, MIN, GROUP BY, HAVING.) [Ref 1: pg.98-100; Ref 2: pg.138-164] 4.3.3 Multiple Table: RA join and product operations, Natural Join, Multiple Table Joins, Aliases for table names, Outer Join, UNION. [Ref 1: pg.123-124, 152-157; Ref 2: pg.107-109,141-144,164-165] 4.3.4 Functions: Arithmetic (ROUND, TRUNC), String (TO_CHAR, UPPER, LOWER, Sub strings, Concatenation, TRIM), Date and Time (DAY, MONTH, YEAR, DATE, CURRENT). [Ref 1: pg.92-94,105-106; Ref 2: pg.139-141] 4.3.5 Sub queries: Nested Select Statement, Values returned by sub queries (single value, a list of values), EXISTS, Correlated nested queries. [Ref 1: pg.107; 119-122; Ref 2: pg.144-151] 4.4 Data Insertion, Updating and Deletion 5. Data Views (5hrs) 4.4.1 Inserting Data: INSERT INTO [VALUES SELECT] including a column list, null values; obtaining values from a SELECT. [Ref 1: pg. 107-109; Ref 2: pg.62-63,69-70] 4.4.2. Updating Data: UPDATE (selected columns, selected rows, with a sub query). [Ref 1: pg. 109-110; Ref 2: pg.63,70] 4.4.3. Deleting Data: DELETE (all data, selected data, with a sub query). [Ref 1: pg. 109; Ref 2: pg.69,70] Define the view concept in database systems. Formulate data views in SQL. Define the limitations in updating views. Define the concept of view materialization. 5

5.1. What is a view? [Ref 1: pg.133-134; Ref 2: pg.86-88] 5.2. Views using SQL 5.2.1. Creating view (CREATE VIEW) [Ref 1: pg.134-135; Ref 2: pg.88-89] 5.2.2. Dropping view (DROP VIEW) [Ref 1: pg.135; Ref 2: pg.92-94] 5.3. View Updatability and WITH CHECK OPTION in SQL [Ref 1: pg.135-137; Ref 2: pg.88-91] 5.4. View Materialization [Ref 1: pg.135-136; Ref 2: pg.874-878] 6. Data Security (5hrs) Describe types of security and threats to database systems. Define discretionary access control. 6.1. Types of Security and Threats to Database Systems [Ref 1: pg.836-837; Ref 2: pg.692-694] 6.2. Discretionary Access Control 6.2.1. Types of Discretionary Privileges [Ref 1: pg.842-844; Ref 2: pg.694-703] 6.2.1.1. System Privileges 6.2.1.2. Object Privileges 6.2.2. Granting and Revoking Privileges [Ref 1: pg 842-.844; Ref 2: pg.704-705] 6.2.3. Propagation of Privileges [Ref 1: pg.844-846] 7. Database design process (12hrs) Describe the steps in the database development life cycle and their interrelationships. Demonstrate how information needs that occur frequently in businesses can be addressed by using these data modeling concepts. Map conceptual model into relational schema. 7.1. Database Design Approach 7.1.1. Introduction: Benefits, Critical success factors, Where it fits into the application development process, Approach [Ref 2: pg.26-28] 7.1.2. Data requirement analysis: Gain an understanding of the business; Conceptual modeling: Identify the principal data objects, Diagram the data objects using the entity-relationship (ER) approach, Resolve the conceptual data model, Determine attribute specifications and data types, Verify the conceptual data model through normalization; Logical model; Physical model; Database Design tools. [Ref 1: pg.199-200] 7.2. ER Concepts and Terminology Graphics accelerator cards 7.2.1. The Role of ER Diagrams. [Ref 1: pg.199-200; Ref 2: pg.26-28] 7.2.2. Three classes of objects: Entities, Relationships and Attributes. [Ref 1: pg.203-207; Ref 2: pg.28-29] 6

7.2.3. Entities: Entity, Entity instance, Subtype and Super-type Entities, Strong and weak entities, Generalization, specialization and aggregation. [Ref 1: pg. 207-209;Ref 2: pg.28-29,35-42] 7.2.4. Relationships: Connectivity (binary, n-array), (1:1, 1:N, M:N), Determining the connectivity, Cardinality, Existence dependency (mandatory, optional). [Ref 1: pg.212-218; Ref 2: pg.29-34] 7.2.5. Attributes: Identifying attributes, Attribute types (identifier, descriptor), Derived data, Domain, Composite attributes. [Ref 1: pg.203-207; Ref 2: pg.59-62] 7.3. Mapping Conceptual model into relational schema 7.3.1. Regular, weak, generalized and specialized entities, Relationship types, Multivalued attributes. [Ref 1: pg.191-205, 212-220; Ref 2: pg.40-42] 7.3.2. Resolve the conceptual data model; Redundant Relationships; Recursive Relationships; Resolving Relationships: 1:1, M:N. [Ref 1: pg. 212-218; Ref 2: pg.42-46] 7.4. Attribute Specifications and Data types 7.4.1. Attribute names, Naming conventions, Avoid Synonyms and Homonyms, Null Values, Entity integrity, Unique Requirement. [Ref 1:100-102,206, 221-222,317] 7.4.2. Categories of Data Types: Character, Numeric, Variable Character, Date, Serial, Money, Date-time, Interval. [Ref 1: 92-94] 7.4.3. Character: CHARACTER (CHAR); Numeric: INTEGER (INT), SMALLINT, FLOAT, SMALLFLOAT, DECIMAL; Variable Character: CHARACTER VARYING (VARCHAR); Binary Large Object (BLOB): Text, Byte. [Ref 1: 92] 8. Data normalization process and the normal forms(6hrs) Translate a relational data model into efficient database structures, including knowing when and how to de-normalize the logical data model. Demonstrate how relations can be normalized. The normalization process requires an understanding of first through 3 rd normal forms, functional dependencies and multi-valued dependencies. 8.1. Introduction to data normalization and normal forms [Ref 1: pg.501-519; Ref 2: pg.615-619, 622-629] 8.1.1. What is normalization, Benefits of normalization, Normalization Rules 8.1.2. 1NF, 2NF, 3NF and Higher NF. 8.2. First Normal Form [Ref 1: pg.519-523] 8.2.1. 1NF, Why convert to 1NF, Conversion to 1NF; 8.3. Second Normal Form [Ref 1: pg.523; 526-527] 8.3.1. 2NF, Functional Dependence and Fully Functional Dependence, Why convert to 2NF, Conversion to 2NF 8.4. Third Normal Form [Ref 1: pg.523-525;528; Ref 2: pg.617-619] 8.4.1. 3NF, Transitive Dependence, Why convert to 3NF, Conversion to 3NF. 8.5. Normalization considerations [Ref 1: pg 531-535,519; Ref 2: pg 609,619-628,634-636,638, 7

672-674 ] 8.5.1. Good and bad decompositions 8.5.2. De-normalization 8.5.3. Multi-valued dependencies, Join dependencies PLATFORM Any standard PC (Pentium) with a standard commercial relational database management system (e.g. MS Access, MySQL) that allows the student to develop small applications involving menu design, screen design, data validation in data entry screens, report design. Note: Students are expected to achieve a level of competence in at least one of the standard commercial relational database management system and to be able to develop small applications involving menu design, screen design, data validation in data entry screens, report design and an overview of GUI design. Students are expected to acquire some of these skills in semester 1 Application Packages course. The students must also acquire skills for independently designing on-line database applications. 8