IT2304: Database Systems 1 (DBS 1)



Similar documents
IT2305 Database Systems I (Compulsory)

Instant SQL Programming

Oracle Database 12c: Introduction to SQL Ed 1.1

Oracle SQL. Course Summary. Duration. Objectives


Oracle Database: SQL and PL/SQL Fundamentals

BCA. Database Management System

DATABASE MANAGEMENT SYSTEMS. Question Bank:

Programming with SQL

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

Oracle Database: SQL and PL/SQL Fundamentals NEW

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

Oracle Database: SQL and PL/SQL Fundamentals

Introduction to Databases

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

Oracle Database 10g: Introduction to SQL

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

How To Create A Table In Sql (Ahem)

Oracle Database 11g SQL

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

BCS Higher Education Qualifications. Database Systems Syllabus

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

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

Fundamentals of Database Design

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

Information Systems SQL. Nikolaj Popov

Databases. DSIC. Academic Year

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: Introduction to SQL

Oracle Database: Introduction to SQL

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

Scheme G. Sample Test Paper-I

Databases What the Specification Says

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

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

Modern Systems Analysis and Design

Database Systems Introduction Dr P Sreenivasa Kumar

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

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

SQL Server 2008 Core Skills. Gary Young 2011

Oracle 10g PL/SQL Training

DBMS / Business Intelligence, SQL Server

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

3. Relational Model and Relational Algebra

Relational Database: Additional Operations on Relations; SQL

Oracle Database: Introduction to SQL

Databases and BigData

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

DATABASE DESIGN & PROGRAMMING WITH SQL COURSE CODE: 5324

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

CSC 443 Data Base Management Systems. Basic SQL

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

Chapter 5. SQL: Queries, Constraints, Triggers

MySQL for Beginners Ed 3

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

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

How To Write A Diagram

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

B.Sc. (Computer Science) First Year

There are five fields or columns, with names and types as shown above.

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

AS LEVEL Computer Application Databases

CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY

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

Basic Concepts of Database Systems

T-SQL STANDARD ELEMENTS

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

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

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

Advance DBMS. Structured Query Language (SQL)

Using SQL Server Management Studio

SQL Server. 1. What is RDBMS?

Introduction to Microsoft Jet SQL

EECS 647: Introduction to Database Systems

In This Lecture. Security and Integrity. Database Security. DBMS Security Support. Privileges in SQL. Permissions and Privilege.

A Tool for Generating Relational Database Schema from EER Diagram

Course Computer Science Academic year 2012/13 Subject Databases I ECTS 5

Lecture 6. SQL, Logical DB Design

Database Migration from MySQL to RDM Server

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

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

Database Design Methodology

4 Logical Design : RDM Schema Definition with SQL / DDL

7.1 The Information system

Question 1. Relational Data Model [17 marks] Question 2. SQL and Relational Algebra [31 marks]

The process of database development. Logical model: relational DBMS. Relation

Databases in Engineering / Lab-1 (MS-Access/SQL)

Database Management Systems 2015

How To Manage Data In A Database System

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

Information Systems Modelling Information Systems I: Databases

Files. Files. Files. Files. Files. File Organisation. What s it all about? What s in a file?

SQL: Queries, Programming, Triggers

SQL DATA DEFINITION: KEY CONSTRAINTS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7

Example Instances. SQL: Queries, Programming, Triggers. Conceptual Evaluation Strategy. Basic SQL Query. A Note on Range Variables

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

Chapter 8. SQL-99: SchemaDefinition, Constraints, and Queries and Views

Transcription:

: Database Systems 1 (DBS 1) (Compulsory) 1. OUTLINE OF SYLLABUS Topic Minimum number of hours Introduction to DBMS 07 Relational Data Model 03 Data manipulation using Relational Algebra 06 Data manipulation using SQL 16* Data views 05* Data security 05 Database Design Process 12 Data Normalization process and the normal forms 06 Total for the subject 60 Learning Objectives After successfully completing this course students should be able to o Design and develop a database eliminating anomalies using a commercial database product applying fundamentals and concepts of database management systems.

