Database Design Final Project



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

Introduction to Databases

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

IT2305 Database Systems I (Compulsory)

SYLLABUS FOR CS340: INTRODUCTION TO DATABASES

BCA. Database Management System

CMPT 354 Database Systems. Simon Fraser University Summer Instructor: Oliver Schulte

MySQL for Beginners Ed 3

IT2304: Database Systems 1 (DBS 1)

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

Scheme G. Sample Test Paper-I

SQL Server. 1. What is RDBMS?

Oracle 10g PL/SQL Training

Writing Queries Using Microsoft SQL Server 2008 Transact-SQL

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

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

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

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


DATABASE MANAGEMENT SYSTEMS. Question Bank:

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

DBMS / Business Intelligence, SQL Server

Module 1: Getting Started with Databases and Transact-SQL in SQL Server 2008

CS 649 Database Management Systems. Fall 2011

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

Database Design--from E-R Diagram to SQL Statement

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

Oracle Database 10g: Introduction to SQL

Exercise 1: Relational Model

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida

DATABASE DESIGN. - Developing database and information systems is performed using a development lifecycle, which consists of a series of steps.

ISM 4210: DATABASE MANAGEMENT

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

Oracle Database: SQL and PL/SQL Fundamentals

SQL SERVER DEVELOPER Available Features and Tools New Capabilities SQL Services Product Licensing Product Editions Will teach in class room

Writing Queries Using Microsoft SQL Server 2008 Transact-SQL

CPS352 Database Systems: Design Project

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

Databases What the Specification Says

Instant SQL Programming

Ursuline College Accelerated Program

Oracle Database: SQL and PL/SQL Fundamentals NEW

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

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

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

CMU - SCS / Database Applications Spring 2013, C. Faloutsos Homework 1: E.R. + Formal Q.L. Deadline: 1:30pm on Tuesday, 2/5/2013

ICAB4136B Use structured query language to create database structures and manipulate data

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

IINF 202 Introduction to Data and Databases (Spring 2012)

Oracle SQL. Course Summary. Duration. Objectives

SAMPLE FINAL EXAMINATION SPRING SESSION 2015

Oracle Database 11g SQL

2. Basic Relational Data Model

SQL Server 2008 Core Skills. Gary Young 2011

Course 20464: Developing Microsoft SQL Server Databases

Foundations of Information Management

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

SQL, PL/SQL FALL Semester 2013

Instructor: Michael J. May Semester 1 of The course meets 9:00am 11:00am on Sundays. The Targil for the course is 12:00pm 2:00pm on Sundays.

Oracle Database 12c: Introduction to SQL Ed 1.1

Developing Microsoft SQL Server Databases 20464C; 5 Days

1 File Processing Systems

JEFFERSON COLLEGE COURSE SYLLABUS CIS-236 SQL AND DATABASE DESIGN. 3 Credit Hours. Prepared by: Chris DeGeare CIS Instructor. Revised: 3/11/2013

Developing Microsoft SQL Server Databases (20464) H8N64S

INSTALLATION INSTRUCTIONS FOR THE STUDENT SAMPLE SCHEMA

Oracle Database Development Standards For DNR Staff and Contractors. Table of Contents

MS Designing and Optimizing Database Solutions with Microsoft SQL Server 2008

Developing Microsoft SQL Server Databases MOC 20464

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

æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.

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

Database Design and Database Programming with SQL - 5 Day In Class Event Day 1 Activity Start Time Length

Continuous integration for databases using

Oracle Database: Introduction to SQL

Oracle Database: SQL and PL/SQL Fundamentals

7.1 The Information system

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013

Chapter 2 Database System Concepts and Architecture

20464C: Developing Microsoft SQL Server Databases

Overview. Physical Database Design. Modern Database Management McFadden/Hoffer Chapter 7. Database Management Systems Ramakrishnan Chapter 16

Continuous integration for databases using Redgate tools

Oracle Database: Introduction to SQL

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

Performance Management of SQL Server

Syllabus CIS 64B - Summer Description

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML?

ATTACHMENT 6 SQL Server 2012 Programming Standards

Databases and BigData

CSCE 156H/RAIK 184H Assignment 4 - Project Phase III Database Design

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

The Evolution of an Advanced Database Course in an Information Systems Curriculum

Developing Microsoft SQL Server Databases

Implementing and Maintaining Microsoft SQL Server 2008 Integration Services

Data Modeling Basics

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

Design and Implementation

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

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

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

CHAPTER 6 DATABASE MANAGEMENT SYSTEMS. Learning Objectives

Transcription:

