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.