Ask DBMS Expert


Home >> DBMS

Homework

Module 1 - SLP

Data, Database, Database Management System, and Relational Database Modeling

The SLP Project in CSC316 spans from Module 1 to Module 4. You are required to apply what you have learned in previous modules to the assignment in the current module. That is, the Module 2 SLP is built on the Module 1 SLP assignment, and the Module 3 SLP is built on the Module 2 assignment, etc. Please follow the instructions below closely:

Problem Definition

A used-book store has been in business for over a month. The owners have been so busy that they have not had time to design and implement a computer-based system to track their operation. Their first priority is to develop a database management system to track inventory and sales information.

You are hired to design, program, and implement the system. You will be working on elements of this system in the rest of the SLP assignments in this course.

The owners provide you with the following facts:

• The bookstore sells used and hard-to-find books and CDs. Sales are for cash/check or credit card.
• The bookstore mainly caters to the needs of people living in the area.
• The bookstore maintains an inventory of books and CDs.
• Store sales are recorded at a Point-of-Sale (POS) terminal.
• When books are purchased by the store from individuals or organizations, the data are entered into the system.

The owners ask you to:

• Design a database to track inventory and sales information. The database should provide the following information:

1. Current inventory status of books and CDs
2. Sales Transactions List
3. Monthly Profit Report
4. Inventory Status Query by Product
5. Sales Transactions that each employee has processed
6. Any other output you think appropriate

This is the relevant data for the first month of operation. The owners have saved the information in an Excel file. You might want to take them into consideration when you design your database.

Inventory Data

Product ID

Product Name

Unit Price

Cost as
% of Price

Current
Inventory

Monthly
Purchases

40

Little Prince

$35

50%

20

3

42

War and Peace

$45

50%

14

2

44

The Emperor's New Clothes

$40

50%

12

0

46

For Whom the Bell Tolls

$35

50%

10

2

48

Pride and Prejudice

$25

50%

5

0

50

Pinocchio

$35

60%

5

0

52

Canterbury Tales

$40

60%

10

0

Sales Data

Trans ID

P.O. Number

Product ID

Trans Code

Date

Customer ID

Units Sold

Cashier

1

393432

42

2 (credit card)

1/10/15

4269

3

Jason

2

234321

40

2

1/11/15

8934

2

Mary

3

557842

50

2

1/12/15

5519

2

Jason

4

337891

46

1 (check)

1/14/15

6598

3

Berry

5

198142

48

2

1/14/15

1096

2

Berry

6

221244

40

1

1/15/15

4269

1

Jason

7

1112

40

1

1/18/15

3314

2

Amy

8

414125677

42

2

1/20/15

6539

2

Jason

9

2343112

46

2

1/24/15

4456

1

Amy

10

343411

40

1

1/28/15

5519

1

Mary

SLP Assignment

Please note: The SLP assignment in each module is built around this bookstore project, and each assignment is built on the previous one. By the end of this course, your report will need to satisfy all requirements of this project. In Module 1, your task is to:

• Discuss the type of data needed for such a system (attributes), the data types of these attributes, and data sources (where you might obtain such data, such as Point of Sale).

• Write a 2- page paper explaining how you would design the database system, focusing on the tables, attributes, and primary keys to address the requirements of the store owners. Do not be afraid of not getting it right the first time. You will be able to improve your design over the next few modules after you learn new DB concepts and principles.

To make your report easier to follow, it helps to list the tables you will develop and their associated attributes in the report.

SLP Assignment Expectations

1. Analyze a domain and define data requirements.
2. Discuss how to identify the kinds of data required.
3. Communicate effectively with your audience.

Module 1- Background

Data, Database, Database Management System, and Relational Database Modeling

This module covers the following topics:

1. Why study database?
2. What is database?
3. The dominant design methodology
4. Relational database modeling:tuple and schemata
5. SQL - language for writing database queries

Why study database?

Let's start with the question: Why study databases? As Dr. RasmusPagh of IT University of Copenhagen humorously put it, there are four reasons:

• Academic's reason: Databases touch upon many interesting topics in computer science.
• Programmer's reason: Need to use databases when programming applications.
• Information pilot's reason: Want to work with and extract information from large, changing data sets.
• Capitalist's reason: Everybody needs databases, so there is a lot of money to be made.

What is database?

A database is a shared and integrated computer structure that contains end user data (raw facts) and metadata (data about data). A Database Management System (DBMS) is a system for providing efficient, convenient, and safe storage of and multiuser access to (possibly massive) amounts of persistent data.

All major general purpose DBMSs are based on the so-called relational data model, which means that data is stored in a number of tables with named columns. For example, here's a table called "Books" showing the New York Times best sellers, it is represented with a relational data modeling.

Title

Author

publisher

category

list_price

...

The Lost Symbol

Dan Brown

Doubleday Books

Fiction

29.95

 

Superfreakonomics

Steven Levitt and Stephen Dubner

William Morrow

Nonfiction

29.99

 

Lego Star Wars

Simon Beecroft

DK Publishing

Children

21.99

 

...

...

...

...

 

...

Relational data modeling

A relational data model is a data model where all data takes the form of relations. A relation consists of tuples, where a tuple is an ordered list of values.

Tuple

An example of a tuple is:

(The Lost Symbol, Dan Brown, Doubleday Books, Fiction, 29.95)

Each relation has a set of attributes (or columns), with a distinct name within its relation (e.g., title, author, publisher, etc.). Each tuple (or row) in a relation has a value for each attribute. Each attribute has a type (e.g., varchar, float, etc.). Relations are usually written as two-dimensional tables, with the attributes as the first row, and the tuples in the remaining rows. A database contains a set of relations (or tables), each with a distinct name.

Schemata

Schemata are used to describe relations in the relational data model. A schema has two parts:

• The name of the relation
• A tuple with its attributes (plus sometimes also the attribute data types)
• For example, the above relation can have the schema:
• Books (title, author, publisher, category, list_price)
• The actual contents (tuples) of relations are called instances.

A key for a relation is a set of attributes such that no two tuples can have the same values for all of their key attributes. Keys are useful in the following ways:

• Key values identify specific tuples.
• The system may build special indexes over key values.
• Other tuples may use key values as logical "pointers."
• Specify keys by underlining.

Read through the slides for Module, and make sure you understand the core concepts introduced there, including the relational model, table, schema, and key.

In this module, we will download Oracle Express 11g and SQL developer. So what is the connection between these two? SQL developer is a client program that Oracle developers use access Oracle database, and to write and debug their SQL and PL/SQL code. In many ways, SQL developer's function is similar to SQL* Plus. The difference is that SQL developer has a user friendly interface whereas SQL* Plus works in command prompt mode. All the SQL statements you can write using SQL developer can be written using SQL*Plus. You do not need to download SQL*Plus if your computer runs Windows since it is part of the package. To test it, click on Using SQL *Plus.

Dominant design methodology

The dominant design methodology for relational databases consists of three steps:

1. Identify all relevant Entities and Relationships, and describe them using so-called ER model notation.
2. Convert the ER model to a number of relations.
3. Eliminate (or reduce) redundancy by splitting relations. This process is called normalization.

SQL - language for writing database queries

The language for writing database queries is SQL (Structured Query Language, sometimes pronounced "sequel"). For example, the SQL to get the book title written by Dan Brown from the above table is:

SELECT title

FROM Books

https://cdad.trident.edu/Admin/coursedev.aspx?course=392&term=106&mod=1&page=bkgWHERE author='Dan Brown';

The SQL to get all books that cost less than $30 is:

SELECT *

FROM Books

Where list_price< 30;

SQL is based on a mathematical formalism called relational algebra and has the general form of SELECT-FROM-WHERE. We will introduce more SQL in later modules

There are many database management systems in the market (e.g., Access, IBM DB2 Express-C, Apache Derby, MySQL, and Oracle) that are based on relational data modeling. Any of them can be used to learn database. According to Gartner report, Oracle had the No. 1 worldwide RDBMS market share in 2012. Learning Oracle will give students a valuable skill set in the job market. Therefore, Oracle will be the teaching tool in this course. Oracle has a line of database products: Standard edition one, standard edition, enterprise, express edition, and personal edition. The next question is which one to choose? Since Oracle express has all the important features of DBMS, can be downloaded fast and upgraded easily to other products, we will be using Oracle Express 11g in this course.