Database Design 2015-2016 Database Design Final Project مشروع قاعدة بیانات ھو مشروع على طول السنة لاعطاء الطلبة الفرصة لتطویر قاعدة بیانات باستخدام نظام ادراة قواعد البیانات التجاریة حیث یبین الجدول رقم ۱ الموجز لمراحل المشروع: Table 1. Summary of database design term project by phases Phase Description Output Due Phase I Project Initiation (10%) o Form project team Documentation o Problem Statement o Plan your project Phase II Conceptual/Logical Database Design (30%) o ER modeling Documentation o Mapping Relations o Normalization Phase III (15%) Physical Database Design/Implementation SQL statements & o Create Table and other objects Documentation o Data Insert o Formulate the queries Phase IV Application Develop and Demonstration (25%) o Application implementation System & o Final Documentation Documentation o Demonstration Peer Peer Review of Project Review o Evaluate your team Peer Review Form (20%) o Evaluate your team member Stages of the Projects Phase I [10%]: Project Initiation Step 1: Form Project Team This is a team project. Students should form groups of 3 or 4 members per team. After you form the team, each team should email to instructor (alaidi@uowasit.edu.iq) about members including name, contact, and project title (Just Title) before Phase I due. Then, instructor will assign team number to each team. By approval of instructor, your team can continue to the next step. Please, choose an interesting problem in you domain or area of interest/expertise which requires data modeling and support for a database management system (DBMS). The team number will be used for your submission and presentation. Step 2: Problem Statement (Chapter 7) After you choose the topic, write a detailed description of the application, such as the requirements of what data needs to be represented and captured. Some examples of the applications are here: Retail shop management: Video, Nail care, doughnut, etc. Human Resources Management System

Auto part shops Travel reservation system Inventory management in grocery store Online bidding system Not allow very popular topics: Library, Hospital, Video Rental, University, etc. More examples will be discussed in the classroom. Please, make sure the description is as detailed as possible. Otherwise, you have to revise this phase until you have all the details, and cannot proceed to the next phase. Step 3: Formulate at least 10 realistic queries (Chapter 7) The queries would be useful to somebody using the data. The queries must be realistic and you should have more than few complex queries. Note, the queries that the database system must be able to answer ultimately determine what information needs to be maintained in the database. For example, you need not include the information about best friends of students if no user of your database will be asking for that. On the other hand, some additional information, not reflected in your 10 queries, may be included in the database if you feel that somebody may be interested in it. Step 4: Specify the assumption about the database (Chapter 7) Here you talk about attributes, keys, the nature of relationships between entities, etc. Do not discuss something that is obvious (e.g., that a student can take several courses). In addition, don't make too many simplifying assumptions. [Submission guideline for Phase I] You should submit the full and legible report with a cover page that includes Team name, names of all members, the title of the project, and abstraction (brief description of the project). The body of Phase I documentation should include sufficient detail to describe all steps of Phase I: (Step1) Team Information: number, name, member, and so on (Step2) Problem Statement: description of your database (Step3) List at least 10 queries in English (Step4) Any assumptions In conclusion, describe what you have learned from the project, and what you need for the better project output. The Instructor may recommend modification or additions to the document submitted in Phase I. After revision phase I as recommended, in this phase, you can move to the next phase. Phase II [30%]: Conceptual / Logical Database Design Step 5: EER modeling (Chapter 7 and 8) Based on the Step 1 ~ 4 in the previous phase, in phase II draw an Enhanced Entity Relationship (EER) diagram for the problem you choose. This EER modeling should adhere to the principles taught in the course. It should also use the notation taught in the lecture and exercise lab. Entity

should have keys clearly identified and relationships should have the cardinality information. The resulting EER diagram should contain: At least 5 entities At least 5 relationships (1:1, 1:N, and N:M) Some attributes on relationships At least 1 Weak entity At least 1 Generalization/Specialization Step 6:Mapping to Relations (Chapter 9) Based on the EER diagram, you should convert the EER diagram into relations using the mapping steps mentioned in the lecture. Make sure the conversion identifies the primary key and foreign keys in all the relations. Identify other keys (candidate keys) in your relations Identify functional dependencies in your application and list them Step 7: Normalization (Chapter 15) In this step, you normalize your relations at least up to BCNF (Byce-Codd normal form) using the techniques discussed in the class. The functional dependencies (FDs) you listed in the Step 6 come in handy here. Step 8: Relational Algebra (Chapter 6) Formulate the queries in Step 3 using relational algebra. If, at this point, you are unable to state the queries in relational algebra, this is probably because your database is not powerful enough. Then, you must go back to step 2 and see how the database can be improved. [Submission guideline for Phase II] You should submit the full and legible report with a cover page that includes Team name, names of all members, the title of the project, and abstraction (brief description of the project). The body of Phase I documentation should include sufficient detail to describe all steps of Phase I: (Step5) ER diagram of the database (Step6) Relational database schema (including diagram) (Step7) For each relation schema, give the associated FDs and specify the normal forms the schema satisfies (Step7) Perform the decomposition into 3NF or BCNF and give the final database schema along with the FDs (Step8) Give the relational algebra expressions for the queries In conclusion, describe what you have learned from the project, and what you need for the better project output. Phase III [15%]: Physical Database Design/Implementation (Chapter 4, 5) In this phase, students should implement the database tables from the normalized set of relations created in the previous phase. Sample data should be supplied for each table. This phase is called as Physical database design.