2. DETAILED SYLLABUS 1. Introduction to DBMS (07hrs) o Describe the role of a database system. o Briefly describe the evolution of database systems and the limitations of conventional file processing systems o Describe the three-schema architecture for databases and explain the difference between conceptual, external and physical schemas. o Define the functions of a database administrator 1.1. The Evolution of Database Technology (2hrs.) 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.11-12, 23-28; Ref 2: pg.4-5, 9-10, 43-45; Ref 3:pg.14-20] 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 1: pg.8-10, 12-14; Ref 2: pg.8-11; Ref 3: pg. 6-12] 1.2. Database Architecture (3hrs.) 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.23-27; Ref 2: pg. 35-38, 43] 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.66-70; Ref 2: pg.29-32; Ref 3: pg. 34-39] 1.2.3. Data specification and access mechanisms: Data Definition Language (DDL), Sub- Schema DDL (SDDL), Data Manipulation Language (DML); Users: End users, Database Administrator (DBA); DBMS: Functions, Capabilities, Advantages and disadvantages. [Ref 1: pg.499-504; Ref 2: pg.32, 15-20, 23; Ref 3: pg. 40-42, 25-30] 1.3 Users of a Database system (2hrs.) 1.3.1. Users and practitioners of a Database System [Ref 1: pg.27-28; Ref 2: 12, 14] 1.3.2. Data administrator, Database Administrator (DBA), Functions of a DBA. [Ref 1: pg.61, 362-367; Ref 2: pg.12; Ref 3: pg. 21] 1.3.3. Roles of a DBA with respect to Database Integrity, Transaction Processing, Concurrency Control, Database Security and Database Recovery. [Ref 1: pg.367-386; Ref 2: 734] 2. Relational Data Model (03hrs.) o Explain basic facts about the historical development of database management systems. o Define the following key terms: Relation, Attribute, tuple, domain, instance, cardinality, degree, schema. o Explain the fundamental concepts of the relational model, including relations, attributes, 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.138-140; Ref 2: pg. 52-53, 125-138; Ref 3: pg. 70-74] 2.2. Concepts of keys: Candidate key, Primary key, Alternate key, Composite key, Surrogate key, Foreign key. [Ref 1: pg.141-143; Ref 2: pg.202-208; Ref 3: pg. 78-79] 2.3. Fundamental integrity rules: entity integrity, referential integrity: Domain constraints, Key constraints

[Ref 1: pg.144-145; Ref 2: pg.135, 314, 483; Ref 3: pg. 81-83] 3. Data Manipulation using Relational Algebra (06 hrs.) o List the operations of relational algebra and show how they can be used to create new relations from existing relations. o Formulate solutions to specific types of queries in relational algebra. 3.1. Relational algebra (RA): Traditional Set Operations (Union, Intersection, Difference, Product)4, Special Relational Operations (Select or Restrict, Project, Join, Different types of join (theta join, equi-join, natural join, outer joins), Divide), Minimal set of operations, Simple and Complex queries using RA. [Ref 1: pg.175-196; Ref 2: pg. 149-173; Ref 3: pg. 89-99] 4. Data Manipulation using SQL (16hrs) o Define a relational database schema in SQL. o Explain basic elements in the structure of an SQL information schema. o Formulate SQL queries of varying complexity. o Insert, update and delete data in a relational database through SQL commands. 4.1. Structured Query Language (SQL) (1hr.) Introduction to SQL standards: SQL86, SQL89 and SQL92. [Ref 1: pg.208-209; Ref 2: pg. 207-209] 4.2 Creating SQL Databases and Tables (3hrs.) 4.2.1. Creating a Database: CREATE DATABASE, Creating a database schema; Database options: Connect, Disconnect, Select, Close, Create, Drop. [Ref 1: pg.213-217; Ref 2: pg. 210-211; Ref 3: pg. 167-168] 4.2.2. Defining tables and views: CREATE TABLE, ALTER TABLE, DROP TABLE. [Ref 1: pg.213; Ref 2: pg. 210-218; Ref 3: pg. 168-174] 4.2.3. Specifying integrity constraints: PRIMARY KEY, UNIQUE, NOT NULL, CHECK, Referential Integrity constraints (Cyclic, Self-referencing, Multiple path) FOREIGN KEY (CASCADE, RESTRICT, NULIFIES), DEFAULT. [[Ref 1: pg.141-145, 289-291; Ref 2: pg. 213-216] 4.2.4 Creating indexes: CREATE INDEX, DROP INDEX. [Ref 2: 216; Ref 3: pg. 174-175] 4.3. Selecting Data (9hrs.) 4.3.1. Queries: SELECT Statement. [Ref 1: pg.218-220; Ref 2: pg. 219; Ref 3: pg. 116-117] 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.219, 229-232; Ref 2: pg. 224-236; Ref 3: pg. 118-132] 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. 234-239; Ref 2: pg. 237-238; Ref 3: pg. 137-146] 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.221; Ref 2: pg. 238-243; Ref 3: pg. 158-162] 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.224-228; Ref 2: pg. 229-236; Ref 3: pg. 132-137]