Read through the slides for Module 1 and get a basic understanding of the core concepts introduced there: data, database, data model, and database management system. We will go into greater detail about these concepts in the rest of this course. (Note: pictures used in the slides for this course are from Peter Rob and Carlos Coronel, Database Systems: Design, Implementation, and Management, published by Thomson Course Technology).

Required Reading

PowerPoint Presentation: Module 1: Data, Database and Database Management Systems

Greenspun, P. (2011). SQL for Web Nerds, Chapter One: Introduction (read until "How does this RDBMS thing work?") http://philip.greenspun.com/sql/introduction.html

Greenspun, P. (2011). SQL for Web Nerds, Chapter Two: Data Modeling. http://philip.greenspun.com/sql/data-modeling.html

Allen, S., & Terry, E. (2005). Beginning Relational Data Modeling. Chapter One: Understanding and Organizing Data: Past and Present. http://books.google.com/books?id=62CFtFea0NsC&printsec=frontcover&source=gbs_v2_summary_r&cad=0#v=onepage&q=&f=false.

Ullman, J., &Widom, J. (n.d.) A First Course in Database Systems, Chapter 1: The World of Database Systems. http://infolab.stanford.edu/~ullman/fcdb/ch1.pdf

Grehan, D. (2005). "When to Use an ODBMS." http://www.odbms.org/introduction-to-odbms/when-to-use-an-odbms/

Obasanjo, D. (2001). "An Exploration of Object Oriented Database System." http://www.25hoursaday.com/WhyArentYouUsingAnOODBMS.html

Attachment:- Assignment.rar

DBMS, Programming

  • Category:- DBMS
  • Reference No.:- M92242504

Have any Question?


Related Questions in DBMS

Data mining assignment -in this assignment you are asked to

Data Mining Assignment - In this assignment you are asked to explore the use of neural networks for classification and numeric prediction. You are also asked to carry out a data mining investigation on a real-world data ...

Sql query assignment -for this assignment you are to write

SQL Query Assignment - For this assignment you are to write your answers in a word document. This assignment is in three parts: Part A (reporting queries), Part B (query performance), Part C (query design). For this assi ...

The groceries datasetimagine 10000 receipts sitting on your

The groceries Dataset Imagine 10000 receipts sitting on your table. Each receipt represents a transaction with items that were purchased. The receipt is a representation of stuff that went into a customer's basket. That ...

You are in a real estate business renting apartments to

You are in a real estate business renting apartments to customers. Your job is to define an appropriate schema using SQL DDL in MySQL. The relations are Property(Id, Address, NumberOfUnits), Unit(ApartmentNumber, Propert ...

Objectivethe objective of this lab is to be familiar with a

OBJECTIVE: The objective of this lab is to be familiar with a process in big data modeling. You're required to produce three big data models using the MS PowerPoint software. This tool is available on UMUC Virtual Deskto ...

The relation memberstudentid organizationid roleid stores

The relation Member(StudentId, OrganizationId, RoleId) stores the membership information of student joining organization. For example, ('S1', 'O2', 'R3') indicates that student with Id 'S1' joined the organization with i ...

Relational database exerciseyou have been assigned to a new

Relational Database Exercise: You have been assigned to a new development team. A client is requesting a relational database system to manage their present store with the anticipation of adding more stores in the future. ...

Relational database design a given the following business

Relational Database Design A) Given the following business rules, identify entity types, attributes (at least two attributes for each entity, including the primary key) and relationships, and then draw an Entity-Relation ...

We can represent a data set as a collection of object nodes

We can represent a data set as a collection of object nodes and a collection of attribute nodes, where there is a link between each object and each attribute, and where the weight of that link is the value of the object ...

Data model development and implementationpurpose of the

Data model development and implementation Purpose of the assessment (with ULO Mapping) The purpose of this assignment is to develop data models and map Database System into a standard development environment to gain unde ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As