Database Design for Real-World E-Commerce Systems



Similar documents
2. An E-commerce Value Chain and Data Requirements

Data Warehousing Systems: Foundations and Architectures

AN E-COMMERCE SYSTEM MODEL

Unique promotion code

GOMEMBERS. GOMEMBERS OVERVIEW Membership driven solution to help you fulfill your mission.

E-Commerce Installation and Configuration Guide

Business Processes Meet Operational Business Intelligence

WebSphere Commerce and Sterling Commerce

CHAPTER 9: E-COMMERCE SOFTWARE

Chapter 1: Introduction

The Data Webhouse. Toolkit. Building the Web-Enabled Data Warehouse WILEY COMPUTER PUBLISHING

ONLINE ORDERING BOOK SYSTEM: A CASE STUDY IN MALAYSIA HIGHER INSTITUTE

Table of Contents. Introduction... 1 Technical Support... 1

ebusiness Web Hosting Alternatives Considerations Self hosting Internet Service Provider (ISP) hosting

E-Commerce Installation and Configuration Guide

Chapter 1: Introduction. Database Management System (DBMS) University Database Example

WebSphere Commerce V7 Management Center

Module 6. e-business and e- Commerce

How To Write A Web Site Software For A Large Business

What s new in Sage Evolution Version 6.81

Re Engineering Software Development Process for ebusiness Application Development

Enterprise Knowledge Platform 5.6

Chapter 10 Objectives. Chapter 10 E-Commerce: A Revolution in the Way We Do Business. What Is E-Commerce? What Is E-Commerce? What Is E-Commerce?

Chapter 9 Electronic Commerce Software

The features of GEPARD Ecommerce includes:

i-questionnaire A Software Service Tool for Data

Create e-commerce website Opencart. Prepared by : Reth Chantharoth Facebook : rtharoth@yahoo.

Case Study: Design and Implementation of an Ordering system using UML, Formal specification and Java Builder

The WebShop E-Commerce Framework

A Business Process Driven Approach for Generating Software Modules

E-commerce Shopping Carts Digital Cert. Merchants

Context, Architecture, Process, and Integration Diagrams

5.5 Copyright 2011 Pearson Education, Inc. publishing as Prentice Hall. Figure 5-2

Infor Rhythm for commerce E-commerce that s comprehensive, integrated, and beautifully-designed

ebusiness Web Hosting Alternatives Self hosting Internet Service Provider (ISP) hosting Commerce Service Provider (CSP) hosting

USER GUIDE - May 2010

Data Integration and ETL Process

SHOPPING APPLICATION FOR E-COMMERCE

AZOX PRODUCT OVERVIEW. Azox. Integrated E-Commerce

Modeling Web Applications Using Java And XML Related Technologies

Analyzing the footsteps of your customers

Kentico CMS 7.0 E-commerce Guide

WebSphere Commerce Overview for Vector IBM Corporation

MAGENTO CERTIFIED SOLUTION SPECIALIST EXAM. What is the difference between Omni Channel and multichannel retailing?

Passive RFID Solutions for Asset Tracking and Inventory Management

for Ecommerce Companies

MODULE 4: PURCHASE ORDER MANAGEMENT

E-commerce. Software. Two weeks ago. E-Commerce Web Sites- Purpose of e-commerce sites. E-Commerce Web Sites

MODULE 1: SALES ORDER MANAGEMENT. Module Overview

The Business Process Model

<Insert Picture Here> Oracle Retail Data Model Overview

TIM 50 - Business Information Systems

Advanced Order Management Module Hosted Ecommerce Service Module Help Document

MAS90, 3.7, Best Software, Inc.

Version Using Oracle Commerce Cloud Service Agent Console

Shop builder User s Guide. -

E-Commerce and the Entrepreneur

How To Manage Inventory In Commerce Server

CATALOG MANAGER DOCUMENTATION

Electronic Commerce. Chapter Overview

How to Use Oracle Account Generator for Project-Related Transactions

ecommerce User Guide LS Nav 2013 (7.1) Copyright 2014, LS Retail ehf. All rights reserved. All trademarks belong to their respective holders

