What is a database? And how does it differ from a file system?

Assignment 2
Module 1 – Case
Data, Database, Database Management System, and Relational Database Modeling
Case Assignment
Case assignment in this module consists of two parts:
Part A:
After you’ve read through the articles and related materials, think about their content carefully and compose a short (3- page) paper on the topic:
An Overview of Database and Database Management System
Part A Assignment Expectations
You should include the following topics in your discussion, not necessarily in the same order:
What is a database? And how does it differ from a file system?
What is a database management system? And why is it needed?
What are the advantages of DBMS?
What are the advantages and disadvantages of RDBMS and ODBMS?
What issues should be considered when choosing a database and a DBMS?
What are the roles of a database and a DBMS for an organization’s information system?
Part B:
You will install Oracle database 11g express edition and SQL developer to your computer, validate your installation, and write a short 3–page paper with screenshots of your download. To work on this assignment, you will need to first reading the following materials:
Oracle Express Installation Guide (2011).
Oracle Express Getting Started Guide (2011).
And then download SQL developer at http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html. Make sure you download the zip file that includes the JDK1.6.0_35.
In the end, learn how to connect to Oracle database using SQL developer.
Alternative assignment
For students who are not able to download software due to access restrictions:
Write a 2- topage paper (excluding cover page and references) comparing features and characteristics of various types of DBMS (Oracle, Access, and MySQL).
Part B Assignment Expectations
Successfully install Oracle database 11g express edition and Oracle SQL developer to your computer.
Describe your experience with the installation.
Open the sample database HR, make screen shots of the database, and copy them into your paper.
Open the HR database, describe what information you see there using the terms introduced in this module, such as table, schema and key. Describe the tables in the HR database.

Assignment 3
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:
Current inventory status of books and CDs
Sales Transactions List
Monthly Profit Report
Inventory Status Query by Product
Sales Transactions that each employee has processed
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 12, 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
Analyze a domain and define data requirements.
Discuss how to identify the kinds of data required.
Communicate effectively with your audience.
Assignment 4
Module 2 – Case
Entity-Relationship Model and Database Design
Apply what you learned in the following exercise:
Tables in an Electronics Store
A fairly large local electronics store contracts with you to develop a database system for them. Your first task is to design a table for the store’s employees.
Even many of the most experienced designers “sketch” a design on paper before they start creating the database in electronic form.
Please “sketch” an employee table (basically what data items or columns should be included in the table) using the template below as a model.
The CEO of the store tells you that the following information must come from the table.
List/display of all employees showing social security number, first and last name, address, city, state and zip code, birth date, full-time or part-time status, salary (hourly rate) and date of hire.
The total number of employees.
List/display of all employees making more than a certain hourly rate, say $20 per hour.
List/display of all employees hired within a time period, say last year.
“Template” for Employee’s Table
EMPLOYEE TABLE

Social Security Number

The data items that belong in a table are a function of the information that has to come out of the table. Therefore, the determining factor is the information requirements that have been given to you.
This is your assignment:
Part I
Enter the data items in the column headings in row one that you believe should be in this table. In doing this, you are actually designing the table.
Paste your table into a document.
Go to Part II below and complete the assignments there.
HINTS for Part I:
You need not be concerned with the rows (except for row one, of course).
The first column of the table is the Primary Key (social security number). This has been filled in to give you a start.
Match what’s in your table to the information requirements to make certain all data has been included.
Totals that are derived from the table through computation do not have to be carried in the table.
Part II (Required)
Your work is so good that the electronics store contracts with you to do additional work for them. Your next task is to design two tables that relate to one another. These tables are: the Customer table and the Sales Order table.
The Customer table contains the basic data on each customer, and the primary key is the customer number. There is one row for each customer.
The Sales Order table contains the data for each sale. The primary key consists of two pieces of data: sales order number and customer number. There can be one or more sales orders for a customer, but only one customer on a sales order.
Use the templates below to design the two tables.
“Templates” for Table Design
Customer Table

Sales Order Table

