paper - Homework Market

advertisement
1. Identify the potential sales and department store transactions that can be stored within the
database.
Potential sales are estimated sales that could be achieved if all people living within a trade area
only shopped within the trade area. Actual (or estimated) sales are compared to potential sales to
determine a “surplus” or “leakage.” If actual sales exceed potential sales, a sales surplus exists. A
surplus implies either that (a) people travel from outside the trade area to shop or (b) people
living within the trade area consume more than would be typically expected given their income
levels. However, if actual sales are less than potential sales, the trade area suffers a sales leakage.
A leakage indicates that either (a) people living within the trade area shop outside the county or
(b) people living within the trade area consume less than would be expected given their income
levels. Department Store Database contains retail sales information gathered from store sales
transactions. The sale process begins when a customer brings items intended for purchase
(clothing, jewelry, home décor, etc.) to any store register. A Dillard's sales associate scans the
individual items to be purchased with a barcode reader. This populates the transaction table
(TRNSACT), which will later be used to generate a sales receipt listing the item, department, and
cost information (related price, sale price, etc.) for the customer. When the customer provides
payment for the items, payment details are recorded in the transaction table, the receipt is
printed, and the transaction is complete. Other tables are used to store information about stores,
products, and departments.
2. Design a database solution and the potential business rules that could be used to house the
sales transactions of the department store.
We should know that database Design focuses on identifying the data that need to be stored.
Late, queries can be selected to search the data, input forms to enter new data, and reports to
retrieve and display the data to match the user needs. For now the most important step is to
organize the data correctly so that the database system can handle it efficiently. When it comes to
sales transactions, all businesses deal with entities or objects, such as customers, products,
employees and sales. From a system perspective, an entity is some item in the real world that you
wish to track, that entity is described by its attributes or properties. For example, a customer
entity has a name, address, and a phone number. In modeling terms an entity listed with its
properties is called a CLASS. In a programming environment a CLASS can also have methods
or functions that it can perform, and these can be listed with the CLASS.
3. Evaluate all relationships of each entity within your database solution using the Crow’s Foot
notation. Include all data elements, entities, relationships (such as 1: M, 1:1, M: N, and
cardinalities for the department store database in your diagram. Note: The graphically depicted
solution is not included in the required page length.
The crow's foot notation was invented by Gordon Everest, who originally used the term "inverted
arrow" but now just calls it a "fork". For cardinality, a fork or crow's foot intuitively indicates
"many", by its many "toes “A person, place or thing about which we want to collect and store
multiple instances of data. It has a name, which is a noun, and attributes which describe the data
we are interested in storing. It also has an identifier, which uniquely identifies one instance of an
entity. Cardinality and Modality are the indicators of the business rules around a relationship.
Cardinality refers to the maximum number of times an instance in one entity can be associated
with instances in the related entity. Modality refers to the minimum number of times an instance
in one entity can be associated with an instance in the related entity.
Cardinality can be 1 or Many and the symbol is placed on the outside ends of the relationship
line, closest to the entity, Modality can be 1 or 0 and the symbol is placed on the inside, next to
the cardinality symbol. For a cardinality of 1 a straight line is drawn. For a cardinality of Many a
foot with three toes is drawn. For a modality of 1 a straight line is drawn. For a modality of 0 a
circle is drawn. This is an entity named DESK. We want to store information about several
desks. The information we want to collect and stores are the desk id, color of the desk, and desk
size. These are the attributes of the entity. Desk_id is the identifier. Given the id of a desk, we
would be able to seek out one specific desk, as no two would have the same id number. This is a
relationship named is assigned. It is shown by a line which normally connects two entities
together. No cardinality or modality has been assigned yet.
4. Research the Internet for best practices of how retail stores use databases for retaining
customers and increasing sales and complete the following:
a. Justify how Big Data tools could be used for forecasting sales and inventory of the department
store.
Big data tools and applications enable Marketing and Sales to spot changes in buyer behavior
and sales cycle patterns at macro and micro levels. Knowing that a buyer is about to disengage
from a sales cycle, based on past patterns of behavior, enables a sales manager to either quickly
disqualify the opportunity or get it back on track to win. Being able to spot a change in a sales
rep’s performance enables contextual coaching to be delivered when it can have the most impact,
in near real-time. That’s a more effective strategy than ‘one size fits all’ sales training or the
quarterly termination of the bottom ten percent of the sales force. Companies that manage by
focusing on changes in business patterns have a valuable early warning system; a core success
factor for social businesses. These companies are able to respond faster and smarter. Cloud9’s
new Intelligent Forecasting Suite includes tools to incorporate management judgment, multidimensional forecasting, and granular assessment of forecast risk. Marketing can use big data
tools to identify ways to improve marketing ROI by fine tuning alignment of content and
programs with changing buyer expectations. These same insights enable Marketing to teach sales
reps how to have more successful and informed conversations with prospects.
b. Propose two (2) SQL Store Procedures that use SQL functions to help sales associates perform
explanatory or predictive analytics.
The CREAT FUNCTION function name (argument IN data-type,…) RETURN data-type [IS]
BEGIN PL/SQL statements; … RETURN (value or expression);
For example, you could also use the QSL SUM function to return the name of the department
and the total sales in the associated department.
SELECT department, SUM (sales) as “Total sales”
FROM order_details
GROUP BY department;
Give your opinion on which of the two (2) ways you proposed in Question four (4) b provide
greater value to expanding their business within the region.
I will prefer the SQL SUM function for business purposes.
c. Provide a copy of your working SQL code as part of the paper.
SQL statements and stored procedures frequently use input parameters, output parameters, and
return codes. In Integration Services, the Execute SQL task supports the Input, Output, and
Return Value parameter types. You use the Input type for input parameters, Output for output
parameters, and Return Value for return codes.
5. Research the internet for database vendors that provide cloud computing services and
complete the following:
a. Estimate the types of costs involved or the pricing structure required when implementing a
cloud-hosted solution for a database.
Cloud-hosted applications and services may be very beneficial to service delivery or hosting
companies that build, host and deliver services. They also offer benefits to large enterprises that
generally consume hosted and cloud-based solutions. Companies such as Amazon, Google, Sales
force, SAP, and Microsoft are prominent public cloud providers. When it comes to the initial
costs of using cloud services it tend to be significantly lower than building on-premises IT
infrastructures. According to some studies, the saving could range from 35% to 55% depending
on company size, although more research is needed in this area. Because the Web service’s
usage is metered per volume and time utilization, consumers benefit from lower and flexible
pricing options. These options range from pay-as-you-go fixed pricing based on minimum levels
of service.
b. Analyze security considerations and pricing of the different cloud implementation types.
Cloud-hosted applications must implement strong security, using multiple defense levels that
complement one another to provide data protection in different ways, under different
circumstances, and against both internal and external threats. When planning a security strategy,
consider the following guidelines: Filtering is use as an intermediate layer between a tenant and a
data source that acts as a sieve so that it appears to the tenant that theirs is the only data in the
database. This is especially important if you use a shared database instance for all of your
tenants. Permissions is the using of access control lists (ACLs) to determine who can access data
in the application, and what they can do with it. Encryption is obscuring every tenant's critical
data so that it will remain unreadable to unauthorized parties, even if they manage to access it.
c. Rank the cloud services options of Software as Service, Platform as a Service and
Infrastructure as a Service in terms of functionality, mobility, and ability to provide distributed
transaction concurrency. Compare how these cloud-based services fit within an environment
where users are mobile. Determine the technical provisions that would be required to ensure data
integrity.
Software as a service (SaaS) puts most of the responsibility for security management with the
cloud provider and is commonly used for services such as customer relationship management
and accounting. This popular option is considered low-risk because it primarily deals only with
software and not hardware or storage. With SaaS, companies are able to control who has access
to these cloud services and how the applications are configured.
The complexity of software installation, maintenance, upgrades and patches, meanwhile, is
automated and handled by the provider.
Platform as a service (PaaS) is similar to SaaS but often includes further application-specific
software to help businesses create customized services. For example, a company using PaaS
could develop its own custom cloud software to perform some specialized task, whereas SaaS
offerings generally are provided as-is. Most PaaS offerings are multi-tenant, meaning that some
of the services may be shared with other companies. This means it is critical for companies who
use PaaS to have a well-defined trust relationship with the provider on security issues such as
access, source code distribution, navigation history, and application usage
With infrastructure as a service (IaaS), companies get a unified, scalable cloud package that
offers tighter control over many aspects of a traditional IT infrastructure than they do with SaaS
or PaaS. Companies using IaaS pay on a per-use basis to access services and applications, and
can also tap the operating system that supports virtual images, networking and storage
environments for additional control. Often, IaaS is offered as a private cloud, giving companies
complete internal control over access and security.
6. Evaluate whether the use of a distributed DBMS structure is appropriate and identify the
optimization techniques that should be factored in to enhance the operations of the database in
your design.
The use of a distributed Database Management Systems structure is actually appropriate, because
the DDBMS governs the storage and processing of logically related data over interconnected
computer systems in which both data and processing are distributed among several sites. The
Database Management Systems data are located near the site of greatest demand and data are
dispersed to match business requirements, it provide faster data access, new sites can be added to
the network without affecting the operations of other sites, it has less danger of single-point
failure, which means when one of the computers fails, the workload is picked up by other
workstations and data are also distributed to multiple sites, and the end user can access any
available copy of the data as well as end user’s request is processed by any processor at the data
location, etc. The DBA must be cognizant of the features of the DBMS in order to apply the
proper techniques for optimizing the performance of database structures. Most of the major
DBMSs support the following techniques although perhaps by different names. Each of the
following techniques can be used to tune database performance :Partitioning is breaking a single
database table into sections stored in multiple files, Raw partitions versus file systems is when
choosing whether to store database data in an OS-controlled file or not, Indexing is choosing the
proper indexes and options to enable efficient queries.
Denormalization is varying from the logical design to achieve better query performance,
Clustering is enforcing the physical sequence of data on disk, Interleaving data is combining data
from multiple tables into a single, sequenced file, Free space is leaving room for data growth,
Compression is algorithmically reducing storage requirements, File placement and allocation is
putting the right files in the right place, Page size is using the proper page size for efficient data
storage and I/O, and Reorganization is removing inefficiencies from the database by realigning
and restructuring database objects.
7. Provide at least two (2) examples of how lost updates and uncommitted data may occur,
keeping in mind that five (5) stores will be generating transactions.
We should know that lost updates is a concurrency control problem in which data updates are
lost during the concurrent execution of transactions. Uncommitted data is when you are trying to
achieve concurrency control, uncommitted data cause problems with data integrity and
consistency. These problems occur when two transactions are executed concurrently and the first
transaction is rolled back after the second transaction has already accessed the uncommitted data,
thus violating the isolation property of transactions. Lost updates problem may occur when two
concurrent transactions such as A1 and A2, are updating the same data element and one of the
updates is lost overwritten by the other transaction. For example, let’s look at this simple product
table; one of the table’s attributes is a product’s quantity on hand (PROD_QOH).
Let assume that we have a product whose current PROD_QOH value is 70, let assume that two
concurrent transactions, A1 and A2, occur and update the PROD_QOH value for some item in
the PRODUCT table.
Two Concurrent Transactions to Update QOH
Transaction Computation
A1: Purchase 100 units PROD_QOH = PROD_QOH +100
A2: Sell 30 units PROD_QOH = PROD_QOH - 30
The next table will show the serial execution of the transactions under normal circumstances,
yielding the correct answer PROD_QOH = 105.
Two Concurrent Transactions to Update QOH
Time Transaction Step Stored Value
1 A1 Read PROD_QOH 35
2 A1 PROD_QOH = 35 + 100
3 A1 Write PROD_QOH 135
4 A2 Read PROD_QOH 135
5 A2 PROD_QOH = 135 – 30
6 A2 Write PROD_QOH 105
Let assume that a transaction can read a product’s PROD_QOH value from the table before a
previous transaction has been committed, using the same product. The next table shows how the
lost update problem can arise.
Lost Updates
Time Transaction Step Stored Value
1 A1 Read PROD_QOH 35
2 A2 Read PRO_QOH 35
3 A1 PROD_QOH =35+100
4 A2 PROD_QOH = 35-30
5 A1 Write PROD_QOH (Lost update) 135
6 A2 Write PROD_QOH 5
For example, the phenomenon of uncommitted data occurs when two transactions A1 and A2 are
executed concurrently and the first transaction A1 is rolled back after the second transaction A2
has already accessed the uncommitted data thus violating the isolation property of transactions.
Using the same transaction during the lost updates, A1 has two atomic parts, one of which is the
update of the inventory; the other possible part is the update of the invoice total not shown. A1 is
forced to roll back sue to an error during the updating of the invoice’s total; it will rolls back all
the way, undoing the inventory update as well. At this time the A1 transaction is rolled back to
eliminate the addition of the 100 units, because A2 subtracts 30 from the original 35 units which
will result to 5.
Transactions Creating and Uncommitted Data Problem
Transaction Computation
A1: Purchase 100 units PROD_QOH = PROD + 100 (Rolled back)
A2: Sell 30 units PROD_QOH = PROD_QOH -30
The next table shows the serial execution of these transactions which yields the correct answer
under normal circumstances.
Correct Execution of Two Transactions
Time Transactions Step Stored Value
1 A1 Read PROD_QOH 35
2 A1 PROD_QOH = 35 + 100
3 A1 Write PROD _ QOH 135
4 A1 *****ROLLBACK***** 35
5 A2 Read PROD_QOH 35
6 A2 PROD_QOH = 35 -30
7 A2 Write PROD_QOH 5
The next table shows how the uncommitted data problem can arise when the ROLLBACK is
completed after A2 has begun its execution.
An Uncommitted Data Problem
Time Transaction Step Stored Value
1 A1 Read PROD_QOH 35
2 A1 PROD_QOH = 35 + 100
3 A1 Write PROD_QOH 135
4 A2 Read PROD_QOH
(Read uncommitted data) 135
5 A2 PROD_QOH = 135 -30
6 A1 *****ROLLBACK***** 35
7 A2 Write PROD_QOH 105
8. Determine the concurrency control factors that can be used to ensure valid execution of
transactions within the current multiuser environment.
To prepare you to deal with the problems posed by multiuser concurrent access to data, we
should review some of the basic concepts that relate to concurrency. The transaction is the
bedrock of data integrity in multiuser databases, and the foundation of all concurrency schemes.
A transaction is defined as a single indivisible piece of work that affects some data. All of the
modifications made to data within a transaction are uniformly applied to a database with a
COMMIT statement, or the data affected by the changes is uniformly returned to its initial state
with a ROLLBACK statement. Once a transaction is committed, the changes made by that
transaction become permanent and are made visible to other transactions and other users.
Transactions always occur over time, although most transactions occur over a very short period
of time. Since the changes made by a transaction aren't official until the transaction is committed,
each individual transaction must be isolated from the effects of other transactions. The
mechanism used to enforce transaction isolation is the lock. A database uses a system of locks to
prevent transactions from interfering with each other. Transactions can interfere with each other
by allowing one transaction to change a piece of data that another transaction is also in the
process of changing.
9. Research the Internet for backup and restoration recovery solutions and database security
threats that could be applicable to the department store. Upon your research, complete the
following: Securing the retail store computing environment has never been more important, or
more necessary, than it is today. Store technology is shifting from closed, proprietary systems to
open, flexible systems that allow greater and more meaningful interaction with the customer,
headquarters, and partners, as well as better control and understanding of store operations.
This shift is evidenced by the introduction of retail store technologies such as wireless
networking, store Internet access, multifunction point-of-sale (POS) devices, multi-channel
selling, customer kiosks, handheld devices, Voice-over-IP (VOIP), remote frequency identifiers
(RFIDs), and so on. Generally speaking, these technologies require more effort around security,
due to the nature of the applications they introduce and the functionality they expose.
Additionally, technology is providing lower cost operational alternatives, such as store-tocorporate network connectivity, that leverage public networks that expose retailers to additional
security threats, such as cyber-attacks. More evidence of this trend can be seen in a recent flurry
of headlines that describe the theft, both by employees and non-employees, of corporate and
customer data from the store environment, and theft from the corporate environment by using the
store as an entry point. Additionally, state legislation and industry regulations, such as Personal
Data Privacy and Security Act of 2005 (Specter-Leahy), California bill 700, and the Payment
Card Industry (PCI) Data Security Standard (DSS) adopted by Visa, MasterCard, and others,
have been enacted to ensure that retailers and other purveyors of customer data are responsible
for protecting customer data, and that they are held accountable for its theft.
a. Suggest at least two (2) options that could be made available to provide disaster management
functions for the database system within the retail environment.
Because the network is the primary means by which information is distributed and shared, it is
often a target for security breaches such as spoofing, man-in-the-middle, and denial of service.
The network is also the main vehicle for the transmission of malicious software (malware), such
as Trojans and worms, between hosts. Additionally, the introduction of wireless networking into
the retail environment has decreased the security of the network, and increased the complexity
required in order to secure it.
b. Assess the types of security threats that may exist when managing the department store
database and suggest measure(s) that can be performed to minimize these threats that are
particular to retail.
Standards bodies, regulators, and other organizations are commanding security requirements that
retailers will have to enforce in order to avoid penalties, such as those imposed by credit card
providers. Here are list of relevant security threats common to the retail industry: Applications
running under a shared, privileged account, Viruses, spyware, and other cyber-attacks, Wireless
spoofing, Data stolen on un-secure, un-managed mobile devices, credit card theft by both
hackers and employees, insecure stores that provide an easy entry into the corporate network,
physically insecure computers and networks that are an easy target. A common misconception
regarding the allocation of budget for securing the store is that it does not provide a clear return
on investment (ROI) for retailers. The reality is that security enables a company to meets its
business objective by providing a safe and secure environment that helps avoid the following:
Loss of revenue, Loss or compromise of data, Interruption of business process, Legal
consequences, Damage to customer and partner confidence, Damage to reputation. A more
secure retail store also enables easier and safer connectivity with customers and business
partners. Because many retailers have heterogeneous and legacy devices that are not easily
replaced, this document first outlines the general approach involved in securing the store. It then
identifies alternative methods based on cost, complexity, or other business decisions. Finally, it
outlines how Microsoft addresses these through its products. While this series provides specific
and prescriptive guidance for some of its security recommendations, retailers should treat these
recommendations as they would any project they choose to undertake. Proper understanding of
the technologies and concepts, analysis of the value gained and relevance to the retailer's
environment, and thorough planning, developing, and testing are all necessary prior to
implementing any recommendations in this guide.
Download