Yo!Kart Multi-Vendor Marketplace. Features List

SYSTEM SETUP & ADMINISTRATOR GUIDE

Chapter 4. Learning Objectives. Learning Objectives. Building an E-commerce Web Site. Building an E-commerce Web Site: A Systematic Approach

INVENTORY MANAGEMENT

Chapter 6. E-commerce Marketing Concepts. Copyright 2009 Pearson Education, Inc. Slide 6-1

Microsoft Dynamics AX 2012 R2 New Features*

Multi-Store Order Management Desk. Multi-Level Product Catalog

Commerce, E-Commerce, and M-Commerce: What Comes Next?

E-Commerce. Version CDM SOFTWARE PART A3

Designing a Dimensional Model

E-commerce refers to paperless exchange of business information using following ways.

E-Procurement RFP # 194:0-12RPB Attachment B Process and Document Workflow Concepts June 15, 2000

Your guide to an integrated and holistic software solution for a dynamic business environment.

ECM 210 Chapter 6 - E-commerce Marketing Concepts: Social, Mobile, Local

Patterns for Internet shops

CRAFT ERP modules. Introduction

Electronic Healthcare Design and Development

Checkout FAQs. What are my Pay Now Button Options? These options define the end user experience of your buyers during checkout.

Dell E-Commerce guide for Skyward Users 1

Ignify ecommerce. Ignify ecommerce: Marketing and Promotions. Ignify ecommerce integrates with:

Swiss Post your e-commerce partner

PDA DRIVEN WAREHOUSE INVENTORY MANAGEMENT SYSTEM Sebastian Albert Master of Science in Technology

How To Import From Amazon On Kubana

Customer Login Search. Navigation

University of Gaziantep, Department of Business Administration

Release Notes WMR7.10. Created by ITA Dynamics

Microsoft RFID Platform Data Management. Christopher H. Short Microsoft Technology Center Director

Index. Terminology Pg. 2 Your Backend Pg. 3. Settings Pg. 5 Shipping methods Pg. 5 Tax settings Pg. 6 Store settings Pg. 7 SEO Settings Pg.

[MP2 TRAINING MANUAL]

E-Commerce: Digital Markets, Digital Goods

Sterling Business Intelligence

Case-study: SwissAir. The Internet Business. Case-study: SwissAir. Case-study: SwissAir. Summary. Summary

Magento Handbook. Client Name

Microsoft Small Business Financials. Small Business Center Integration

Distribution Training Guide. D110 Sales Order Management: Basic

AN OVERVIEW OF SYSTEMS ANALYSIS: SYSTEMS ANALYSIS AND THE ROLE OF THE SYSTEMS ANALYST. Lecture , Tuesday

WebSphere Commerce V7 Feature Pack 3

Marketplace Plug-in User Guide

Transcription:

Database Design for Real-World E-Commerce Systems Il-Yeol Song College of Inf. Science Technology Drexel University Philadelphia, PA 904 song@drexel.edu Kyu-Young Whang Department of EE CS Korea Adv. Inst. of Science Technology (KAIST) Adv. Information Technology Research Ctr (AITrc) Taejeon, Korea kywhang@mozart.kaist.ac.kr Abstract This paper discusses the structure components of bases for real-world e-commerce systems. We first present an integrated 8-process value chain needed by the e-commerce system its associated in each stage of the value chain. We then discuss logical components of a typical e-commerce base system. Finally, we illustrate a detailed design of an e-commerce transaction processing system comment on a few design considerations specific to e-commerce base systems, such as the primary key, foreign key, outer join, use of weak entity, schema partition. Understing the structure of e- commerce base systems will help base designers effectively develop maintain e-commerce systems. Introduction In this paper, we present the structure components of bases for real-world e-commerce systems. In general, an e-commerce system is built by following one of two approaches. The first approach is the customization approach using a suite of tools such as IBM s WebSphere Commerce Suite [Shur99]. For example, the Commerce Suite provides tools for creating the infrastructure of a virtual shopping mall, including catalog templates, registration, shopping cart, order payment processing, a generalized base. The second approach is the bottom-up development of a system in-house by experts of an individual company. In this case, the developer is manually building a virtual shopping mall with mix--match tools. In addition, a base supporting the business model of the e-commerce system must be manually developed. Whether a developer is using the customization or the bottom-up approach, understing the structure of e-commerce base systems will help the base designers effectively develop maintain the system. Our Copyright 2000 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering

paper is based on our experience of building real-world e-commerce base systems in several different domains, such as an online shopping mall, an online service delivery, an engineering application. The major issues of designing a base for e-commerce environments are [BD98, CFP99, KM00, LS98, SL99]: - Hling of multimedia semi-structured ; - Translation of paper catalog into a stard unified format cleansing the ; - Supporting user interface at the base level (e.g., navigation, store layout, hyperlinks); - Schema evolution (e.g., merging two catalogs, category of products, sold-out products, new products); - Data evolution (e.g., changes in specification description, naming, prices); Hling meta ; - Capturing for customization personalization such as navigation within the context. In Section 2, we present our view of a value chain needed by the e-commerce system its associated in each stage of the value chain. In Section 3, we first discuss logical components of e-commerce base systems. We then present the detailed base schema of an e-commerce transaction processing (ECTP) system discuss a few base design considerations specific to e-commerce systems. Section 4 concludes our paper with comments on the roles future developments of e-commerce base systems. 2 An E-commerce Value Chain Data Requirements An e-commerce value chain represents a set of sequenced business processes that show interactions between online shoppers e-commerce systems. A value chain helps us underst the business processes of e-commerce systems helps identify requirements for building operational base systems. Treese Stewart [TS99] show a four-step value chain that consists of Attract, Interact, Act, React. Attract gets keeps customer interest. Interact turns interest into orders. Act manages orders; React services customers. The fourstep chain could be considered as a minimal model for a working e-commerce system. In this paper, we present a more detailed value chain that consists of eight business processes. The new value chain integrates steps such as personalization, which is usually performed by a separate add-on product. Figure shows the integrated e-commerce value chain with the eight business processes, their goals requirements. Get keep customer interest Turn interest into orders Mix match for the customer needs Close the deal Goods services are paid Fullfill deliver Track orders resolve problems Filter mine Attract Interact Customize Transact Pay Deliver Service Personalize Advertising M arketting C atalog content management Customer profiles B-to-B, B-to-C, auction, exchange, etc. Real time transaction processing w ith credit cards, debit cards cybercash Shipping orders fullfillm ent Online customer service Web warehouse Figure : An e-commerce value chain with eight business processes. We call each phase of the value chain a business process in that it is important in its own right involves significant complexity. Each business process involves a set of interactions between online shoppers e-commerce systems for achieving particular objectives. Each business process will have different requirements based on underlying business models supported by an e-commerce system. For example, products, services users of e-commerce systems would be different whether the system supports B-to-B, B-to-C, auction, or exchanges. 2

A base designer must fully underst each business process identify the requirements needed to support each business process. 3 Database Schema for E-Commerce Systems 3. High-Level Logical Components A base schema for a real-world e-commerce system is significantly complicated. Figure 2 shows a package diagram that shows logical components of a typical e-commerce base. The diagram uses the notation of Package used in UML [BRJ99]. A package in UML is a construct that groups inter-related modeling elements. In Figure 2, each package contains one or more related tables. System Data ADs Promotion User Accounts, Sessions, Profiles Customer Service Feedback Price Agent Shopping Cart Order, Invoice, Payments Vendor- Specific Products Catalog Inventory Delivery Figure 2: A Package diagram with logical components of e-commerce systems. Package User Accounts, Sessions, Profiles (UASP) records login ID, password, demographic, credit card, customer profiles, usage history such as the total number of purchases, the total amount of payments, the total number of returns. The package holds customization, such as particular items to display, the amount of to display, the order of presentation, personalization, such as user purchasing behavior, statistical, reporting. The package could also be extended to include modules for capturing for clickstream analysis [KM00]. The UASP package also keeps various user types such as individual customers, retail customers, user subgroups, buyers, sellers, various affiliates, depending on the business model supported by the system. Package ADs Promotion involves tables that are related to advertising, promotion, coupons. The package tracks which promotions are associated with which sessions, which ADs are displayed in which sessions. Package Customer Service Feedback keeps tracks of customer feedback for each user order such as type, nature, status, responses. Package Price Agent contains about competitions for each product type. The package allows the system to search other online websites that sell the same products ranks the site names in the order of prices. Thus, the package may not exist if the site does not have any competitive sites in the same domain. Package Shopping Cart models a shopping cart inventory items in the shopping cart. Note that items in the shopping cart may or may not be actually ordered. Thus, the various states of the items must be kept track of. Package Order, Invoice, Payment (OIP) keeps track of actual orders that are transferred from a shopping cart. The package keeps track of individual order items, discounts, sale prices, commissions, taxes, cancels, 3