Case Assignment
Entity-Relationship Modeling
Fill in the column headings in row one of each table with the data items you believe belong in the table.
Cut and paste your tables into the same document from Part I.
Suppose the Sales Order table also contains information for an employee who makes a sale. Draw an ERD of your complete design for the electronic store. If you have an ERD drawing tool such as Visio, you could draw the diagram using the tool and copy it into your document. You could also draw it on paper, scan it, and insert it into your document. If you can’t do either of the above, you could write down the table schemata and describe the relationships among them.
Submit the document. Make certain the table title, course number, and module and Case ID are on the work you submit.
Describe the major points you learned in the readings especially on entity-relationship modeling and what lessons you have learned in this exercise. (at least half a page).
HINT: Search the Internet to find help either in the form of examples or similar problems or tutorials.
Assignment Expectations
Design tables based on domain requirements.
Represent database design using ERD.
Communicate effectively with your audience.
Assignment 1
Module 2 – SLP
Entity-Relationship Model and Database Design
SLP Assignment
Improving Database Design Through Entity-Relationship Modeling
The purpose of this SLP assignment is to refine database design using ER modeling principles. You are required to continue working on the project started in the previous SLP and do the following:
Identify all relevant entities and relationships.
Use ER diagrams to present them.
When you have finished, place them into a Word document.
SLP Assignment Expectations
Improve existing database design using entity-relationship modeling methods.
Communicate effectively with your audience.
Assignment 5
references and in text citations
Discussion (150 words)
Entity-Relationship Model and Database Design
Explain why the entity relationship (ER) model is useful. How has it helped to produce a more structured relational database design environment?
Referencing materials
Module 2 – Background
Entity-Relationship Model and Database Design
Data Modeling is the process of creating a data model for a given set of data, and it is a major part in software development. The way data is modeled is very important for how it can be accessed and manipulated using SQL.
The dominant design methodology for relational databases consists of three steps:
Identify all relevant entities and relationships, and describe them using ER diagrams.
Convert the ER model to a number of relation schemas.
Eliminate (or reduce) redundancy by splitting relations. This process is called normalization.
In most cases, an entity can be identified uniquely in its entity set by the values of its attributes. A relationship in the ER model is exactly the relation in the relational data model.
Entity sets correspond to the domains of the values.
Tuples correspond to connections between entities.
Relationship instances form a table, like relation instances.
In our Books example from Module 12, books and authors are two entity sets. Each tuple (book, author) corresponds to a connection between two specific entities in the sets. Books and their author relationships form the table below.

