Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 98 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
98
Dung lượng
1,43 MB
Nội dung
P1: IML/FFX P2: IML/FFX QC: IML/FFX T1: IML SQL˙OLE WL040/Bidgolio-Vol I WL040-Sample.cls June 20, 2003 13:16 Char Count= 0 DDL 359 that are stored in different tables—such as salaried em- ployee wages and hourly employee wages. It makes no sense to have number of tickets and ticket price joined via a union, but SQL will probably allow it because they are both numeric columns. The syntax is: select statement 1 UNION select statement 2 Minus The minus operation, also directly ported from set the- ory, removes matching rows from multiple result sets. This is useful in determine what is different between these results—or “what didn’t sell while it was under a promo- tion.” The syntax is: select statement 1 MINUS select statement 2 DDL Create Table The create table statement allocates storage for data to be stored. This storage has a structure (columns with datatypes) and optional constraints defined. Once the ta- ble is created, the table is ready to receive data via the INSERT statement (see below). The syntax is straightfor- ward: create table <TABLE_NAME> ( <column_element> | <table_constraint> ) For example, to create the movie table located in Ap- pendix A, the following syntax was used: CREATE TABLE MOVIE ( MOVIE_ID NUMBER NOT NULL, MOVIE_TITLE VARCHAR2(50) NOT NULL, INVENTORY_ID NUMBER NOT NULL, MOVIE_RATING CHAR(5) NOT NULL, PASS_ALLOWED CHAR(1) NOT NULL); Keys When a database is modeled using entity–relationship techniques, identifying attribute(s) are identified for all fundamental entities (tables), along with those attributes that relate two or more tables. The identifying attribute(s) uniquely distinguish one row of data from all others in the table. In SQL these identifying attribute(s) are identified to the database engine as a primary key. Many database engines use this information to enforce the uniqueness property that is inherent in the definition. Attributes that tie relations together are known as foreign keys. Keys can be identified either when a table is created (with the create table command) or after (via the alter table command). Create Index The create index statement allows the database engine to create an index structure. An index structure provides a mapping to data in a table based upon the values stored in one or more columns. Indexes are used by the database engine to improve a query’s performance by evaluating the where clause components and determining if an index is available for use. If an index is not available for use during query processing, each and every row of the table will have to be evaluated against the query’s criteria for a match. The syntax is not part of the SQL language specification (Groff & Weinberg, 1999, p. 387) though most DBMSs have a version of the create index statement. For example, to create an index on the MOVIE TITLE of the movie table located in the Appendix, the following syntax was used: create index MOVIE_NAME_IDX on MOVIE (MOVIE_TITLE); Create View “According to the SQL-92 standard, views are virtual ta- bles that act as if they are materialized when their name appears” (Celko, 1999, p.55). The term virtual is used because the only permanent storage that a view uses is the data dictionary (DD) entries that the RDBMS defines. When the view is accessed (by name) in a SQL from clause, the view is materialized. This materialization is simply the naming, and the storing in the RDBMS’s temporary space, of the result set of the view’s select statement. When the RDBMS evaluates the statement that used the view’s name in its from clause, the named result set is then referenced in the same fashion as a table object. Once the statement is complete the view is released from the temporary space. This guarantees read consistency of the view. A more per- manent form of materialized views is now being offered by RDBMS vendors as a form of replication, but is not germane to this discussion. The syntax for creating a database view is below: create view <name> [<column list>] as <select statement> The power of a view is that the select statement (in the view definition) can be almost any select statement, no matter how simple or complex—various vendors may disallow certain functions being used in the select state- ment portion of a view’s definition. Views have proven to be very useful in implementing security (restricting what rows and/or columns may be seen by a user); storing queries (especially queries that are complex or have specialized formatting, such as a report); and reducing overall query complexity (Slazinski, 2001). Constraints Constraints are simple validation fragments of code. They are (from our perspective) either the first or last line of defense against bad data. For example, we could validate that a gender code of “M” or “F” was entered into an em- ployee record. If any other value is entered, the data will not be allowed into the database. P1: IML/FFX P2: IML/FFX QC: IML/FFX T1: IML SQL˙OLE WL040/Bidgolio-Vol I WL040-Sample.cls June 20, 2003 13:16 Char Count= 0 STRUCTURED QUERY LANGUAGE (SQL)360 Domains A domain is a user-created data type that has a constrained value set. For our movie example we could create a movie rating domain that was a 5-character data type that only allowed the following ratings: {G, PG, PG-13, R, NC-17, X, NR}. Once the domain was created, it could be used in any location where a predefined data type could be used, such as table definitions. Not all database vendors support the creation and use of domains; check the user guide for information and syntax specifications. DCL SQL’s DCL is used to control authorization for data ac- cess and auditing database use. As with any application with Internet access, security is a prime concern. Today’s RDBMSs provide a host of security mechanisms that the database administrators can use to prevent unauthorized access to the data stored within. Granting Access to Data By default, in an enterprise-edition RDBMS, the only user who has access to an object (table, index, etc.) is the user who created that object. This can be problematic when we have to generate a report based on information that is stored in tables that are owned by other users. Fortunately, the solution is the grant statement. The syntax is grant <access> on <table> to <user>; One drawback to the grant statement is that it re- quires a grant statement for every user–object–access level combination—which can be a challenging task in a large enterprise where data security is critical. Accounting departments usually want a high degree of accountability from those individuals who have access to their data. De- pending on a database’s implementation, there may be mechanisms in place to help ease the burden of security management. DML Inserting Data Syntax: insert into <table> (column {[, column]})) values (<value> | <expression>) For A Single Row For example, inserting a new row of data into the ticket price table would look like this: insert into TICKET_PRICE values ( 'MIDNIGHT SHOW', 5.50); For Multiple Rows If we want to insert multiple rows of data we simply have multiple insert statements; however, if we have data stored in another table that we wish to place in our table (per- haps copying data from a production database into a de- veloper’s personal database), we can use an expression. For instance, if we had ticket price information in a table named master ticket price, and we wanted to copy the data into our local ticket price table, we could issue the following command: insert into TICKET_PRICE select * from MASTER_TICKET_PRICE; Now this is assuming that the structure of THE MASTER TICKET PRICE table and the TICKET PRICE table are the same (i.e., the same columns). If we only want a partial set of values from the MASTER TICKET PRICE table, we can add a where clause to our select state- ment. Likewise, we can reduce the number of columns by selecting only those columns from the MASTER TICKET PRICE table that match our TICKET PRICE table. Modifying Data Syntax: update <table> set <column> = <value> | <expression> {where_clause}; For a Single Row To update only one row in a table, we must specify the where clause that would return onlythat row. For example, if we wanted to raise the price of a KIDS movie ticket to $5.00, we would issue the following: update TICKET_PRICE set PRICE = 5.00 where TICKET_TYPE = 'KIDS'; We could perform a calculation or retrieve a value from another database table instead of setting the price equal to a constant (5.00). For Multiple Rows For modifying multiple rows there are two options—if we want to modify all of the rows in a given table (say to increase the price of movie tickets by 10% or to change the case of a column), we just leave off the where clause as such: update TICKET_PRICE set PRICE = PRICE * 1.10; If we want to modify selected rows, then we must spec- ify a where clause that will return only the desired rows. For example, if we want to raise just the adult prices by 10%, we issue the following: update TICKET_PRICE set PRICE = PRICE * 1.10 where TICKET_TYPE like 'ADULT%'; P1: IML/FFX P2: IML/FFX QC: IML/FFX T1: IML SQL˙OLE WL040/Bidgolio-Vol I WL040-Sample.cls June 20, 2003 13:16 Char Count= 0 MULTIUSER ENVIRONMENTS 361 Removing Data Syntax: delete <table> {where_clause}; For a Single Row To delete only one row in a table we must construct a where clause that returns only that row. For example, if we wanted to remove the SENIORS movie ticket type, we would issue the following: delete TICKET_PRICE where TICKET_TYPE = 'SENIORS'; For Multiple Rows For deleting multiple rows there are two options—if we want to delete all of the rows in a given table, we just leave off the where clause as such: delete TICKET_PRICE; If we want to delete a set of specific rows from a table, then we must specify a where clause that returns only those rows. For example, if we want to delete only the movies that allow passes, we issue the following: delete MOVIE where PASS_ALLOWED = 'Y'; TRANSACTION CONTROL A database transaction is a unit of work performed. This could be the checkout portion of a shopping cart application—when the user finally hits the purchase button. It could be a data entry person entering time card data or performing an inventory to verify that stock levels match what is on the shelves. In database terms a transaction is a series of DML statements that are logically grouped together. Because there are humans involved, SQL provides us with the ability to recover from mistakes (to a certain degree). We can start a transaction by issuing a “begin transaction” statement. This marks the beginning of our work session. We can then proceed with modifying the data in any way that is required. Once we are sure of our changes—verified via SQL queries, no doubt—we can issue a “commit.” The commit statement tells the database engine that we are done with this unit of work and the changes should be made a permanent part of the database. If we are not satisfied with out changes or we made a mistake we can issue a “rollback” statement, which undoes all of the work performed since the “begin transaction” was issued. Note that SQL does not support multiple levels of undo, like many computer applications. Once a commit is issued, we must manually undo any portion of our transaction that we are not satisfied with. The classis example that is often used to illustrate mutual, dependent, or two-phase commits is the use of an ATM machine. When someone uses the ATM machine he or she expects to receive the money requested, and the account will be altered to reflect this withdrawal. Likewise, the bank is willing to give the requesting person his or her money (if sufficient funds are available) and the account is properly adjusted. If both of these actions (dispensing funds and altering account) are successful, then all is well. If either action fails, then all transactions must be rolled back. MULTIUSER ENVIRONMENTS One of the reasons for the success of the RDBMS is its ability to handle multiple, simultaneous users. This is a critical feature for many Web sites. Amazon.com would not be around too long if only one person at a time could look up a book’s information or check out. However, in order to handle multiple, simultaneous users we must have some locking mechanism in place in order for users not to overwrite each other’s information. Likewise, we do not want to delay a user’s ability to browse through our dataset while it is being worked on—a common prob- lem for any system (Web site or otherwise) that is in a 24 × 7 support mode. Various operations cause various types or levels of locks to be placed on the data. For ex- ample, in modifying the data, an exclusive lock is entered. This forbids any other user to modify the same data until the first user has completed his or her transaction. A com- mit or rollback statement will either permanently record or undo the change. This is the why developers should commit often and as early as possible. Too many locks without committing or rolling back the data have pro- found performance implications. Different RDBMSs lock at different levels—some lock only the data that are modi- fied, others lock certain chunks of data (the affected rows and other rows that are contiguously stored with them). Techniques for dealing with various locks are beyond this chapter. Concurrency Issues Concurrency is a big issue in multiuser systems. Every user wants the most current data, yet just because we are entering data into a system does not mean that we entered them correctly—this is why transaction control was invented. All enterprise RDBMSs have a form of lock- ing that permits the querying of data that are in the pro- cess of being modified. However, because the data being modified are not yet committed to the database, the query will only be allowed to see the committed data. The impact is this—we can run a query, study the result, and 5 min later, rerun the query and get different results. The only alternative would be to have all queries wait until all of the pieces of information that they are requesting were not being modified by any other users. Another impact, where a user may have to wait until another user has completed a transaction, is when a user wants to mod- ify a piece of information that is in the process of being modified by another user. In this case only one user can modify a piece of information (set of rows in a table) at a time. Deadlock Deadlock is a condition where two users are waiting for each other to finish. Because they are waiting on each P1: IML/FFX P2: IML/FFX QC: IML/FFX T1: IML SQL˙OLE WL040/Bidgolio-Vol I WL040-Sample.cls June 20, 2003 13:16 Char Count= 0 STRUCTURED QUERY LANGUAGE (SQL)362 other, they can never finish their processing. An exam- ple of deadlock would be as follows: User 1 is updating all of the rows in the MOVIE table and at the same time User 2 is updating all of the rows in the TICKET TYPE table. Now, User 1 decides to update all of the rows in the TICKET TYPE table. The database will make the user wait (because User 2 currently has the TICKET TYPE data locked—the transaction has not been committed). Meanwhile, User 2 decides to modify all of the rows in the MOVIE table. Again the database will make User 2 wait (because User 1 has not committed his or her data). At this point deadlock has occurred—both users are in a wait state, which can never be resolved. Many commer- cial RDBMSs test for deadlock and can perform some corrective measures once it is detected. Corrective mea- sures can range from aborting the SQL statement that caused the deadlock to terminating the session with the least amount of process time that was involved with the deadlock—refer to the RDBMS’s user guide for details on a system. ENHANCED VERSIONS OF SQL Even though there have been three versions of the SQL language published, there is no vendor that adheres 100% to the standard. All vendors add features to their database engines in an attempt to entice consumers. This is not always a bad feature. This is part of the rea- son that there have been three standards to date: the database vendors are continuously improving their prod- ucts and exploring new areas that can be supported by database technologies. Two of the most popular exten- sions are procedural extensions and specialized deriva- tives of SQL. Procedural Extensions to SQL Although SQL is great at manipulating sets of data, it does have some shortcomings. A few immediately come to mind. It is usually very difficult with standard SQL to produce a top n listing, e.g., the top 10 songs on the Bill- board charts. It is impossible to process a result set, one row at a time. Complex business rules governing data val- idation cannot be handled by normal constraint process- ing. Last, performance of SQL queries (from the entire parse, execute, send results perspective) can be very poor when the number of clients is large, such as in a Web en- vironment. Note that a performance gain can be had if every query was stored as a View (see above). The first three of these items are typically handled in stored mod- ules and triggers. The last item can be handled either by using database views or by making use of the database en- gine’s query caching scheme (if it exists)—this is beyond the scope of this chapter. Stored Modules A stored module (typically a procedure or function) is a piece of procedurally enhanced SQL code that has been stored in the database for quick retrieval. The benefits of having the code stored are numerous. By storing the code, an end user does not have to type the code in each and every time that it needs to be called upon. This supports the concepts of code reuse and modularity. Performance is increased, because the code has been verified to be cor- rect and security policies can be enforced. For example, if we want to limit access to a given table, we can create an insert stored procedure and grant end users rights to ex- ecute the procedure. We can then remove all rights to the table from all users (except the table’s owner) and now, if our database is broken into by any username other than the table’s owner, the only operation that can be performed is the insert stored procedure. Triggers A trigger is a piece of procedurally enhanced SQL code that has been stored in a database, which is automatically called in response to an event that occurs in the database. Triggers are typically considered unavoidable—i.e., if the event for which a trigger has been defined occurs, the trig- ger fires (is executed). Some RDBMSs do allow bulk load programs to disable the triggering mechanism—refer to the RDBMS’s user guide for details. For example, for security reasons it has been deter- mined that the finance manager will log all modifications to the EMPLOYEE SALARY table for review. Granted, we could make use of a stored module (refer to the example above) and add the logging code into the stored module. However, we still have the loophole that the database could be broken into using the EMPLOYEE SALARY table’s login ID (or worse yet the database administrator’s login!). If this were the case, the stored module would not be the only access point to the EMPLOYEE SALARY table. CONCLUSION This chapter has given a brief introduction to the SQL language, including its historical and mathematical foun- dations. There are many good resources available online and in books, periodicals, and journals. Even though there is a standard for the SQL language, many vendors have added extensions and alterations that are often used to gain performance enhancements, which are very critical in Web apps. Complications in multiuser environments require that a locking analysis be conducted to detect and correct bottlenecks. APPENDIX: SAMPLE SCHEMA AND DATA Figure 1 depicts the tables that are used in this chapter and their relationships. The database supports the operation of a set of movie theaters (named SITES). Each site can run a MOVIE for a given number of weeks (this is stored in MOVIE RUN). Because a movie can have different show- times each week that it is being shown, this information is stored in the MOVIE RUN TIMES table. Of course, a movie cannot be shown without selling some tickets (TICKETS SOLD). Because there are various charges for movies, this information is stored in the TICKET PRICE table. P1: IML/FFX P2: IML/FFX QC: IML/FFX T1: IML SQL˙OLE WL040/Bidgolio-Vol I WL040-Sample.cls June 20, 2003 13:16 Char Count= 0 CROSS REFERENCES 363 TICKET PRICE TICKET TYPE PRICE KIDS 4.50 SENIORS 5.00 ADULT MAT 5.00 ADULTS 7.00 MOVIE MOVIE ID MOVIE TITLE MOVIE RATING PASS ALLOWED 1 10001 THE BEST MAN IN GRASS CREEK PG Y 2 10002 A KNIGHT’S TALE PG-13 N 3 10003 BRIDGET JONES”S DIARY R Y 4 10004 ALONG CAME A SPIDER R Y 5 10005 CROCODILE DUNDEE IN L.A. PG Y 6 10006 BLOW R Y 7 10007 DRIVEN PG-13 Y 8 10008 EXIT WOUNDS R Y 9 10009 FREDDY GOT FINGERED R Y 10 10010 HEARTBREAKERS PG-13 Y 11 10011 JOE DIRT PG-13 Y 12 10012 FORSAKEN R Y 13 10013 MEMENTO R Y 14 10014 TOWN AND COUNTRY R Y 15 10015 THE MUMMY RETURNS PG-13 Y 16 10016 ONE NIGHT AT MCCOOL”S R Y 17 10017 SPY KIDS PG Y 18 10018 THE TAILOR OF PANAMA R Y 19 10019 ’CHOCOLAT’ PG-13 Y 20 10020 ’AMORES PERROS’ R Y Figure 1: Relationship of tables used in this chapter. GLOSSARY Database Collection of relevant data organized using a specific scheme. Relational database Collection of data that conforms to properties of the relational database model first defined by E. F. Codd. Relational database management system (RDBMS) Software that manages a relational database. SQL An industry-standard language for creating, updat- ing, and querying a relational database. Tuple Data object containing two or more components; usually refers to a record in a relational database. CROSS REFERENCES See Data Mining in E-Commerce; Data Warehousing and Data Marts; Databases on the Web. P1: IML/FFX P2: IML/FFX QC: IML/FFX T1: IML SQL˙OLE WL040/Bidgolio-Vol I WL040-Sample.cls June 20, 2003 13:16 Char Count= 0 STRUCTURED QUERY LANGUAGE (SQL)364 REFERENCES Celko, J. (1999). Joe Celko’s data & databases: Concepts in practice. San Francisco: Morgan Kaufmann. Chan, H. C., Tan, C. Y., & Wei, K. K. (1999, November 1). Three important determinants of user performance for database retrieval. International Journal of Human– Computer Studies, 51, 895–918. Connolly, T., & Begg, C. (2002). Database systems. Read- ing, MA: AddisonWesley. Date, C. J. (1994, October). Moving forward with rela- tional [interview by David Kalman]. DBMS, 62–75. Eisenberg, A., & Melton, J. (2002). SQL:1999 [formerly known as SQL3]. Retrieved April 24, 2002, from http://geochem.gsc.nrcan.gc.ca/miscellaneous resources/sql1999.pdf Elmasri, R., & Navathe, S. B. (1989). Fundamentals of database systems. New York: Benjamin/Cummings. Freeon-line dictionary of computing (FOLDOC) (2002). Retrieved August 14, 2002, from http://wombat.doc. ic.ac.uk/foldoc/foldoc.cgi Groff, J. R., & Weinberg, P. N. (1999). SQL: The complete reference. Berkeley, CA: Osborne McGraw– Hill. Hursch, C. J., & Hursch, J. L. (1988). SQL The structured query language. Blue Ridge Summit, PA: Tab Profes- sional and Reference Books. Slazinski, E. D. (2001). Views—The ‘other’ database ob- ject. In D. Colton, S. Feather, M. Payne, & W. Tastle (Eds.). Proceedings of the ISECON 2001 18th Annual Information Systems Education Conference (p. 33). Foundation for Information Technology Education. Chicago: AITP. SQL syntax diagrams (2002). Retrieved April 24, 2002 from http://www-dbs.inf.ethz.ch/∼isk98/Syntax Diagramme/ SQL/ P1: IML/FFX P2: IML/FFX QC: IML/FFX T1: IML SupplyChainMgmt WL040/Bidgolio-Vol I WL040-Sample.cls August 13, 2003 17:21 Char Count= 0 Supply Chain Management Supply Chain Management Gerard J. Burke, University of Florida Asoo J. Vakharia, University of Florida Introduction 365 Strategic and Tactical Issues in SCM 366 Product Strategies 366 Network Design 366 Sourcing Strategies 367 Transportation and Logistics 368 Operations and Manufacturing 368 Distribution Channels 369 Supply Chain Coordination 369 Incentive Impediments 370 Fostering Trust between Partners 370 Incentives from Terms of Sale 370 Information Technology and SCM 371 Enabling Collaboration 371 Auctions and Exchanges 371 Electronic End Demand Fulfillment 371 Disintermediation 372 Summary 372 Glossary 372 Cross References 372 References 372 INTRODUCTION Supply chain management (SCM) is the art and sci- ence of creating and accentuating synergistic relation- ships among the trading members that constitute supply and distribution channels. Supply chain managers strive to deliver desired goods or services to the “right person,” in the “right quantity,” at the “right time,” in the most ef- fective and efficient manner. Usually this is achieved by negotiating or achieving a balance between conflicting objectives of customer satisfaction and cost-efficiencies. Each link in each supply chain represents an intersec- tion where supply meets demand, and directing the prod- uct and information flows at these crossroads is at the core of SCM. The integral value proposition of SCM is as follows: Total performance of the entire chain is en- hanced when all links in the chain are simultaneously op- timized compared with the resulting total performance when each individual link is optimized separately. Obvi- ously, coordination of the individual links in the chain is essential to achieve this objective. The Internet, and information technology in general, facilitate the integra- tion of multitudes of channel enterprises into a seamless “inter”prise, leading to substitution of vertical integration with “virtual integration.” Overcoming coordination road- blocks and creating incentives for collaboration among disparate channel members are some of the major cur- rent challenges in SCM. How well the supply chain performs as a whole hinges on achieving fit between the nature of the products it sup- plies, the competitive strategies of the interacting firms, and the overall supply chain strategy. Planning also plays a key role in the success of supply chains. Decisions re- garding facility location, manufacturing schedules, trans- portation routes and modes, and inventory levels and location are the basics that drive supply chains. These dimensions of tactical effectiveness are the sprockets that guide the chain downstream through its channel to end demand. Accurate and timely integrated information lubricate the chain for smooth operation. Information technologies allow supply chains to achieve better perfor- mance by providing visibility of the entire supply chain’s status to its members, regardless of their position in the chain. The success of the collaborative forecasting, plan- ning, and replenishment (CPFR) initiative illustrate the value of the internet to SCM (CPFR Committee, n.d.). A few of the most popular information tools or vehicles available to supply chains are enterprise resource plan- ning (ERP) software and related planning applications, application service providers (ASP), online markets and auction mechanisms (business-to-business [B2B] com- merce), and electronic customer relationship manage- ment (eCRM and business to consumer [B2C]). A supply chain can be visualized as a network of firms servicing and being serviced by several other businesses, although it is conceptually easier to imagine a chain as a river, originating from a source, moving downstream, and terminating at a sink. The supply chain extends up- stream to the sourcing of raw materials (backward inte- gration) and downstream to the afterlife activities of the product, such as disposal, recycling, and remanufacturing (forward integration). Regardless of magnitude, all sup- ply chains can be visualized as consisting of a sourcing stage, a manufacturing stage, and a distribution stage. The supply chain operations reference model devel- oped by the Supply Chain Council (n.d.) assumes that all processes at each of these stages are integral in all busi- nesses. Each stage plays both a primary (usually physical transformation or service creation) and a dual (market mediator) role. This primary role depends on the strat- egy of the supply chain, which in turn, is a function of the serviced products’ demand pattern (Fisher, 1997). The most strategic link is typically in the manufacturing or service creation stage, because it is positioned between suppliers and consumers. Depending on the structure of the chain (in terms of products and processes employed), power can shift from the supplier (e.g., monopolist sup- plier of key commodities such as oil), to the manufactur- ing (e.g., dominant producer of a unique product such as semiconductors), to the distribution (e.g., key distributor 365 P1: IML/FFX P2: IML/FFX QC: IML/FFX T1: IML SupplyChainMgmt WL040/Bidgolio-Vol I WL040-Sample.cls August 13, 2003 17:21 Char Count= 0 SUPPLY CHAIN MANAGEMENT366 Enterprise Resource Planning Integration B2B Link Information Sharing through EDI Suppliers Manufacturers Wholesalers/ D istributors Retailers Customers POS Data Link B2C Link Product Flow Figure 1: Example of an information-enabled supply chain. of consumer items) stage in the supply chain. Obviously, power in the supply chain has a key bearing on the strate- gic positioning of each link in the chain. The remainder of this chapter is organized as fol- lows. In the next section, we describe the key strategic and tactical issues in SCM. This is followed by a discus- sion of mechanisms for coordinating stages in the supply chain. The third and final section focuses on describing the significant impact of information technology on SCM practices. STRATEGIC AND TACTICAL ISSUES IN SCM A holistic supply chain comprises multiple processes for suppliers, manufacturers, and distributors. Each process employs a distinct focus and a related dimension of ex- cellence. Key issues in managing an entire supply chain relate to (a) analyzing product strategies, (b) network design and the related sourcing strategy employed, and (c) a strategic and tactical analysis of decisions in logis- tics, manufacturing, distribution, and after-sale service. It is our view that by analyzing product demand character- istics and the supply chain’s capabilities, and crafting a fit between them, an individual manager can ensure that the specific process strategy employed does not create disso- nance in the entire supply chain. Product Strategies SCM has evolved from process reengineering efforts to co- ordinate and integrate production planning at the factory level to initiatives that expand the scope of strategic fit be- yond a single enterprise (Chopra & Meindl, 2001). Positive results from intra-functional efforts extended the SCM philosophy throughout the enterprise. Process improve- ments at the firm level highlighted the need for suppliers and customers of supply chain managed firms to adopt the SCM philosophy. A supply chain is only as strong as its weakest link. How the chain defines strength is at the core of a supply chain’s strategy and, therefore, its design. Is strength anchored in efficiency, responsiveness, or both? Achieving a tight fit between the competitive strate- gies of supply chain members and the supply chain itself is gained by evaluating the characteristics of the prod- ucts serviced by the chain. “The root cause of the prob- lems plaguing many supply chains is a mismatch between the type of product and the type of supply chain” (Fisher, 1997, p.105). Critical product attributes are (a) the de- mand pattern, (b) the life cycle, (c) the variety of offer- ings, and (d) the product delivery strategy. Fisher (1997) categorized a product as being either functional (basic, predictable, long-lived, low profit margin) or innovative (differentiated, volatile, short-lived, high profit margin). Furthermore, using the product life-cycle argument, in- novative products (if successful) will eventually evolve to become functional products. The types of supply chain needed to service these two categories of products effec- tively are distinct. An efficient or low-cost supply chain is more appropriate for a functional product, whereas a responsive or customer attuned supply chain fits an inno- vative product better. Obviously, a spectrum of chain vari- eties exists between the end points of responsiveness and efficiency, hence most tailored supply chains are hybrids that target responsiveness requirements for each product serviced while exploiting commonalities in servicing all products to gain economies of scope. Thus, the strategic position of a supply chain balances customer satisfaction demands and the firm’s need for cost minimization. Information technologies enable both efficient and re- sponsive supply chains because they have the potential to provide immediate and accurate demand and order status information. Efficiency gains via information tech- nologies are gleaned from decreased transactional costs resulting from order automation and easier access to in- formation needed by chain members. Likewise, respon- siveness gains can be obtained by a quicker response to customer orders. Hence, in practice, it seems to have be- come standard for all supply chains to use some form of information technology to enable not only a more efficient physical flow of their products but also to simultaneously improve their market mediation capability. Network Design Network decisions in a supply chain focus on facility func- tion, facility location, capacity, and sourcing and distribu- tion (Chopra & Meindl, 2001). In general, network design P1: IML/FFX P2: IML/FFX QC: IML/FFX T1: IML SupplyChainMgmt WL040/Bidgolio-Vol I WL040-Sample.cls August 13, 2003 17:21 Char Count= 0 STRATEGIC AND TACTICAL ISSUES IN SCM 367 determines the supply chain’s tactical structure. The sig- nificant capital investments required in building such a structure indicate the relative long run or strategic im- portance of network decisions. Facility Function How will each network investment facilitate the supply chain strategy? Consider a manufacturing plant. If the plant is set up to produce only a specific product type, the chain will be more efficient, but less flexible than it would be if the plant produced multiple product types. A supply chain providing innovative products will likely perform better with flexible manufacturing facilities. Facility Location What locations should be chosen for facilities? A good decision in this dimension is essential because the cost ramifications of a suboptimal location could be substan- tial. Shutting down or moving a facility is significant not only in terms of financial resources but also in terms of the impact on employees and communities. Other factors that should be considered are the available infrastructure for physical and information transportation, flexibility of production technologies employed, external or macroeco- nomic influences, political stability, location of competi- tors, availability of required labor and materials, and the logistics costs contingent on site selection. Capacity Depending on the expected level of output for a facility, capacity allocations should be made so that idle time is minimal. Underutilization results in lower return on in- vestment and is sure to get the attention of company ex- ecutives. On the other hand, underallocating capacity (or large utilizations) will create a bottleneck or constricted link in the supply chain. This will result in unsatisfied demand and lost sales or increased costs as a result of sat- isfying demand from a nonoptimal location. The capac- ity allocation decision is a relatively long-term commit- ment, which becomes more significant as sophistication and price of the production technology increases. Supply and Distribution Who will serve our needs, and whose needs will we serve? This is a recurring question. Decisions regarding the sup- pliers to a facility and the demand to be satisfied by a facil- ity determine the costs of material inputs, inventory, and delivery. Therefore, as forces driving supply or demand (or both) change, this decision must be reconsidered. The objective here is typically to match suppliers and markets to facilities to minimize not only the systemwide costs but also the customer responsiveness of the supply chain. In general, these criteria are often orthogonal, implying that the sourcing and distribution decisions require a multi- objective focus with some prioritization of the cost and responsiveness aspects. Each of these network design decisions are not made in isolation since there is a need to prioritize and coordi- nate their combined impact on the tactical operations of the supply chain. They jointly determine the structure of the supply chain, and it is within this structure that tac- tical strategies are implemented to reinforce the overall strategy of the entire chain. Once network design has been finalized, the next key decision within the supply chain fo- cuses on sourcing strategies. Sourcing Strategies A primary driver of a firm’s SCM success is an effective sourcing strategy. The firm’s ability to deliver its goods and services to customers in a timely manner hinges on obtaining the appropriate resources from the firm’s suppliers. Because manufacturing firms typically spend more than 50% of earned revenue on purchased mate- rials, the costs of disruptions to production due to sup- ply inadequacies are especially significant. Furthermore, a firm’s financial and strategic success is fused to its supply base. The nature of a firm’s connection to its suppliers is evi- dent in its sourcing strategy and is characterized by three key interrelated decisions: (a) how many suppliers to or- der from, (b) what criteria to use for choosing an appro- priate set of suppliers, and (c) the quantity of goods to order from each supplier. Single sourcing strategies seek to build partnerships between buyers and suppliers to foster cooperation and achieve benefits for both players. With the adoption of just-in-time inventory policies, supplier alliances with varying degrees of coordination have shifted supply re- lations toward single sourcing to streamline the supply network. At the strategic level, single sourcing contradicts portfolio theory. By not diversifying, a firm is assuming greater risk. Therefore, tactical single sourcing benefits need to justify the riskiness inherent in this relationship. One method of alleviating the risks of single sourcing is to ensure that suppliers develop contingency plans for ma- terials in case of unforeseen circumstances. In fact, sup- pliers dealing with IBM are required to provide details of such contingency plans before the company will enter into purchasing contracts with them. The obvious benefits of single sourcing for the firm are quantity discounts from order consolidation, reduced or- der lead times, and logistical cost reductions as a result of a scaled down supplier base. The ordering costs advan- tage of single sourcing is diminishing, however, because of the proliferation of Internet procurement tools, which tend to reduce ordering costs and streamline purchasing processes. In contrast, a larger supply base possesses greater up- side volume flexibility through the summation of sup- plier capacities. Strategically, a manufacturer’s leverage is kept intact when the firm diversifies its total require- ments among multiple sources. Additionally, alternative sources hedge the risk of creating a monopolistic (sole source) supplier, and the risk of a supplier integrating for- ward to compete with the buying firm directly. Online ex- changes and marketplaces also provide multiple sourcing benefits by automating the cumbersome tasks associated with multiple supplier dealings. In concert with decisions regarding the number of sup- pliers for a product, a firm must develop an appropriate set of criteria to determine a given supplier’s abilities to satisfy the firm’s requirements. In practice, this is evalu- ated using scoring models which incorporate quantifiable [...]... from the next level in the supply chain, and this results in the use of hedging decision models to adjust for the uncertainty in this incomplete information In other words, when individual actors in a supply chain use information known only to them (usually orders from the actors at the next level of the chain) to make forecasts and orders, and then pass only their orders on to the next actor in the. .. machine effectively brings the customer inside Dell Further, the Internet permitted Dell to provide customers with rich information about the product, including the cost for each variation of the machine Customers became much better informed about the product and the purchase experience, and felt like they were on the shop floor making choices and understanding those choices The Internet provided better... problems and the differences in economic interests can be overcome, gaining the benefits of collaboration facilitated by the Internet also requires the development of new business models and practices The application of Internet technologies expands the business options for the firm and the role of the supply chain in achieving its goals For purposes of illustration, we will emphasize three: 1 The simultaneous... chain Indeed, Cisco is one of the best examples of the use of the Internet to create a collaborative system designed to benefit all members of the system The main goal is the performance of the supply chain, not merely obtaining the lowest price from suppliers Internet- defined protocols are used for all communications across the system and common applications throughout the company This permits high... Models 374 374 3 75 3 75 377 379 INTRODUCTION The Internet creates a new environment for exchanging information and conducting business transactions More than ever possible before, the Internet increases the quantity and expands the richness of information in real time to a much wider set of participants and thereby raises dramatically the value of information in supply chain management The Internet also... pay for it The difference between the value of the product and the costs associated with all the activities required to produce that value represents the margin or profit for the business Value chain analysis deals with how to maximize a firm’s profit by studying the costs associated with the various activities of the business, and reducing or eliminating costs that do not add to the value of the product... COLLABORATION The Internet does not create the need for cooperation and collaboration in supply chains; this has always been important However, the Internet does provide new 378 SUPPLY CHAIN MANAGEMENT AND THE INTERNET opportunities to be won from collaboration and offers some potential ways to overcome barriers to collaboration Most of the improvements in efficiency from the Internet happen only when the separate... measure of the ease of transition to the Internet was the rapid jump in Internet sales from $1 million per day in early 1997 to $50 million per day in 2000 (Kraemer & Dedrick, 2001) At the same time, the transition brought significant increases in efficiency and customer satisfaction Much like Cisco, Dell’s Internet capabilities extend from customer to suppliers The ability to custom configure the machine... back-end operations in 3 75 a supply chain using the Internet (Lee & Whang, 2001a, p 2) The application of the Internet to supply chain management involves developing the capacity for greater integration, for new forms of collaboration, and for using the new information systems to redesign business practices We will approach the question of e-business from the perspective of the extended, real-time... shared across the supply chain Thus, one part of the supply chain will need to be organized around the push model while the other part will be organized around the pull model The goal of many firms is to move beyond complete reliance on a push strategy, and define the most efficient point in the supply chain to locate the boundary between production to stock (push) and production to order (pull) The availability . in the RDBMS’s temporary space, of the result set of the view’s select statement. When the RDBMS evaluates the statement that used the view’s name in its from clause, the named result set is then. View “According to the SQL-92 standard, views are virtual ta- bles that act as if they are materialized when their name appears” (Celko, 1999, p .55 ). The term virtual is used because the only permanent. updating all of the rows in the TICKET TYPE table. Now, User 1 decides to update all of the rows in the TICKET TYPE table. The database will make the user wait (because User 2 currently has the TICKET TYPE data