Advice for software developers and horse racing enthusiasts: Avoid hacks.
|
|
|
- Aleesha Day
- 9 years ago
- Views:
Transcription
1 A DATABASE DESIGN CASE STUDY: THE INTERNET SHOP Advice for software developers and horse racing enthusiasts: Avoid hacks. Anonymous We now present an illustrative, cradle-to-grave design example. DBDudes Inc., a well-known database consulting firm, has been called in to help Barns and Nobble (B&N) with their database design and implementation. B&N is a large bookstore specializing in books on horse racing, and they ve decided to go online. DBDudes first verify that B&N is willing and able to pay their steep fees and then schedule a lunch meeting billed to B&N, naturally to do requirements analysis. A.1 REQUIREMENTS ANALYSIS The owner of B&N has thought about what he wants and offers a concise summary: I would like my customers to be able to browse my catalog of books and to place orders over the Internet. Currently, I take orders over the phone. I have mostly corporate customers who call me and give me the ISBN number of a book and a quantity. I then prepare a shipment that contains the books they have ordered. If I don t have enough copies in stock, I order additional copies and delay the shipment until the new copies arrive; I want to ship a customer s entire order together. My catalog includes all the books that I sell. For each book, the catalog contains its ISBN number, title, author, purchase price, sales price, and the year the book was published. Most of my customers are regulars, and I have records with their name, address, and credit card number. New customers have to call me first and establish an account before they can use my Web site. On my new Web site, customers should first identify themselves by their unique customer identification number. Then they should be able to browse my catalog and to place orders online. DBDudes s consultants are a little surprised by how quickly the requirements phase was completed it usually takes them weeks of discussions (and many lunches and dinners) to get this done but return to their offices to analyze this information. 831
2 832 Appendix A A.2 CONCEPTUAL DESIGN In the conceptual design step, DBDudes develop a high level description of the data in terms of the ER model. Their initial design is shown in Figure A.1. Books and customers are modeled as entities and are related through orders that customers place. Orders is a relationship set connecting the Books and Customers entity sets. For each order, the following attributes are stored: quantity, order date, and ship date. As soon as an order is shipped, the ship date is set; until then the ship date is set to null, indicating that this order has not been shipped yet. DBDudes has an internal design review at this point, and several questions are raised. To protect their identities, we will refer to the design team leader as Dude 1 and the design reviewer as Dude 2: Dude 2: What if a customer places two orders for the same book on the same day? Dude 1: The first order is handled by creating a new Orders relationship and the second order is handled by updating the value of the quantity attribute in this relationship. Dude 2: What if a customer places two orders for different books on the same day? Dude 1: No problem. Each instance of the Orders relationship set relates the customer to a different book. Dude 2: Ah, but what if a customer places two orders for the same book on different days? Dude 1: We can use the attribute order date of the orders relationship to distinguish the two orders. Dude 2: Oh no you can t. The attributes of Customers and Books must jointly contain a key for Orders. So this design does not allow a customer to place orders for the same book on different days. Dude 1: Yikes, you re right. Oh well, B&N probably won t care; we ll see. DBDudes decides to proceed with the next phase, logical database design. A.3 LOGICAL DATABASE DESIGN Using the standard approach discussed in Chapter 3, DBDudes maps the ER diagram shown in Figure A.1 to the relational model, generating the following tables: CREATE TABLE Books ( isbn CHAR(10), title CHAR(80), author CHAR(80), qty in stock INTEGER, price REAL, year published INTEGER, PRIMARY KEY (isbn))
3 Design Case Study: An Internet Shop 833 order_date author qty_in_stock qty ship_date cname address title price isbn year_published cid cardnum Books Orders Customers Figure A.1 ER Diagram of the Initial Design CREATE TABLE Orders ( isbn CHAR(10), cid INTEGER, qty INTEGER, order date DATE, ship date DATE, PRIMARY KEY (isbn,cid), FOREIGN KEY (isbn) REFERENCES Books, FOREIGN KEY (cid) REFERENCES Customers ) CREATE TABLE Customers ( cid INTEGER, cname CHAR(80), address CHAR(200), cardnum CHAR(16), PRIMARY KEY (cid) UNIQUE (cardnum)) The design team leader, who is still brooding over the fact that the review exposed a flaw in the design, now has an inspiration. The Orders table contains the field order date and the key for the table contains only the fields isbn and cid. Because of this, a customer cannot order the same book on different days, a restriction that was not intended. Why not add the order date attribute to the key for the Orders table? This would eliminate the unwanted restriction: CREATE TABLE Orders ( isbn CHAR(10),... PRIMARY KEY (isbn,cid,ship date),...) The reviewer, Dude 2, is not entirely happy with this solution, which he calls a hack. He points out that there is no natural ER diagram that reflects this design, and stresses
4 834 Appendix A the importance of the ER diagram as a design document. Dude 1 argues that while Dude 2 has a point, it is important to present B&N with a preliminary design and get feedback; everyone agrees with this, and they go back to B&N. The owner of B&N now brings up some additional requirements that he did not mention during the initial discussions: Customers should be able to purchase several different books in a single order. For example, if a customer wants to purchase three copies of The English Teacher and two copies of The Character of Physical Law, the customer should be able to place a single order for both books. The design team leader, Dude 1, asks how this affects the shippping policy. Does B&N still want to ship all books in an order together? The owner of B&N explains their shipping policy: As soon as we have have enough copies of an ordered book we ship it, even if an order contains several books. So it could happen that the three copies of The English Teacher are shipped today because we have five copies in stock, but that The Character of Physical Law is shipped tomorrow, because we currently have only one copy in stock and another copy arrives tomorrow. In addition, my customers could place more than one order per day, and they want to be able to identify the orders they placed. The DBDudes team thinks this over and identifies two new requirements: first, it must be possible to order several different books in a single order, and second, a customer must be able to distinguish between several orders placed the same day. To accomodate these requirements, they introduce a new attribute into the Orders table called ordernum, which uniquely identifies an order and therefore the customer placing the order. However, since several books could be purchased in a single order, ordernum and isbn are both needed to determine qty and ship date in the Orders table. Orders are assigned order numbers sequentially and orders that are placed later have higher order numbers. If several orders are placed by the same customer on a single day, these orders have different order numbers and can thus be distinguished. The SQL DDL statement to create the modified Orders table is given below: CREATE TABLE Orders ( ordernum INTEGER, isbn CHAR(10), cid INTEGER, qty INTEGER, order date DATE, ship date DATE, PRIMARY KEY (ordernum, isbn), FOREIGN KEY (isbn) REFERENCES Books FOREIGN KEY (cid) REFERENCES Customers )
5 Design Case Study: An Internet Shop 835 A.4 SCHEMA REFINEMENT Next, DBDudes analyzes the set of relations for possible redundancy. The Books relation has only one key (isbn), and no other functional dependencies hold over the table. Thus, Books is in BCNF. The Customers relation has the key (cid), and since a credit card number uniquely identifies its card holder, the functional dependency cardnum cid also holds. Since cid is a key, cardnum is also a key. No other dependencies hold, and so Customers is also in BCNF. DBDudes has already identified the pair ordernum, isbn as the key for the Orders table. In addition, since each order is placed by one customer on one specific date, the following two functional dependencies hold: ordernum cid, andordernum order date The experts at DBDudes conclude that Orders is not even in 3NF. (Can you see why?) They decide to decompose Orders into the following two relations: Orders(ordernum, cid, order date,and Orderlists(ordernum, isbn, qty, ship date) The resulting two relations, Orders and Orderlists, are both in BCNF, and the decomposition is lossless-join since ordernum is a key for (the new) Orders. The reader is invited to check that this decomposition is also dependency-preserving. For completeness, we give the SQL DDL for the Orders and Orderlists relations below: CREATE TABLE Orders ( ordernum INTEGER, cid INTEGER, order date DATE, PRIMARY KEY (ordernum), FOREIGN KEY (cid) REFERENCES Customers ) CREATE TABLE Orderlists ( ordernum INTEGER, isbn CHAR(10), qty INTEGER, ship date DATE, PRIMARY KEY (ordernum, isbn), FOREIGN KEY (isbn) REFERENCES Books) Figure A.2 shows an updated ER diagram that reflects the new design. Note that DBDudes could have arrived immediately at this diagram if they had made Orders an entity set instead of a relationship set right at the beginning. But at that time they did not understand the requirements completely, and it seemed natural to model Orders
6 836 Appendix A author qty_in_stock ordernum cname address title price isbn year_published cid cardnum Books Orders Customers Order_List Place_Order qty ship_date order_date Figure A.2 ER Diagram Reflecting the Final Design as a relationship set. This iterative refinement process is typical of real-life database design processes. As DBDudes has learned over time, it is rare to achieve an initial design that is not changed as a project progresses. The DBDudes team celebrates the successful completion of logical database design and schema refinement by opening a bottle of champagne and charging it to B&N. After recovering from the celebration, they move on to the physical design phase. A.5 PHYSICAL DATABASE DESIGN Next, DBDudes considers the expected workload. The owner of the bookstore expects most of his customers to search for books by ISBN number before placing an order. Placing an order involves inserting one record into the Orders table and inserting one or more records into the Orderlists relation. If a sufficient number of books is available, a shipment is prepared and a value for the ship date in the Orderlists relation is set. In addition, the available quantities of books in stocks changes all the time since orders are placed that decrease the quantity available and new books arrive from suppliers and increase the quantity available. The DBDudes team begins by considering searches for books by ISBN. Since isbn is a key, an equality query on isbn returns at most one record. Thus, in order to speed up queries from customers who look for books with a given ISBN, DBDudes decides to build an unclustered hash index on isbn. Next, they consider updates to book quantities. To update the qty in stock value for a book, we must first search for the book by ISBN; the index on isbn speeds this up. Since the qty in stock value for a book is updated quite frequently, DBDudes also considers partitioning the Books relation vertically into the following two relations:
7 Design Case Study: An Internet Shop 837 BooksQty(isbn, qty), and BookRest(isbn, title, author, price, year published). Unfortunately, this vertical partition would slow down another very popular query: Equality search on ISBN to retrieve full information about a book would require a join between BooksQty and BooksRest. So DBDudes decide not to vertically partition Books. DBDudes thinks it is likely that customers will also want to search for books by title and by author, and decides to add unclustered hash indexes on title and author these indexes are inexpensive to maintain because the set of books is rarely changed even though the quantity in stock for a book changes often. Next, they consider the Customers relation. A customer is first identified by the unique customer identifaction number. Thus, the most common queries on Customers are equality queries involving the customer identification number, and DBDudes decides to build a clustered hash index on cid to achieve maximum speedup for this query. Moving on to the Orders relation, they see that it is involved in two queries: insertion of new orders and retrieval of existing orders. Both queries involve the ordernum attribute as search key and so they decide to build an index on it. What type of index should this be a B+ tree or a hash index? Since order numbers are assigned sequentially and thus correspond to the order date, sorting by ordernum effectively sorts by order date as well. Thus DBDudes decides to build a clustered B+ tree index on ordernum. Although the operational requirements that have been mentioned until know favor neither a B+ tree nor a hash index, B&N will probably want to monitor daily activities, and the clustered B+ tree is a better choice for such range queries. Of course, this means that retrieving all orders for a given customer could be expensive for customers with many orders, since clustering by ordernum precludes clustering by other attributes, such as cid. The Orderlists relation mostly involves insertions, with an occasional update of a shipment date or a query to list all components of a given order. If Orderlists is kept sorted on ordernum, all insertions are appends at the end of the relation and thus very efficient. A clustered B+ tree index on ordernum maintains this sort order and also speeds up retrieval of all items for a given order. To update a shipment date, we need to search for a tuple by ordernum and isbn. The index on ordernum helps here as well. Although an index on ordernum, isbn would be better for this purpose, insertions would not be as efficient as with an index on just ordernum; DBDudes therefore decides to index Orderlists on just ordernum.
8 838 Appendix A A.5.1 Tuning the Database We digress from our discussion of the initial design to consider a problem that arises several months after the launch of the B&N site. DBDudes is called in and told that customer enquiries about pending orders are being processed very slowly. B&N has become very successful, and the Orders and Orderlists tables have grown huge. Thinking further about the design, DBDudes realizes that there are two types of orders: completed orders, for which all books have already shipped, and partially completed orders, for which some books are yet to be shipped. Most customer requests to look up an order involve partially completed orders, which are a small fraction of all orders. DBDudes therefore decides to horizontally partition both the Orders table and the Orderlists table by ordernum. This results in four new relations: NewOrders, OldOrders, NewOrderlists, and OldOrderlists. An order and its components are always in exactly one pair of relations and we can determine which pair, old or new, by a simple check on ordernum and queries involving that order can always be evaluated using only the relevant relations. Some queries are now slower, such as those asking for all of a customer s orders, since they require us to search two sets of relations. However, these queries are infrequent and their performance is acceptable. A.6 SECURITY Returning to our discussion of the initial design phase, recall that DBDudes completed physical database design. Next, they address security. There are three groups of users: customers, employees, and the owner of the book shop. (Of course, there is also the database administrator who has universal access to all data and who is responsible for regular operation of the database system.) The owner of the store has full privileges on all tables. Customers can query the Books table and can place orders online, but they should not have access to other customers records nor to other customers orders. DBDudes restricts access in two ways. First, they design a simple Web page with several forms similar to the page shown in Figure 22.1 in Chapter 22. This allows customers to submit a small collection of valid requests without giving them the ability to directly access the underlying DBMS through an SQL interface. Second, they use the security features of the DBMS to limit access to sensitive data. The Web page allows customers to query the Books relation by ISBN number, name of the author, and title of a book. The Web page also has two buttons. The first button retrieves a list of all of the customer s orders that are not completely fulfilled yet. The second button will display a list of all completed orders for that customer. Note that
9 Design Case Study: An Internet Shop 839 customers cannot specify actual SQL queries through the Web; they can only fill in some parameters in a form to instantiate an automatically generated SQL query. All queries that are generated through form input have a WHERE clause that includes the cid attribute value of the current customer, and evaluation of the queries generated by the two buttons requires knowledge of the customer identification number. Since all users have to log on to the Web site before browsing the catalog, the business logic (discussed in Section A.7) must maintain state information about a customer (i.e., the customer identification number) during the customer s visit to the Web site. The second step is to configure the database to limit access according to each user group s need to know. DBDudes creates a special customer account that has the following privileges: SELECT ON Books, NewOrders, OldOrders, NewOrderlists, OldOrderlists INSERT ON NewOrders, OldOrders, NewOrderlists, OldOrderlists Employees should be able to add new books to the catalog, update the quantity of a book in stock, revise customer orders if necessary, and update all customer information except the credit card information. In fact, employees should not even be able to see a customer s credit card number. Thus, DBDudes creates the following view: CREATE VIEW CustomerInfo (cid,cname,address) AS SELECT C.cid, C.cname, C.address FROM Customers C They give the employee account the following privileges: SELECT ON CustomerInfo, Books, NewOrders, OldOrders, NewOrderlists, OldOrderlists INSERT ON CustomerInfo, Books, NewOrders, OldOrders, NewOrderlists, OldOrderlists UPDATE ON CustomerInfo, Books, NewOrders, OldOrders, NewOrderlists, OldOrderlists DELETE ON Books, NewOrders, OldOrders, NewOrderlists, OldOrderlists In addition, there are security issues when the user first logs on to the Web site using the customer identification number. Sending the number unencrypted over the Internet is a security hazard, and a secure protocol such as the SSL should be used. There are companies such as CyberCash and DigiCash that offer electronic commerce payment solutions, even including electronic cash. Discussion of how to incorporate such techniques into the Website are outside the scope of this book.
10 840 Appendix A A.7 APPLICATION LAYERS DBDudes now moves on to the implementation of the application layer and considers alternatives for connecting the DBMS to the World-Wide Web (see Chapter 22). DBDudes note the need for session management. For example, users who log in to the site, browse the catalog, and then select books to buy do not want to re-enter their customer identification number. Session management has to extend to the whole process of selecting books, adding them to a shopping cart, possibly removing books from the cart, and then checking out and paying for the books. DBDudes then considers whether Web pages for books should be static or dynamic. If there is a static Web page for each book, then we need an extra database field in the Books relation that points to the location of the file. Even though this enables special page designs for different books, it is a very labor intensive solution. DBDudes convinces B&N to dynamically assemble the Web page for a book from a standard template instantiated with information about the book in the Books relation. This leaves DBDudes with one final decision, namely how to connect applications to the DBMS. They consider the two main alternatives that we presented in Section 22.2: CGI scripts versus using an application server infrastructure. If they use CGI scripts, they would have to encode session management logic not an easy task. If they use an application server, they can make use of all the functionality that the application server provides. Thus, they recommend that B&N implement server-side processing using an application server. B&N, however, refuses to pay for an application server and decides that for their purposes CGI scripts are fine. DBDudes accepts B&N s decision and proceeds to build the following pieces: The top level HTML pages that allow users to navigate the site, and various forms that allow users to search the catalog by ISBN, author name, or author title. An example page containing a search form is shown in Figure 22.1 in Chapter 22. In addition to the input forms, DBDudes must develop appropriate presentations for the results. The logic to track a customer session. Relevant information must be stored either in a server-side data structure or be cached in hte customer s browser using a mechanism like cookies. Cookies are pieces of information that a Web server can store in a user s Web browser. Whenever the user generates a request, the browser passes along the stored information, thereby enabling the Web server to remember what the user did earlier. The scripts that process the user requests. For example, a customer can use a form called Search books by title to type in a title and search for books with that
11 Design Case Study: An Internet Shop 841 title. The CGI interface communicates with a script that processes the request. An example of such a script written in Perl using DBI for data access is shown in Figure 22.4 in Chapter 22. For completeness, we remark that if B&N had agreed to use an application server, DBDudes would have had the following tasks: As in the CGI-based architecture, they would have to design top level pages that allow customers to navigate the Web site as well as various search forms and result presentations. Assuming that DBDudes select a Java-based application server, they have to write Java Servlets to process form-generated requests. Potentially, they could reuse existing (possibly commercially available) JavaBeans. They can use JDBC as a database interface; examples of JDBC code can be found in Section Instead of programming Servlets, they could resort to Java Server Pages and annotate pages with special JSP markup tags. An example of a Web page that includes JSP commands is shown in Section If DBDudes select an application server that uses proprietary markup tags, they have to develop Web pages by using such tags. An example using Cold Fusion markup tags can be found in Section Our discussion thus far only covers the client-interface, the part of the Web site that is exposed to B&N s customers. DBDudes also need to add applications that allow the employees and the shop owner to query and access the database and to generate summary reports of business activities. This completes our discussion of Barns and Nobble. While this study only describes a small part of a real problem, we saw that a design even at this scale involved nontrivial tradeoffs. We would like to emphasize again that database design is an iterative process and that therefore it is very important not to lock oneself down early on in a fixed model that is too inflexible to accomodate a changing environment. Welcome to the exciting world of database management!
1/20/11. Outline. Database Management Systems. Prerequisites. Staff and Contact Information. Course Web Site. 645: Database Design and Implementation
Outline 645: Database Design and Implementation Course topics and requirements Overview of databases and DBMS s Yanlei Diao University of Massachusetts Amherst Database Management Systems Fundamentals
Databases What the Specification Says
Databases What the Specification Says Describe flat files and relational databases, explaining the differences between them; Design a simple relational database to the third normal form (3NF), using entityrelationship
Title Page. Hosted Payment Page Guide ACI Commerce Gateway
Title Page Hosted Payment Page Guide ACI Commerce Gateway Copyright Information 2008 by All rights reserved. All information contained in this documentation, as well as the software described in it, is
ER modelling, Weak Entities, Class Hierarchies, Aggregation
CS344 Database Management Systems ER modelling, Weak Entities, Class Hierarchies, Aggregation Aug 2 nd - Lecture Notes (Summary) Submitted by - N. Vishnu Teja Saurabh Saxena 09010125 09010145 (Most the
Physical Database Design and Tuning
Chapter 20 Physical Database Design and Tuning Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1. Physical Database Design in Relational Databases (1) Factors that Influence
1. Physical Database Design in Relational Databases (1)
Chapter 20 Physical Database Design and Tuning Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1. Physical Database Design in Relational Databases (1) Factors that Influence
12 File and Database Concepts 13 File and Database Concepts A many-to-many relationship means that one record in a particular record type can be relat
1 Databases 2 File and Database Concepts A database is a collection of information Databases are typically stored as computer files A structured file is similar to a card file or Rolodex because it uses
Web Hosting Features. Small Office Premium. Small Office. Basic Premium. Enterprise. Basic. General
General Basic Basic Small Office Small Office Enterprise Enterprise RAID Web Storage 200 MB 1.5 MB 3 GB 6 GB 12 GB 42 GB Web Transfer Limit 36 GB 192 GB 288 GB 480 GB 960 GB 1200 GB Mail boxes 0 23 30
What is Web Security? Motivation
[email protected] http://www.brucker.ch/ Information Security ETH Zürich Zürich, Switzerland Information Security Fundamentals March 23, 2004 The End Users View The Server Providers View What is Web
WHAT INFORMATION IS COLLECTED AT MOTOROLA.COM.VN AND/OR MOTOROLA.VN AND HOW IS IT PROCESSED AND USED?
MOTOROLA PRIVACY POLICY This Privacy Statement ( Policy ) is subject to change at Motorola s discretion. If we decide to change this Policy, we will post the amended Policy on this website so you will
MS SQL Performance (Tuning) Best Practices:
MS SQL Performance (Tuning) Best Practices: 1. Don t share the SQL server hardware with other services If other workloads are running on the same server where SQL Server is running, memory and other hardware
Transactions and the Internet
Transactions and the Internet Week 12-13 Week 12-13 MIE253-Consens 1 Schedule Week Date Lecture Topic 1 Jan 9 Introduction to Data Management 2 Jan 16 The Relational Model 3 Jan. 23 Constraints and SQL
DBMS Questions. 3.) For which two constraints are indexes created when the constraint is added?
DBMS Questions 1.) Which type of file is part of the Oracle database? A.) B.) C.) D.) Control file Password file Parameter files Archived log files 2.) Which statements are use to UNLOCK the user? A.)
Integration Guide Last Revision: July 2004
Last Revision: July 2004 PayPal Integration Guide 2004 PayPal, Inc. All Rights Reserved. PayPal and the PayPal logo are registered trademarks of PayPal, Inc. Designated trademarks and brands are the property
DATABASE MANAGEMENT SYSTEMS. Question Bank:
DATABASE MANAGEMENT SYSTEMS Question Bank: UNIT 1 1. Define Database? 2. What is a DBMS? 3. What is the need for database systems? 4. Define tupule? 5. What are the responsibilities of DBA? 6. Define schema?
Data warehousing with PostgreSQL
Data warehousing with PostgreSQL Gabriele Bartolini http://www.2ndquadrant.it/ European PostgreSQL Day 2009 6 November, ParisTech Telecom, Paris, France Audience
www.dotnetsparkles.wordpress.com
Database Design Considerations Designing a database requires an understanding of both the business functions you want to model and the database concepts and features used to represent those business functions.
Building Web Applications, Servlets, JSP and JDBC
Building Web Applications, Servlets, JSP and JDBC Overview Java 2 Enterprise Edition (JEE) is a powerful platform for building web applications. The JEE platform offers all the advantages of developing
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
Web-Based Information Systems
Web-Based Information Systems Prof. dr. Paul De Bra Eindhoven Univ. of Technology Topics Motivation Web Technology Design of Web-Based Information Systems Automatic Generation of Web-Based Interfaces 1
Database Programming with PL/SQL: Learning Objectives
Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs
Microsoft Advertising adcenter Campaign Analytics Getting Started Guide
Microsoft Advertising adcenter Campaign Analytics Getting Started Guide Contents Introduction... 3 What is Microsoft Advertising adcenter Campaign Analytics?... 3 Useful terms... 3 Overview... 4 Get Started...
INTRODUCTION TO DATABASE SYSTEMS
1 INTRODUCTION TO DATABASE SYSTEMS Exercise 1.1 Why would you choose a database system instead of simply storing data in operating system files? When would it make sense not to use a database system? Answer
Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Physical Design. Phases of database design. Physical design: Inputs.
Phases of database design Application requirements Conceptual design Database Management Systems Conceptual schema Logical design ER or UML Physical Design Relational tables Logical schema Physical design
Toad for Data Analysts, Tips n Tricks
Toad for Data Analysts, Tips n Tricks or Things Everyone Should Know about TDA Just what is Toad for Data Analysts? Toad is a brand at Quest. We have several tools that have been built explicitly for developers
Bitrix Site Manager 4.1. User Guide
Bitrix Site Manager 4.1 User Guide 2 Contents REGISTRATION AND AUTHORISATION...3 SITE SECTIONS...5 Creating a section...6 Changing the section properties...8 SITE PAGES...9 Creating a page...10 Editing
SQL Server. SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases
SQL Server SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases SQL Server 100 Success Secrets Copyright 2008 Notice of rights All
How to Use e-commerce on www.avantormaterials.com
How to Use e-commerce on www.avantormaterials.com Welcome to the Avantor Website! Setting up an account, ordering products and checking your order status have never been easier. Simply follow the instructions
Chapter 4. Learning Objectives. Learning Objectives. Building an E-commerce Web Site. Building an E-commerce Web Site: A Systematic Approach
Chapter 4 Building an E-commerce Web Site Created by, David Zolzer, Northwestern State University Louisiana Copyright 2002 Pearson Education, Inc. Slide 4-1 Copyright 2002 Pearson Education, Inc. Slide
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
Frequently Asked Questions about New Leaf s National Accounts Program
Frequently Asked Questions about New Leaf s National Accounts Program What if I am already selling to some of these national accounts? Simple. Just let us know that you do not need us to present to these
High Level Design Distributed Network Traffic Controller
High Level Design Distributed Network Traffic Controller Revision Number: 1.0 Last date of revision: 2/2/05 22c:198 Johnson, Chadwick Hugh Change Record Revision Date Author Changes 1 Contents 1. Introduction
OVERVIEW OF ASP. What is ASP. Why ASP
OVERVIEW OF ASP What is ASP Active Server Pages (ASP), Microsoft respond to the Internet/E-Commerce fever, was designed specifically to simplify the process of developing dynamic Web applications. Built
IFML by Example: Modeling an Online Bookstore
IFML by Example: Modeling an Online Bookstore This document exemplifies the versatility and adaptability of IFML by modeling the most common features available in a simple UI for a point of sale (POS)
Foundations of Business Intelligence: Databases and Information Management
Foundations of Business Intelligence: Databases and Information Management Problem: HP s numerous systems unable to deliver the information needed for a complete picture of business operations, lack of
How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer
How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise
Specialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools Objective: At the end of the course, Students will be able to: Understand various open source tools(programming tools and databases)
Physical DB design and tuning: outline
Physical DB design and tuning: outline Designing the Physical Database Schema Tables, indexes, logical schema Database Tuning Index Tuning Query Tuning Transaction Tuning Logical Schema Tuning DBMS Tuning
Customer Bank Account Management System Technical Specification Document
Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6
Ameritas Single Sign-On (SSO) and Enterprise SAML Standard. Architectural Implementation, Patterns and Usage Guidelines
Ameritas Single Sign-On (SSO) and Enterprise SAML Standard Architectural Implementation, Patterns and Usage Guidelines 1 Background and Overview... 3 Scope... 3 Glossary of Terms... 4 Architecture Components...
Advanced Software Test Design Techniques Use Cases
Advanced Software Test Design Techniques Use Cases Introduction The following is an excerpt from my recently-published book, Advanced Software Testing: Volume 1. This is a book for test analysts and test
KPN SMS mail. Send SMS as fast as e-mail!
KPN SMS mail Send SMS as fast as e-mail! Quick start Start using KPN SMS mail in 5 steps If you want to install and use KPN SMS mail quickly, without reading the user guide, follow the next five steps.
Sitecore E-Commerce Cookbook
Sitecore E-Commerce Cookbook Rev: 2013-07-23 Sitecore E-Commerce Services 2.1 on CMS 7.0 Sitecore E-Commerce Cookbook A marketer's guide to Sitecore E-Commerce Services Sitecore E-Commerce Cookbook Table
CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model
CS2Bh: Current Technologies Introduction to XML and Relational Databases Spring 2005 The Relational Model CS2 Spring 2005 (LN6) 1 The relational model Proposed by Codd in 1970. It is the dominant data
Schema Design and Normal Forms Sid Name Level Rating Wage Hours
Entity-Relationship Diagram Schema Design and Sid Name Level Rating Wage Hours Database Management Systems, 2 nd Edition. R. Ramakrishnan and J. Gehrke 1 Database Management Systems, 2 nd Edition. R. Ramakrishnan
Techniques for Scaling Components of Web Application
, March 12-14, 2014, Hong Kong Techniques for Scaling Components of Web Application Ademola Adenubi, Olanrewaju Lewis, Bolanle Abimbola Abstract Every organisation is exploring the enormous benefits of
Web Application Development
Web Application Development Introduction Because of wide spread use of internet, web based applications are becoming vital part of IT infrastructure of large organizations. For example web based employee
Microsoft Dynamics GP 2010
Microsoft Dynamics GP 2010 Workflow Administrator s Guide March 30, 2010 Copyright Copyright 2010 Microsoft. All rights reserved. Limitation of liability This document is provided as-is. Information and
Part I: Entity Relationship Diagrams and SQL (40/100 Pt.)
Part I: Entity Relationship Diagrams and SQL (40/100 Pt.) Q.1.1) Translate the following E-R Schema to SQL-DDL tables using the CREATE Table Statement and check constraints, if needed: LatinName EnglishName
Dimension Technology Solutions Team 2
Dimension Technology Solutions Team 2 emesa Web Service Extension and iphone Interface 6 weeks, 3 phases, 2 products, 1 client, design, implement - Presentation Date: Thursday June 18 - Authors: Mark Barkmeier
PERFORMANCE TIPS FOR BATCH JOBS
PERFORMANCE TIPS FOR BATCH JOBS Here is a list of effective ways to improve performance of batch jobs. This is probably the most common performance lapse I see. The point is to avoid looping through millions
Oracle Database 10g Express
Oracle Database 10g Express This tutorial prepares the Oracle Database 10g Express Edition Developer to perform common development and administrative tasks of Oracle Database 10g Express Edition. Objectives
Business Application Services Testing
Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load
Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar
Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs
ebay Module for PrestaShop Seller guide
ebay Module for PrestaShop Seller guide Based on add-on version 1.7.1, published in 04/2014 Document version 1.4 08/2014 1 Information and help General information To find general information on the module,
VP-ASP Shopping Cart Quick Start (Free Version) Guide Version 6.50 March 21 2007
VP-ASP Shopping Cart Quick Start (Free Version) Guide Version 6.50 March 21 2007 Rocksalt International Pty Ltd [email protected] www.vpasp.com Table of Contents 1 INTRODUCTION... 3 2 FEATURES... 4 3 WHAT
Database Management Systems. Chapter 1
Database Management Systems Chapter 1 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 2 What Is a Database/DBMS? A very large, integrated collection of data. Models real-world scenarios
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Outline The Role of Information Systems in
Performance rule violations usually result in increased CPU or I/O, time to fix the mistake, and ultimately, a cost to the business unit.
Is your database application experiencing poor response time, scalability problems, and too many deadlocks or poor application performance? One or a combination of zparms, database design and application
SHARPCLOUD SECURITY STATEMENT
SHARPCLOUD SECURITY STATEMENT Summary Provides details of the SharpCloud Security Architecture Authors: Russell Johnson and Andrew Sinclair v1.8 (December 2014) Contents Overview... 2 1. The SharpCloud
The end. Carl Nettelblad 2015-06-04
The end Carl Nettelblad 2015-06-04 The exam and end of the course Don t forget the course evaluation! Closing tomorrow, Friday Project upload deadline tonight Book presentation appointments with Kalyan
Visual COBOL ASP.NET Shopping Cart Demonstration
Visual COBOL ASP.NET Shopping Cart Demonstration Overview: The original application that was used as the model for this demonstration was the ASP.NET Commerce Starter Kit (CSVS) demo from Microsoft. The
CREDIT CARD PROCESSING
Ex no: Date: CREDIT CARD PROCESSING AIM: To create a system to perform the credit card processing (I)PROBLEM STATEMENT: Credit card processing through offline involves the merchant collecting order information
EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT
EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT Dr. Alexander Pons, University of Miami, [email protected] ABSTRACT The deployment of Web applications consisting of dynamic content requires the selection
Software Requirements Specification for DLS SYSTEM
Software Requirements Specification for DLS SYSTEM 3.1.1 Purpose This is the Software Requirements Specification (SRS) for the DLS (Digital Library System). The purpose of this document is to convey information
New World Construction FTP service User Guide
New World Construction FTP service User Guide A. Introduction... 2 B. Logging In... 4 C. Uploading Files... 5 D. Sending Files... 6 E. Tracking Downloads... 10 F. Receiving Files... 11 G. Setting Download
MTCache: Mid-Tier Database Caching for SQL Server
MTCache: Mid-Tier Database Caching for SQL Server Per-Åke Larson Jonathan Goldstein Microsoft {palarson,jongold}@microsoft.com Hongfei Guo University of Wisconsin [email protected] Jingren Zhou Columbia
4D as a Web Application Platform
4D as a Web Application Platform 4D is a powerful, flexible, and very scalable Web application platform. This white paper examines the common requirements for Web application servers, and discusses the
PeopleTools Tables: The Application Repository in the Database
PeopleTools Tables: The Application Repository in the Database by David Kurtz, Go-Faster Consultancy Ltd. Since their takeover of PeopleSoft, Oracle has announced project Fusion, an initiative for a new
Microsoft Dynamics GP Release. Workflow Administrator s Guide
Microsoft Dynamics GP Release Workflow Administrator s Guide December 10, 2012 Copyright Copyright 2012 Microsoft. All rights reserved. Limitation of liability This document is provided as-is. Information
Virtual Spirits control panel V5
Virtual Spirits control panel V5 Tutorial let s get started Document version 5.4 VSpirits Technologies Ltd. 2013 All Rights Reserved. In this guide, you'll learn how to: 1. Design my chat agent How can
Overview. Physical Database Design. Modern Database Management McFadden/Hoffer Chapter 7. Database Management Systems Ramakrishnan Chapter 16
HNC Computing - s HNC Computing - s Physical Overview Process What techniques are available for physical design? Physical Explain one physical design technique. Modern Management McFadden/Hoffer Chapter
Optimizing Your Data Warehouse Design for Superior Performance
Optimizing Your Data Warehouse Design for Superior Performance Lester Knutsen, President and Principal Database Consultant Advanced DataTools Corporation Session 2100A The Problem The database is too complex
Checklist: Are you ready for ecommerce?
ORGANIZATION 1. Please provide your e-mail address so we can mail your results: 2. ebusiness Plan in Place? An e-business plan is much the same as any business plan where the business concept, its financials,
MICROSOFT BUSINESS SOLUTIONS NAVISION. I WANT THE freedom TO FOCUS ON MY BUSINESS.
MICROSOFT BUSINESS SOLUTIONS NAVISION I WANT THE freedom TO FOCUS ON MY BUSINESS. You ve got it, with Microsoft Business Solutions Navision. I WANT A system THAT HELPS ME RUN MY BUSINESS THE WAY I WANT.
Access Tutorial 1 Creating a Database
Access Tutorial 1 Creating a Database Microsoft Office 2013 Objectives Session 1.1 Learn basic database concepts and terms Start and exit Access Explore the Microsoft Access window and Backstage view Create
Chapter 6 FOUNDATIONS OF BUSINESS INTELLIGENCE: DATABASES AND INFORMATION MANAGEMENT Learning Objectives
Chapter 6 FOUNDATIONS OF BUSINESS INTELLIGENCE: DATABASES AND INFORMATION MANAGEMENT Learning Objectives Describe how the problems of managing data resources in a traditional file environment are solved
A Comparison of Software Architectures for E-Business Applications
A Comparison of Software Architectures for E-Business Applications Emmanuel Cecchet, Anupam Chanda, Sameh Elnikety, Juli Marguerite and Willy Zwaenepoel Rice University Department of Computer Science Dynamic
There are four technologies or components in the database system that affect database performance:
Paul Nielsen Presented at PASS Global Summit 2006 Seattle, Washington The database industry is intensely driven toward performance with numerous performance techniques and strategies. Prioritizing these
http://www.nwea.org/support/course/enrolling-test-term
Script: Enrolling for a Test Term: Creating Your Class Roster File and Special Programs File. This document is the script containing the narration text for the online training Enrolling for a Test Term:
Web Pages. Static Web Pages SHTML
1 Web Pages Htm and Html pages are static Static Web Pages 2 Pages tagged with "shtml" reveal that "Server Side Includes" are being used on the server With SSI a page can contain tags that indicate that
FileMaker 14. ODBC and JDBC Guide
FileMaker 14 ODBC and JDBC Guide 2004 2015 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks of FileMaker,
CPS122 - OBJECT-ORIENTED SOFTWARE DEVELOPMENT. Team Project
CPS122 - OBJECT-ORIENTED SOFTWARE DEVELOPMENT Team Project Due Dates: See syllabus for due dates for each milestone This project spans much of the semester, to be completed as a series of milestones, each
Customer admin guide. UC Management Centre
Customer admin guide UC Management Centre June 2013 Contents 1. Introduction 1.1 Logging into the UC Management Centre 1.2 Language Options 1.3 Navigating Around the UC Management Centre 4 4 5 5 2. Customers
Guide to Upsizing from Access to SQL Server
Guide to Upsizing from Access to SQL Server An introduction to the issues involved in upsizing an application from Microsoft Access to SQL Server January 2003 Aztec Computing 1 Why Should I Consider Upsizing
DATA MODELING AND RELATIONAL DATABASE DESIGN IN ARCHAEOLOGY
DATA MODELING AND RELATIONAL DATABASE DESIGN IN ARCHAEOLOGY by Manuella Kadar Abstract. Data from archaeological excavation is suitable for computerization although they bring challenges typical of working
Building Java Servlets with Oracle JDeveloper
Building Java Servlets with Oracle JDeveloper Chris Schalk Oracle Corporation Introduction Developers today face a formidable task. They need to create large, distributed business applications. The actual
Tune That SQL for Supercharged DB2 Performance! Craig S. Mullins, Corporate Technologist, NEON Enterprise Software, Inc.
Tune That SQL for Supercharged DB2 Performance! Craig S. Mullins, Corporate Technologist, NEON Enterprise Software, Inc. Table of Contents Overview...................................................................................
Quick Start SAP Sybase IQ 16.0
Quick Start SAP Sybase IQ 16.0 UNIX/Linux DOCUMENT ID: DC01687-01-1600-01 LAST REVISED: February 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and
Government of Saskatchewan Executive Council. Oracle Sourcing isupplier User Guide
Executive Council Oracle Sourcing isupplier User Guide Contents 1 Introduction to Oracle Sourcing and isupplier...6 1.0 Oracle isupplier...6 1.1 Oracle Sourcing...6 2 Customer Support...8 2.0 Communications
Course 55144B: SQL Server 2014 Performance Tuning and Optimization
Course 55144B: SQL Server 2014 Performance Tuning and Optimization Course Outline Module 1: Course Overview This module explains how the class will be structured and introduces course materials and additional
An introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
How to test and debug an ASP.NET application
Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult
Enterprise Resource Planning Analysis of Business Intelligence & Emergence of Mining Objects
Enterprise Resource Planning Analysis of Business Intelligence & Emergence of Mining Objects Abstract: Build a model to investigate system and discovering relations that connect variables in a database