any changes in order states. The package also includes invoice history, payment history, credit card processing modules. Package Delivery includes shipping address, shipping methods charges. Packages Inventory, Catalog, Vendor-Specific Products are closely related. Vendor-Specific-Products hold the vendor products. Inventory lists all the items that are available for sale their associated tax. Catalog is a stardized model that integrates various vendor-specific products in a domain. Since one vendor could use different terminology format for the same product, Catalog protects the actual business model from the vendor-specific variations. Catalog plays a buffer between Vendor-Specific Products Inventory. Catalog also needs a dynamic catalog management module to accommodate new vendors new products that were not considered in advance. Thus, actual implementation of the program is done against Catalog Inventory. Our experience shows that developing a proper schema for Catalog for a domain is most time-consuming complex. Package System Data holds various system parameters such as server configuration access control parameters. 3.2 Schema for E-commerce Transaction Processing Systems (ECTP) In this section, we present a base schema for an e-commerce transaction processing (ECTP) system that sells inventory items. Figure 3 shows the ECTP schema includes some portions from UASP, Order-Invoice- Payment, Shopping Cart, Inventory, Delivery packages. Even though a real-world schema would be much more complicated than the one shown in Figure 3, the schema illustrates a few interesting design considerations in e-commerce environments. The detailed schema will be different depending on the business rules models supported by the site. Note that Figure 3 uses the UML notation. In order to create a relational schema from Figure 3, we need to add the primary key of the one-side to the many-side as a foreign key. The proper selection of the primary key is very important. For most tables, we use a system-generated primary (surrogate) key to avoid dependence on changes. Smart keys, which have embedded meanings, create dependency on those. Thus, changes in those cause changes in primary keys. All tables in Figure 3 uses surrogate keys. Note that in order not to lose any for the personalization procedure report generation, there are cases that we do not declare an attribute, which is the primary key of another table, as a foreign key. For example, table ORDER ITEM will capture attribute INV ITEM# from INVENTORY ITEM table in the relational schema. But we do not declare the attribute as a foreign key. Doing so will cause the referential integrity to be violated when the INV ITEM# in the INVENTORY ITEM table is deleted. When generating reports in this case, a join between ORDER ITEM INVENTORY ITEM must use an outer join, rather than a natural join, so that the report include the order item with the deleted product. In Figure 3, the relationship between Order OrderItem is one-to-many. In typical modeling situations, OrderItem is modeled as a weak entity of Order. Thus, the primary key of OrderItem will be a combination of Order# a sequence number of items within the order number. However, in this diagram, we created Order Item# as the primary key of OrderItem. Order# in OrderItem will simply be a foreign key, without being a part of the primary key of OrderItem. This allows the e-commerce system to easily flexibly hle individual order items independently of Order. If you want to count the number of times an item was placed in order, even if the order itself was cancelled, this technique becomes useful. On the other h, OrderItem History was modeled as a weak entity of OrderItem. In OrderItem History, the history of each OrderItem can be recorded separately. For every traceable entities that could have changes in states, there must be a weak entity that keeps track of the history of the state changes. This facilitates the hling of various customer supports at the lowest level of grain. These traceable entities in Figure 3 include User Account, Order, OrderItem, Invoice, Shipping, Payment. In Figure 3, we showed only OrderItem History Invoice History as weak entities. Invoice History is a weak entity of Invoice keeps track of all the changes 4