Books Authors
The Lost Symbol Dan Brown
Superfreakonomics Steven Levitt and Stephen Dubner
Lego Star Wars Simon Beecroft
… …
Good data modeling can be difficult because there may be many data models to choose from. The following design principles can be useful when considering a design:
Be faithful to the specification of the application.
Avoid duplication and other redundant information.
The KISS principle (Keep It Simple, Stupid).
Choose the right relationship.
Use attributes when possible.
Read through the slides for Module 2, and make sure you understand the core concepts introduced there, mainly the entity relationship diagram and its components: entities, attributes, and relationships.
Common Database Design Mistakes
Neophyte database designers (and professionals, on occasion) are prone to several common mistakes. Here’s a checklist to ensure that you haven’t made any of the most common database design errors.
Spreadsheet design. If you need a spreadsheet, use a spreadsheet. Your database shouldn’t be a single table of all sorts of business data, especially if it included a number of calculated values. Combining different types of data in one table defeats the whole purpose of using a relational database. And while storing calculated values can speed up query and report performance, databases generally calculate values on the fly so the data is always as current as possible.
Too much data. The goal of a successfully designed database is to provide all of the information necessary for making decisions based on the data. There is an overwhelming desire, especially in neophytes, to encapsulate every possible nugget of data in the database. Too many fields in an entry form guarantee users will lose interest in filling in the data or will increase the amount of time to fill out the form. Plus this information increases the overall storage requirements for the database. Proper research can help identify what is essential, what might be useful in the future, and what is irrelevant.
Compound fields. Fields containing multiple discrete pieces of data lead to problems in searching, alphabetizing, and calculating those fields. It’s much harder to get a report of customers by ZIP code when that value is buried in a field with the address, city, and state. If it’s a distinct piece of data, make it a distinct field.
Missing keys. Every table needs some sort of key to identify individual records. Most database packages alert you if you leave one out during the design process, but if you use your own system (such as a flat file system), make sure there is a distinct and unique key for each record in each table.
Bad keys. A key has to be unique for each record. Existing database fields may appear to be good candidates for keys, but it is usually best to create an artificial key that is guaranteed to be unique. Phone numbers seem like a great key for personnel records until you run into people who live in the same home or who have multiple phone lines.
Missing relations. If two tables are supposed to be related, there must be a field that relates the two databases. A well-designed table relationship is useless if the appropriate foreign keys are not added to the related tables (or if the linking table for a many-to-many relationship is not created).
Unnecessary relationships. Just because every table can be linked to every other table does not mean that they have to be related. There is a temptation to relate tables that are logically unrelated just because you can.
Incorrect relations. Creating relationships between tables does not require changes in each table. A one-to-many relationship requires the primary key from the “one” table to be inserted as a foreign key in the “many” table. It does not need a foreign key placed in the “one” table since the relationship is already established in the “many” table. In fact, this arrangement may yield incorrect query results.
Duplicate field names. DBMS products prevent duplicate field names in a single table, but do not prevent duplicate names in different tables. While there is no programmatic reason to follow this practice, it becomes very difficult for humans to keep track of 15 relational tables where the primary key in each is called ID. It is much easier to write and debug queries if each field name is unique in the entire database.
Cryptic field and table names. Even more frustrating than duplicate names are cryptic names. There is no reason to limit the length of a field or table name, so use as descriptive a name as possible. Writing queries and debugging are much easier when the focus is the logic and not what “T1C1x” means.
Missing or incorrect business rules. Many businesses have strict rules that have nothing to do with program or database logic. Do not neglect these rules. The old adage of “garbage in, garbage out” applies since decisions made on incorrectly entered data may lead to erroneous query results and reporting.
Missing or incorrect constraints. A very easy way to ensure that data are entered correctly is to use constraints. These can be implemented as checks to see if an entered value is within an approved list or range of choices. Constraints can also be implemented as masks that require phone numbers or ZIP codes to fit a specified format.
Referential integrity. Data records that participate in relationships need to be checked when they are created or deleted to ensure that they are not orphans. Deleting one record usually requires the deletion of that record in linked tables. Ensuring referential integrity involves making sure that table declarations ensure the existence of the appropriate relationships and that integrity checks are triggered when records are deleted.
Database security. Almost all databases have methods to control access and user rights. For instance, end users of an invoice system probably should not have permission to create new tables or delete existing tables. Use the available security features to prevent unauthorized access and control permissions of various users and classes of users.
International issues. As business becomes more global, keep in mind that there are a number of formats for business data other than those of the United States. Most databases understand the various European and American date, currency, and address formats so think about whether your application will need to understand those as well.
Required Reading
PowerPoint Presentation: Entity-Relationship Model and Database Design
Allen, S. and Terry, E. (2005), Beginning Relational Data Modeling, Chapter 3 – Understanding Relational Modeling Terminology (read the remaining sections from Relationships), or from http://books.google.com/books?id=62CFtFea0NsC&printsec=frontcover&source=gbs_v2_summary_r&cad=0#v=onepage&q=&f=false.
Allen, S. and Terry, E. (2005), Beginning Relational Data Modeling, Chapter 4: Understanding Data Modeling Methods: Graphical Syntax, or from http://books.google.com/books?id=62CFtFea0NsC&printsec=frontcover&source=gbs_v2_summary_r&cad=0#v=onepage&q=&f=false.
Relational Database Design Requirements, http://www.databasedev.co.uk/database_design_requirements.html
Teorey, Toby J., Lightstone, Sam, Nadeau, Tom. (2006). Database Modeling and Design : Logical Design. Retrieved from Trident Online Library.

Module 1 – Background
Data, Database, Database Management System, and Relational Database Modeling
This module covers the following topics:
Why study database?
What is database?
The dominant design methodology
Relational database modeling:tuple and schemata
SQL – language for writing database queries
Why study database?
Let’s start with the question: Why study databases? As Dr. Rasmus Pagh 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 2, 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:
Identify all relevant Entities and Relationships, and describe them using so-called ER model notation.
Convert the ER model to a number of relations.
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

Place your order
(550 words)

Approximate price: $22

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Read more

Free-revision policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Read more

Privacy policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Read more

Fair-cooperation guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.

Read more