Step 9: Creating DDL Script Filename: dbddl.sql Make a file containing the SQL statements that create your entire database schema, named dbddl.sql. This includes the tables with their constraints, view, indexes, triggers, and all other database objects if you have them. To keep the project consistent, make sure you have at least 8 tables. Make sure you have at least 2 database objects among trigger, function, procedure or view. Step 10: Creating DML Script Filename: dbdml.sql Make a file containing INSERT statements which populate the table created in Step 9, named dbdml.sql. This script will contain SQL commands to fill data in your data. Each table should have around 7 ~ 10 sample data. If needed, other DML statement, such UPDATE, and DELETE can be included here Step 11: Creating Drop Script Filename: dbdrop.sql Create a script that will drop all the objects you have created for your project including table, trigger, index, and etc.. This will be used to start from a clean state after some inserts and deletes have been added to your application to check the correctness of your queries. You should be able to clean everything through this script and re-create the database instance. Step 12: Creating SQL Script Filename: dbsql.sql Create a script with queries from the relation algebra in Step 7, named dbsql.sql. This script should contain at least 5 queries on your database. Use the comment facility in SQL*Plus (starting a line with --, or /* */ ) to write the English version of your query, followed by the SQL version of the query. Also show the expected output in the file. These queries need to satisfy the following: Should be at least join queries (some involving more than 2 relations) At least two of them should be aggregate queries including GROUP BY and HAVING clauses with ORDER BY clause as well At least one of them should have nested subquery The purpose of having you write these is to make you think about slightly complex scenarios on your database schema and have you write queries involving join, aggregation and nesting that you have learned in the class. [Submission guideline for Phase III] Before you submit, you should test all four SQL script files using SQL*Plus by giving the command SQL> @<filename> or SQL> start <Filename> Make a single zip file. Please, use the same file name as the Phase I. Then, You will submit your program To Instructor Email (alaidi@uowasit.edu.iq)

Phase IV [25%]: Application Develop and Demonstration (Chapter 13) Step 13: Application Development In this phase, you will develop a front-end application that will interface with your DBMS at the backend. The user will interact with the DBMS only through this interface. The GUI is not mandatory. However, the GUI will be used by the user to retrieve and update the database without having to write SQL queries. The interface will have a menu-driven input through which all interaction with the DBMS is accomplished. The results will be displayed to the user as well. The interface you develop should have the following features. The emphasis in grading phase of the project will be on the functionality and not on the GUI design. However, the GUI should be easy to understand and easy to use. Step 14: Project Presentation and Demonstration Sign up for a presentation (A sign-up sheet will be made available at the appropriate time by TA). The presentation will be during the last two weeks of the class, April 29 or May 1. Be prepared for the presentation to last about 20 to 25 minutes. Your presentation may include Introduction: team, title Executive summary of the project Bring along the graded EER diagram and relational mapping. (If you have made changes to these bring the latest copy as well). Key queries or transactions Demonstration. If your application needs setting up on our machine, make sure it can be done in as less time as possible by automating it using compilation scripts etc. If you are using some specific web servers or tools, you need to demo on your own laptop. Conclusion Your presentation should be prepared with MS PowerPoint file and practiced. The evaluation sheet of presentation will be posted on the class website. Step 15: Final Report and Project delivery Prepare the final project report including: Cover page (Same as Phase I) Phase I documentation. You need to revise it if needed Phase II documentation. You need to revise it if needed Sources of SQL scripts created in Step 9 ~ 12 System configuration of the project (usually system diagram) Sources of Applications generate in Step 13 Presentation file (PPT file format) In conclusion, describe what you have learned from the project, and what you need for the better project output. Put everything including documents, SQL file, and source files into CD-Rom. Then, submit it to GA during the demonstration. Neither hard-copy nor electronic submission are allowed. Only CR-ROM submission is allowed during the last class.

Peer Review [20%] The purpose of peer review is to assess the contributions made by project team members to their respective projects. For each person, including yourself, rate them in each category on a scale of 1 to 5. A rating of 3 should represent that they contributed adequately and/or proportionately in that category. Ratings of 4 or 5 should represent higher contributions and 1 and 2 represent lesser contributions. The average for a column must be equal to 3. The peer evaluations impacts 20% of entire project. The average value of your peer review is used to calculate part of your total score. For example, if your assignment is worth 100 points, 20 points is multiplied by your average score divided by 3. If you receive an average score of 3, then you would receive all 30 points. A rating of 0 may be used to indicate that the team member did not contribute in any manner. If a team member receives a 0 from all of his teammates, then that team member will not get credit for the assignment. The peer review form will be posted on the class website, and will be collected before the last day of class.