in states of invoices. Inventory Item -inv_item# : Number -title# : N um ber -price : Number Order Item -order_item# : Number -qty : N u m ber OrderItem History<<W>> -seq# : Number -am ount : N u m ber -notes : String Invoice History<<W>> -inv_state# : Number -state_desc : String -notes : String Shopping Cart -cart# : N u m ber -active? : Boolean -expire_on : Date Cart Detail -state : N u m ber -qty : N u m ber Order -order# : Number -order_date : Date -total_amt : Number Invoice -invoice# : Number -creation_ date : D ate shipping Shipping -shipping# : Number -ship_method : String -ship_charge : Number -ship_date : Date Payment -paym ent# : N um ber -am ount : N u m ber User Session -session# : N umber -IPAdd : String -#clicks : Num ber User Account -acc# : Number -ID : String -PW : String -#visits : N um ber -# trans : N u m ber -ttl_tr_ am t : N um ber Address Credit Card -address# : N umber -nam e : String -CC# : Number -add : String billing -CC_NUM : String -add2: String -holder_name : String -city : String -expire_date : Date -State : String -zip : N um ber <<W >> represents a weak entity towards the one-side entity. means many. Figure 3: A simplified base schema for e-commerce transaction processing. The relationship between Invoice User Session allows the system to compute the purchasing rate, which is the number of sessions that result in an invoice, eventually an actual order. The relationship between OrderItem Shipping allows the system to send individual order item to different shipping address. User Account has a few statistical attributes. Usually they are placed in a separate table. In Figure, we showed them in User Account for the lack of space. A typical real-world base schema for e-commerce systems are divided into multiple bases run by different base instances for several reasons. For example, a static schema such as catalog could be separated from a more volatile schema such as order processing. This multiple schema approach requires connecting those separated schemas when processing queries that need to concurrently access those schemas. Thus, this approach somewhat slows down the performance. However, there are many advantages such as better stability, maintainability, load balancing, security. 5

4 Conclusion In this paper, we presented an e-commerce value chain with eight business processes, logical components of e-commerce bases, the schema for an e-commerce transaction processing system. Most real-world e- commerce base schema will have a similar framework as we presented in this paper. Our experience shows that e-commerce tools can speed up the development, but still lack certain functionality such as partial orders, back orders, returns, email notification to users. Therefore, understing the structure of e-commerce base systems will help the base designers effectively develop maintain the system, regardless of the approach taken. From the base design point of view, an interesting research issue is what base structures are needed to support customization personalization most effectively. For example, how what do we need to capture to build a web warehouse [KM00] for personalization, then, how do we communicate with users of systems? The personalization process requires significant resources to capture clickstream user behavior patterns. Readers are referred to the reference [SL99] for a list of typical OLAP queries warehouse design in e-commerce environments. References [BRJ99] Booch, G., Rumbaugh, J., Jacobson, I., UML User s Guide, Addison Wesley, 999. [BD98] [CFP99] Buchner, A. Mulvenna, M., Discovering Internet Market Intelligence through Online Analytical Web Usage Mining, SIGMOD Record, Vol. 27, No.4, December 998, pp. 54-6. Ceri, S., Fraternalim P., Paraboschi, S., Design Principles for Data-Intensive Web Sites, SIG- MOD Record, Vol. 28, No., March 999, pp. 84-89. [KM00] Kimball, R. Merz, R., The Data Webhouse Toolkit, Wiley, 2000. [LS98] Lohse, G.L. Spiller, P., Electronic Shopping, Communications of the ACM, Vol.4, No.7, 998, pp. 8-88. [Shur99] Shurety, S., E-Business with Net Commerce, Prentice Hall, 999. [SL99] Song, I-Y. And LeVan-Schultz, K., Data Warehouse Design for E-Commerce Environments, Lecture Notes in Computer Science, Vol. 727, Springer, pp. 374-388. [TS99] Treese, G.W. Stewart, L.C., Designing Systems for Internet Commerce, Addison Wesley, 998. 6