4.4. Data Insertion, Updating and Deletion (3hrs.) 4.4.1. Inserting Data: INSERT INTO [VALUES SELECT] including a column list, null values; obtaining values from a SELECT. [Ref 1: pg.218, 240; Ref 2: pg. 245-247; Ref 3: pg. 148-150] 4.4.2. Updating Data: UPDATE (selected columns, selected rows, with a sub query). [Ref 1: pg.240; Ref 2: pg. 247-248; Ref 3: pg. 151-152] 4.4.3. Deleting Data: DELETE (all data, selected data, with a sub query). [Ref 1: pg.240; Ref 2: pg. 247; Ref 3: pg. 152] 5. Data Views (05hrs.) o Define the view concept in database systems. o Formulate data views in SQL. o Define the limitations in updating views. o Define the concept of view materialization. 5.1 What is a view? [Ref 1: pg.242; Ref 2: pg. 283-284; Ref 3: pg. 175] 5.2 Views using SQL 5.2.1 Creating view (CREATE VIEW) [Ref 1: pg.242-243; Ref 2: pg. 284; Ref 3: pg. 176-178] 5.2.2 Dropping view (DROP VIEW) [Ref 2: pg. 285; Ref 3: pg. 178-179] 5.3 View Updatability and WITH CHECK OPTION in SQL [Ref 1: pg 243; Ref 2: pg. 285-287; Ref 3: pg. 180-183] 5.4 View Materialization [Ref 2: pg. 285; Ref 3: pg. 185-186] 6. Data Security (05hrs.) o Describe types of security and threats to database systems. o Define discretionary access control. o Define mandatory access control. o Explain security issues in statistical database systems. 6.1 Types of Security and Threats to Database Systems [Ref 2: pg. 758-760; Ref 3: pg. 522-525] 6.2 Discretionary Access Control 6.2.1 Types of Discretionary Privileges [Ref 2: pg. 762-763] 6.2.2 Granting and Revoking Privileges [Ref 2: pg. 763-766] 6.2.3 Propagation of Privileges [Ref 2: pg. 763-764] 6.2.4 Role Based Access Control [Ref 2: pg. 770] 6.3 Mandatory Access Control [Ref 2: pg. 766-769] 6.4 Statistical Database Security [Ref 2: pg. 772-773]

7. Database design process (12hrs.) o Describe the steps in the database development life cycle and their interrelationships. o Demonstrate how information needs that occur frequently in businesses can be addressed by using these data modelling concepts. o Map conceptual model into relational schema. 7.1. Database Design Approach (2hrs.) 7.1.1. Introduction: Benefits, Critical success factors, Where it fits into the application development process, Approach [Ref 1: pg.68-77; Ref 2: pg.49-53] 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.84-89; Ref 2: pg.49-57] 7.2. ER Concepts and Terminology (4hrs.) 7.2.1. The Role of ER Diagrams. [Ref 2: pg.69-74] 7.2.2. Three classes of objects: Entities, Relationships and Attributes. [Ref 1: pg.89-98; Ref 2: pg.53-68; Ref 3: pg. 331-342] 7.2.3. Entities: Entity, Entity instance, Subtype and Super-type Entities, Strong and weak entities, Generalization, specialization and aggregation. [Ref 1: pg.91-94, 108; Ref 2: pg.68-113; Ref 3: pg. 342-343] 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.95; Ref 2: pg.61-68; Ref 3: pg. 343] 7.2.5. Attributes: Identifying attributes, Attribute types (identifier, descriptor), Derived data, Domain, Composite attributes. [Ref 2: pg.53-60] 7.3 Mapping Conceptual model into relational schema (3hrs.) 7.3.1. Regular, weak, generalized and specialized entities, Relationship types, Multi-valued attributes. [Ref 1: pg.153-162; Ref 2: pg.191-205; Ref 3: pg. 360-367] 7.3.2. Resolve the conceptual data model; Redundant Relationships; Recursive Relationships; Resolving Relationships: 1:1, M:N. [Ref 2: pg. 191-205] 7.4 Attribute Specifications and Data types (3hrs.) 7.4.1. Attribute names, Naming conventions, Avoid Synonyms and Homonyms, Null Values, Entity integrity, Unique Requirement. [Ref 2: 57-60,127-132] 7.4.2. Categories of Data Types: Character, Numeric, Variable Character, Date, Serial, Money, Date-time, Interval. [Ref 1: pg.211-212; Ref 2: 212-213] 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 2: 212-216]

8. Data normalization process and the normal forms (06hrs.) o Translate a relational data model into efficient database structures, including knowing when and how to de-normalise the logical data model. o Demonstrate how relations can be normalised. The normalization process requires an understanding of first through fourth normal forms, functional dependencies and multi-valued dependencies. 8.1. Introduction to data normalization and normal forms [Ref 1: pg.146-152; Ref 2: pg.295-304; Ref 3: pg. 376-387] 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.146; Ref 2: pg.315-318; Ref 3: pg. 387-391] 8.2.1. 1NF, Why convert to 1NF, Conversion to 1NF; 8.3. Second Normal Form [Ref 1: pg.147-148; Ref 2: pg.318-319; Ref 3: pg. 391-394] 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.149; Ref 2: pg.319-320; Ref 3: pg. 394-396] 8.4.1. 3NF, Transitive Dependence, Why convert to 3NF, Conversion to 3NF. 8.5. Normalization considerations [Ref 2: pg 334-335,347-350,353-354,540-541; Ref 3: pg. 407-408] 8.5.1. Good and bad decompositions 8.5.2. De-normalization 8.5.3. Multi-valued dependencies, Join dependencies

3. BOOKS RECOMMENDED FOR READING AND REFERENCE MAIN READING Ref 1: Database Management and Design by G.W. Hansen and J.V. Hansen, 2 nd edition, Prentice-Hall of India, Eastern Economy Edition, 1999. OR Ref 2: Fundamentals of Database Systems by R. Elmasri and S.B. Navathe, 4 th edition, Addison- Wesley, Low Priced Edition, 2004. OR Ref 3: Database Systems by Thomas M. Connolly Connolly E.Begg, 3 rd edition, Low Price Edition, 2004. SUPPLEMENTARY READING (OPTIONAL) Ref 4: Database System Concepts by A. Silberschatz, H.F. Korth and S. Sudarshan, 5 th edition, McGraw-Hill, International Edition, 2006. 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 Database and J.A. Hoffer, Applications 6 th edition, Benjamin- Cummins (Narosa), 2002. Ref 7: A Guide to the SQL Standard, C.J. Date and H. Darwen, 4th edition, Reading, MA: Addison- Wesley, 1996. WEB REFERENCE Ref 7: http://vle.bit.lk/course/view.php?id=11 4. 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.