throbber
100%
`
`ONf HUNDRfD PfiCfNT
`COMPREHENSI VE
`AUTHORITATIVE
`WHAT YOU NEED
`ONf HUNDRfD PfiCfNT
`
`Master the
`leading open source
`relational datallase
`management system
`
`Tune performance
`and security on
`datallase servers
`Build MySQL
`datallase applications
`using Perl, PHP, Java,
`and ODIC
`
`Steve Suehring
`
`PALO ALTO NETWORKS Exhibit 1043 Page 1
`
`

`
`MySQL™ Bible
`Published by:
`Wiley Publishing, Inc.
`909 Third Avenue
`New York, NY 10022
`www.wiley.com
`Copyright © 2002 Wiley Publishing, Inc. All rights reserved. No part of this book, including interior design, cover design,
`and icons, may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording, or
`otherwise) without the prior written permission of the publisher.
`Library of Congress Control Number: 2002103290
`ISBN: 0-7645-4932-4
`Printed in the United States of America
`10 9 8 7 6 5 4 3 2 1
`1B/RY/QW/QS/IN
`Distributed in the United States by Wiley Publishing, Inc.
`Distributed by CDG Books Canada Inc. for Canada; by Transworld Publishers Limited in the United Kingdom; by IDG Norge
`Books for Norway; by IDG Sweden Books for Sweden; by IDG Books Australia Publishing Corporation Pty. Ltd. for Australia
`and New Zealand; by TransQuest Publishers Pte Ltd. for Singapore, Malaysia, Thailand, Indonesia, and Hong Kong; by
`Gotop Information Inc. for Taiwan; by ICG Muse, Inc. for Japan; by Intersoft for South Africa; by Eyrolles for France; by
`International Thomson Publishing for Germany, Austria, and Switzerland; by Distribuidora Cuspide for Argentina; by LR
`International for Brazil; by Galileo Libros for Chile; by Ediciones ZETA S.C.R. Ltda. for Peru; by WS Computer Publishing
`Corporation, Inc., for the Philippines; by Contemporanea de Ediciones for Venezuela; by Express Computer Distributors for
`the Caribbean and West Indies; by Micronesia Media Distributor, Inc. for Micronesia; by Chips Computadoras S.A. de C.V.
`for Mexico; by Editorial Norma de Panama S.A. for Panama; by American Bookshops for Finland.
`For general information on Wiley’s products and services please contact our Customer Care department; within the U.S. at
`800-762-2974, outside the U.S. at 317-572-3993 or fax 317-572-4002.
`For sales inquiries and resellers information, including discounts, premium and bulk quantity sales and foreign language
`translations please contact our Customer Care department at 800-434-3422, fax 317-572-4002 or write to Wiley Publishing,
`Inc., Attn: Customer Care department, 10475 Crosspoint Boulevard, Indianapolis, IN 46256.
`For information on licensing foreign or domestic rights, please contact our Sub-Rights Customer Care department at
`650-653-7098.
`For information on using Wiley’s products and services in the classroom or for ordering examination copies, please contact
`our Educational Sales department at 800-434-2086 or fax 317-572-4005.
`For press review copies, author interviews, or other publicity information, please contact our Public Relations department
`at 650-653-7000 or fax 650-653-7500.
`For authorization to photocopy items for corporate, personal, or educational use, please contact Copyright Clearance
`Center, 222 Rosewood Drive, Danvers, MA 01923, or fax 978-750-4470.
`LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND AUTHOR HAVE USED THEIR BEST EFFORTS
`IN PREPARING THIS BOOK. THE PUBLISHER AND AUTHOR MAKE NO REPRESENTATIONS OR WARRANTIES WITH
`RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS BOOK AND SPECIFICALLY DISCLAIM
`ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. THERE ARE NO
`WARRANTIES WHICH EXTEND BEYOND THE DESCRIPTIONS CONTAINED IN THIS PARAGRAPH. NO WARRANTY
`MAY BE CREATED OR EXTENDED BY SALES REPRESENTATIVES OR WRITTEN SALES MATERIALS. THE ACCURACY
`AND COMPLETENESS OF THE INFORMATION PROVIDED HEREIN AND THE OPINIONS STATED HEREIN ARE NOT
`GUARANTEED OR WARRANTED TO PRODUCE ANY PARTICULAR RESULTS, AND THE ADVICE AND STRATEGIES
`CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY INDIVIDUAL. NEITHER THE PUBLISHER NOR AUTHOR
`SHALL BE LIABLE FOR ANY LOSS OF PROFIT OR ANY OTHER COMMERCIAL DAMAGES, INCLUDING BUT NOT
`LIMITED TO SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR OTHER DAMAGES.
`
`Trademarks: MySQL is a trademark of MySQL AB. All other trademarks are the property of their respective owners. Wiley
`Publishing, Inc., is not associated with any product or vendor mentioned in this book.
`
`PALO ALTO NETWORKS Exhibit 1043 Page 2
`
`

`
`CHAPTER
`
`• • • •
`
`In This Chapter
`
`Considering
`applications for
`databases
`
`Comparing SQL
`implementations
`
`Introducing MySQL
`
`• • • •
`
`Relational
`Database
`Management
`
`Before you sound the depths of MySQL, it would be help(cid:173)
`
`ful to look at some applications for databases and at
`other implementations of SQL servers.
`
`This chapter lays out some groundwork for the rest of the
`book-in particular, with tables that illustrate MySQL's
`extensions to the SQL-92 standard and compare some popular
`functions of database servers.
`
`Applications for Databases
`
`Databases are a part of everyday life, usually without your
`knowledge. From obvious applications (like customer
`databases for insurance companies) to not-so-obvious uses
`(such as storing actual images within a database for
`recognition), database use is pervasive and increasing.
`
`Customer databases
`Not a day goes without telephone calls from people trying to
`sell products or new long-distance plans. You and I are in
`more than a few customer databases- and some of the
`places I've done business with have shared my telephone
`number with some of their friends, who've then shared it with
`some of their friends- another fact of life that's traceable to
`the proliferation of databases.
`
`Taking a look at some information stored in a few "everyday"
`databases can serve as an example of the different types of
`information each one collects, tracks, and sometimes stores(cid:173)
`about you, me, and probably everyone you know. Whatever
`your views on issues of politics and privacy, these common
`examples form a picture of databases in action.
`
`PALO ALTO NETWORKS Exhibit 1043 Page 3
`
`

`
`4
`
`Part I ✦ Getting Started
`
`Telephone companies
`The telephone company that owns my area stores basic information about me — first
`and last name, address, city, state, ZIP code, and telephone number — information
`that’s not only basic but also common across almost all customer databases. Beyond
`the basic information, the local telephone company also requires my social security
`number (which helps them find me should I attempt to forego payment and leave
`the area).
`
`Within the telephone company database is a system to keep notes and correspon-
`dence. For example, each time I call to talk with a customer service representative,
`a note goes into my file — indicating what I was calling about, the outcome (if any),
`as well as the date, time, and representative’s name — all of which is recorded
`automatically when the note is entered.
`
`Beyond the personal information and correspondence notes, the telephone company
`database also serves as a billing system that generates my phone bill automatically
`on the fourth day of every month. The database tracks what services I have (such as
`Call Waiting, Caller ID, and so forth), associates each service with a price, and tallies
`my bill for the month.
`
`Having customer, billing, and rate information in a database allows the telephone
`company to produce reports that can pinpoint how many customers have a certain
`rate group, how many live in a certain area, how many have delinquent payments,
`and so on.
`
`Beyond customer reports, the telephone company has become much more sophis-
`ticated in its use of the data. Previously when I would call for customer service, I
`would get to talk to a live person after a bit of a wait. They then improved their
`customer service by allowing me to punch in my 10-digit telephone number and
`look up my records. From there, I might eventually get to talk to a live person (if
`I didn’t select any of the common tasks on the voice-mail menu). The latest
`improvement is the use of caller identification to ask me whether I’m calling in
`regard to the number that I’m calling from. After more menus and prompts, I may
`be able to reach a live operator.
`
`Behind the scenes during this process is a database that can look up my informa-
`tion when it is fed my 10-digit number. The telephone company database can then
`give me choices based on the current status of my account. I once had the misfor-
`tune of fraudulent charges on my telephone bill — about $650 worth. I immediately
`put that amount into dispute and was told to pay my normal $45 bill — but I still
`ended up receiving a disconnection notice. When I called back to inquire into the
`notice, I was forwarded automatically to the collections department (who, after
`some discussion, handed me off to the regular customer service department).
`Moral: Databases can speed up only those aspects of a transaction that don’t
`require the use of common sense.
`
`PALO ALTO NETWORKS Exhibit 1043 Page 4
`
`

`
`Chapter 1 ✦ Relational Database Management
`
`5
`
`Online or mail-order stores
`Another type of customer database is kept by an online store such as Amazon.com
`or a mail-order catalog store. The basic information is kept (name, address, and so
`on); most online and many catalog stores also keep your e-mail address as well. In
`addition, many stores track payment information so you don’t have to give your
`credit card number every time you want to make a purchase.
`
`As monopolies, most telephone companies can afford to do minimal marketing of
`their products and services. To survive in a competitive market, however, catalog
`and online stores keep track of how their customers heard about them. From that
`information, they can produce a report that helps identify the most effective means
`of advertising (or look for wiser ways to spend marketing money).
`
`Major catalog and online stores also track your purchases through a database and
`offer recommendations based upon previous purchase patterns. For example, if you
`frequently buy books on Linux, Amazon.com might custom-build a page for you of
`newly released Linux books. All such information is stored in one or more
`databases.
`
`Catalog and online stores can use the reporting capabilities of an electronic database
`to watch which items are selling best, discern and track patterns of visitors, and
`gather data on sales totals for items and departments.
`
`Custom-service Web sites
`Another interesting use of customer type databases is to track user preferences. An
`example of this would be the Web site Slashdot, http://www.slashdot.org/. At
`Slashdot, they don’t keep information like credit card number or address, but they
`do keep track of your e-mail address and what news modules you want to see,
`among other things. In this manner, you can customize the news you see, as well as
`other Slashdot features. Some user-preference sites do keep personal information
`such as name and address.
`
`Though all three examples of customer databases — telephone company, online
`store, and user-preferences site — track some of the same information, they also
`track their own, task-specific information. This makes it difficult for an identity thief
`to gain access to all your personal information in one place. However, personal
`information security seems to be taking a backseat to the rise of all-in-one tracking
`services that keep information centrally. Imagine what the telemarketers could do if
`they had access to all my purchase histories and even my e-mail address!
`
`Internet service providers’ databases
`Internet service providers (ISPs) use electronic databases more heavily than many
`other industries. Almost everything an ISP does is in electronic format; being rela-
`tively young as an industry, they’ve grown up with good database tools readily
`available. In many ways, ISP databases combine the functions of all three types of
`customer databases I referred to earlier.
`
`PALO ALTO NETWORKS Exhibit 1043 Page 5
`
`

`
`6
`
`Part I ✦ Getting Started
`
`The most obvious database use for an ISP is as a customer database — containing the
`usual (basic) name-and-address information. Like the online or catalog stores,
`the ISP database also stores information such as credit card or other billing data.
`Correspondence notes are kept inside a database as well as marketing and referral
`records to track marketing effectiveness. An ISP database usually has your e-mail
`address as well.
`
`ISPs also use user-preference databases to remember your settings and make your
`online experience more productive — they use the same types of database informa-
`tion as a news site.
`
`One area that many people overlook with ISPs what the industry calls accounting
`data — not the dollars-and-cents kind, but rather an accounting of who was using
`what modem or IP address at a given point in time. This accounting data can then
`be tracked to find usage patterns of a particular user or group of users. In addition,
`when an abuse report or subpoena is received, the ISP can quickly locate the user
`in question and take action or fulfill the subpoena request.
`
`Tip
`
`Many people wrongly believe they are anonymous when online. The reality is
`quite the contrary. With the use of databases to track accounting information, find-
`ing any given user who was online at any given time is almost trivially easy.
`
`Some ISPs use databases as a means to track possible attacks against their equip-
`ment. Databases are an efficient way to watch for patterns of attack and keep data
`from an attack for possible future litigation or action against the attacker.
`
`As you would expect, ISPs also use the reporting features of their databases.
`Reports can quickly be generated on revenue, high usage customers, or anything
`else tracked in the database.
`
`Criminology and databases
`Law enforcement has been quick to adopt electronic databases as an effective tool
`for helping to catch criminals. Through identification databases, offender tracking,
`and face recognition, law enforcement can efficiently assemble varied pieces of
`information to assist in investigations.
`
`Although fingerprinting technology is not new, the use of electronic databases to
`store and retrieve fingerprints is a new (and powerful) extension of the technique.
`Other identification data can also be gathered and tracked for law enforcement —
`tax records, permits, and driver’s-license information can help law enforcement find
`people. That information can easily be shared with other law enforcement agencies
`at speeds that weren’t imaginable just a generation ago.
`
`The electronic database is an ideal tool for certain other forms of information. For
`example, when tracking offenders by modus operandi (a pattern that emerges in
`
`PALO ALTO NETWORKS Exhibit 1043 Page 6
`
`

`
`Chapter 1 + Relational Database Management
`
`7
`
`crimes), the investigator can query a database to find suspects who might fit the
`pattern. Storing actual images of faces (for example, mug shots) in a database can
`help investigators find matches to faces. However, use of this technology in places
`other than investigations has led privacy groups to express some concerns.
`
`Advantages of using databases
`The speed, accuracy, and thoroughness of electronic databases make them critical
`to today's 24/7 high-speed exchange of information. Even the handful of examples
`in this chapter should strongly suggest the advantages-some of which appear in
`Table 1-1-of using and developing applications for databases.
`
`Table 1-1
`Advantages of Using Databases
`
`Advantage
`
`Description
`
`Speed
`
`Reporting
`
`Accuracy
`
`Thoroughness
`
`Format means quick storage and retrieval of information. Users and
`applications have a quick means for asynchronous reads and writes
`of data.
`Information can be gathered, quantified, and custom-analyzed with
`greater flexibility.
`Given careful data input, databases provide accurate and consistent
`results based on their data.
`Databases can store and report results as complete and detailed as
`their holdings- at electronic speed.
`
`Comparing SQL Implementations
`
`SQL, or Structured Query Language, is a specialized type of programming language
`developed to work with relational databases such as MySQL, Oracle, Microsoft SQL
`Server, PostgreSQL, Informix, and others.
`
`The SQL standard is defined by ANSI, the American National Standards Institute in
`their ISO/IEC 9075:1992 document. (The standard is commonly referred to as ANSI
`SQL-92.) Every relational database applies its own version of the SQL standard; many
`enhance that standard. Standardizing the programming language allows the devel(cid:173)
`oper to address the database in much the same way from platform to platform -and
`every major platform has such products written for it. Table 1-2 compares some
`popular relational-database products as illustrative examples.
`
`PALO ALTO NETWORKS Exhibit 1043 Page 7
`
`

`
`8
`
`Part I + Getting Started
`
`Table 1-2
`Comparison of SQL Implementations
`
`RDBMS
`
`Advantages
`
`Drawbacks
`
`Oracle
`MS SQL Server
`
`PostgreSQL
`
`lnformix
`
`MySQL
`
`Versatile, stable, and secure.
`Stable and secure; Microsoft
`offers excellent support.
`Up-and-coming database
`with low TCO.
`
`Stable; has good support
`available.
`Offers a best-case-scenario
`database in many ways; low
`TCO, high stability, high security,
`and excellent support.
`
`Potentially high TCO.
`Relatively high TCO;
`prop ri eta ry.
`Has yet to be widely
`implemented in large-scale
`business use.
`Generally higher TCO.
`
`Not all available versions can
`offer the full range of MySQL
`capabilities.
`
`Oracle
`Oracle Corporation, http: I /www. orac 1 e. com/, is arguably the leader in enterprise(cid:173)
`level database server software for e-commerce. The Oracle database product is
`widely used in various types of large applications- including those mentioned in
`the previous section -and is popular largely because its characteristics apparently
`have a minimal downside:
`
`+ Versatility: Oracle Corporation offers many e-commerce products that integrate
`with their databases, which can help streamline the process of designing, build(cid:173)
`ing, and using database applications.
`+ Stability: Administrators report that Oracle database servers rarely fail(cid:173)
`reassuring if your applications require 24/7 uptime.
`+ Available graphical user interface: Oracle offers many GUI tools for manag(cid:173)
`ing the database server (though whether this feature is a plus or minus
`depends on which administrator you ask).
`+ Security: Versions of Oracle now include a security toolkit that allows encryp(cid:173)
`tion of sensitive data within the database. Like other RDBMS products, Oracle
`also provides user-level security within a database to protect the data from
`malicious users or operator errors.
`+ Support: Oracle Corporation has historically been responsive to customer
`requests for new features in the database product. Oracle moves quickly to
`seize new opportunities as well-listening to customers, watching market
`trends, and maintaining thorough online documentation through the Oracle
`Technology Network (see Figure 1-1).
`
`PALO ALTO NETWORKS Exhibit 1043 Page 8
`
`

`
`Chapter 1 + Relational Database Management
`
`9
`
`libr4
`Products,
`J e chnolngje s . l.u1em.e.t
`DBA , OocumEint ation,
`Oracle Magazine
`Soft\1/are
`oo .... mloads '
`Samole Cod~
`Hostgd Oovclopmont
`Orad eMnhj!e Online
`Stud10 , Portal Studio
`Collaboratiotl
`Discussion F otums .
`Events, iDevelop 2001,
`User Group
`Skills Nar1<c!Piace
`~.~.
`Post an RFP
`
`Think9i Seminar for ISVs
`Aitmd ihie fnt ttchrucal eHninsr toleamhow to tpttdup
`l:lpplicoti.on developmenl improve denloper efficiency. llJld
`reduce implemu"ttation coS:t$ using01tcl!9). h:r,t#d(YJ N SNP.'J.OOJ
`
`Act Now to Receive One Year of Online Training from
`OLH for Sl99
`For o.linU~ed tirn.e, recei'Te o one-veu :n~bscsiption io Ot·ocle's
`teaming ""'" · Oracle Leaming l~eLwru (OLN). fe< ot~Y 5399
`USD. You will tecei'7$ access to traming elessas on Database
`Admini~t.n.tion lo.v-o. Developm~nt.. Applicd.i.on DenlopmenL.
`atld E:..Busineu Sui1e Implementation Thi~ offer ends N ovembu·
`:-ot.h, 200l . ?~vudcn JSJ:Bl·:II~J
`
`Aulherltlcaliorl IAP.1hods for Applications: and Portlets
`A new elticle describes h ow lhe Calendar sampl~ epphcation
`uses Oracle91115 Single Sign-c<t (SSQJ and0tocle91AS Pottol ;o
`timpbf¥ uttKprise comp1.rt.mg tul:s fot Web. baud md-uc~~ .
`;cr.w""' n .JaP.1(1(lJ
`
`Orade9i Open Gateways Documentation Available
`Oracl~91 Op~ Gat~lWivs provide the ability to UMspar~nUy
`access data reeidmg ttl. anon-Oracl~ system from en Oracle
`environment. Docum..,oLatioo is available fcorlnfo11t"lix lngres.
`Sybau , and T uadsta 86t~w6yc. 1cr.W«~ O?.MP.1(1(lJ
`
`Orade9iDaily Feature
`9i08: Oracle9i Database Dail•1
`Feature: I.J~tive XML
`Generatjon and Storage jn
`Oracle9i Oat~base
`9iAS: ~tAf=: Q;ojly fP.all 1re 0 1ar:IP.
`Internet Directory .
`Pa~fo/Jflfd P nljr:v
`Manaqemen1
`
`think9i
`Mobile
`
`Download NOW!
`n rar.le9r QaJahasP.
`The l~ew Oracle9iAS
`OraciP9i JO~v~lop~r Bet a
`
`Figure 1-1: The Oracle Technology Network is just one of many support offerings
`for Oracle.
`
`+ Cross-platfonn capability: Popular versions include Oracle on Microsoft
`Windows as well as Linux. Oracle also supports ANSI-92 SQL standards with
`modifications and enhancements.
`
`+ Poten tially high Total Cost o f Ownership (fCO): Oracle's database server
`requires considerable high-end hardware resources (such as processor speed
`and RAM capacity) to run at an acceptable leveL
`
`Microsoft SQL Server
`Like Oracle, Microsoft has been a key player in the database market-though
`Microsoft has had to play constant catch-up in the realm of the Internet and
`e-commerce. Although Microsoft is the acknowledged leader in desktop operating
`systems (thanks to its good sense of the marketplace and emphasis on fulfilling
`the needs of consumers), that advantage has not translated smoothly to the
`e-commerce market.
`
`The characteristics of Microsoft SQL Server itself are consistent with its maker's
`traditional strengths, strategies, and limitations:
`
`PALO ALTO NETWORKS Exhibit 1043 Page 9
`
`

`
`10
`
`Part I ✦ Getting Started
`
`✦ Fairly high stability: MS SQL Server offers a degree of stability that is
`designed to be compatible with Windows OS. However, due to numerous
`security problems in that underlying operating system, some corporate
`customers are reluctant to invest in MS SQL Server as a solution for their
`database needs. In addition, having to reboot the host computer (Windows-
`style) to update the server or database software is completely unacceptable
`to potential customers who require maximum server uptime.
`✦ Ease of use: MS SQL Server operates via Windows-style GUI, which can help
`ease the learning curve and add the appeal of familiarity for customers seek-
`ing hassle-free transactions.
`✦ Compliance with ANSI SQL-92: MS SQL Server not only adheres to the entry-
`level standard, but also extends it (arguably no less than other relational
`databases).
`✦ Accessible support: SQL Server is available directly from Microsoft, as well
`as from outside vendors. Microsoft provides a great deal of support informa-
`tion on their SQL Server Web site (and in the Microsoft Knowledge Base) —
`sometimes too much to find exactly what you are looking for.
`✦ High Total Cost of Ownership: Like the operating systems it runs on, SQL
`Server is extremely resource-intensive of both CPU speed and RAM capacity.
`This aspect of the product reduces its appeal to many small businesses.
`Adding to the cost is the licensing — running into thousands of dollars in fees
`for SQL Server itself — not counting the operating system or other software
`and hardware to make the database work. However, thorough support and
`backing for Microsoft products make them worth the cost for some IT profes-
`sionals (provided their companies can afford the outlay).
`✦ Proprietary vendor: Since MS SQL Server is not cross-platform, some poten-
`tial buyers are afraid to implement it lest they rely too much on one vendor. If
`the vendor suddenly decides to charge too much for a new feature or patch to
`the server, the company might have to pay more than it planned.
`
`PostgreSQL
`A relative newcomer to the RDBMS field, PostgreSQL, (http://www.postgresql.
`org) has quickly gathered quite a following. PostgreSQL is a work in progress —
`what software isn’t? — but is remarkably stable for such a young a product, as a list
`of its characteristics shows:
`
`✦ Compliance with SQL-92: PostgreSQL follows most of the SQL-92 standard,
`and is available for many operating systems — including Windows 2000/NT
`(through the use of special tools) and MacOS X. An open-source product,
`PostgreSQL is bundled with many versions of the Linux operating system.
`✦ Low Total Cost of Ownership: The PostgreSQL database-server software is
`available for minimal outlay — the software is free of charge — a potential
`advantage when compared to Oracle or Microsoft SQL Server.
`
`PALO ALTO NETWORKS Exhibit 1043 Page 10
`
`

`
`Chapter 1 ✦ Relational Database Management
`
`11
`
`✦ Support: Like MySQL, PostgreSQL offers commercial support through different
`independent consulting firms (though its actual documentation is relatively
`light).
`✦ Relatively limited adoption: Although PostgreSQL supports some important
`functions of larger RDBMS products — in particular, transactions — it can be
`slower than some of its competitors (including Oracle) when keeping transac-
`tional data. Speed may be one reason that not many large-scale businesses
`have chosen PostgreSQL, despite some advantages over its more expensive
`database brethren.
`
`Informix
`IBM’s Informix series of database servers are poised to compete for large-scale
`database applications. Informix is a popular RDBMS that has the backing of IBM, as
`is reflected in its characteristics:
`
`✦ Diverse product line: Informix offers a wide array of database servers depend-
`ing on the needs of the application. From online transactions to parallel pro-
`cessing to high availability and more, Informix produces an optimized server
`for nearly all uses.
`✦ Cross-platform capabilities: Informix runs on a variety of platforms and also
`offers a range of tools to assist with the development of both back-end and
`front-end database applications.
`✦ Potentially high Total Cost of Ownership: Like its other commercial counter-
`parts, the TCO for Informix can become prohibitive for small business.
`✦ Documentation and support: Documentation for Informix is excellent — and
`much of it is available free from the IBM Web site. As you would expect, IBM
`provides solid backing of the product and support for Informix customers.
`
`Introducing MySQL
`
`Where does MySQL fit in with all the other RDBMS products available? In many
`ways, MySQL offers a best-of-all worlds scenario: It runs on many platforms, enjoys
`a low TCO, and is stable. The documentation for MySQL is excellent. MySQL AB has
`a thorough Web site containing reference material, as well as a link to mailing-list
`archives. MySQL AB also offers high-quality support for their products, including a
`service that allows MySQL developers to log in to your server to correct problems
`and proactively help with optimization. MySQL is gaining RDBMS market share
`because it offers stability, support, and low cost.
`
`MySQL versions and features
`MySQL is available for many different operating systems on a variety of computer
`architectures. MySQL currently has versions for Linux, Windows 95/98/NT/2000,
`
`PALO ALTO NETWORKS Exhibit 1043 Page 11
`
`

`
`12
`
`Part I + Getting Started
`
`Solaris, FreeBSD, MacOS X, HP-UX, AIX, SCO, SCI Irix, Dec OSF, and BSDi. The Linux
`version runs on a range of architectures that includes Intellibc6, Alpha, IA64,
`SPARC, and S/390. The availability of cross-platform versions has enhanced the pop(cid:173)
`ularity of MySQL.
`
`In addition to the standard MySQL database server, an enhanced version of MySQL
`is available- MySQL-Max. MySQL-Max includes the standard MySQL server, plus
`support for transaction-safe tables such as InnoDB or Berkeley DB (BOB). Table 1-3
`shows the platforms and the transactional tables included with MySQL-Max.
`
`Table 1-3
`Transaction-Safe Tables in MySQL-Max Versions
`
`Platform of Version
`
`Berkeley DB Available?
`
`lnnoDB Available?
`
`AIX4.3
`
`HP-UX 11.0
`
`Linux (Alpha)
`
`Linux (Intel)
`
`Linux (IA64)
`
`Solaris (Intel)
`
`Solaris (SPARC)
`
`Windows 2000/NT
`
`No
`
`No
`
`No
`
`Yes
`
`No
`
`Yes
`
`Yes
`
`Yes
`
`Yes
`
`Yes
`
`Yes
`
`Yes
`
`Yes
`
`Yes
`
`Yes
`
`Yes
`
`MySQL is available as either a binary or a source-code download; if you want to add
`a feature to MySQL for your application, you can download the source code and
`modify it to your liking.
`
`Tip
`
`Downloading the source code also allows you to include support for transaction(cid:173)
`safe tables when you compile the code.
`
`MySQL is covered under the GNU General Public License (GPL) and the GNU Lesser
`General Public License (LGPL). To that end, most versions of MySQL require no
`license or purchase.
`
`The GNU GPL and LGPL are included for reference in Appendixes Band C, respec(cid:173)
`tively. Additional information on licensing is in Chapter 2.
`
`MySQL also has many Application Programming Interfaces (APis) to give the
`developer to access and shape the database via programs in various languages.
`APis are available for C, C++, Tel, Python, PHP, and Perl. Some of the most popular
`for programming Web interfaces are PHP and Perl. MyODBC makes MySQL ODBC(cid:173)
`compliant as well.
`
`PALO ALTO NETWORKS Exhibit 1043 Page 12
`
`

`
`Chapter 1 + Relational Database Management
`
`1 3
`
`Standards and compatibility
`MySQL follows nearly the entire SQL-92 standard. As is the case with other RDBMS
`products, MySQL extends the SQL standard in distinctive ways (though it can be run
`in an ANSI-only mode). Also, as you would expect, if you use some of the MySQL
`specific extensions to the standard, your database may no longer be portable to
`another RDBMS should you choose to change it at a later date.
`
`You can help your MySQL system maintain compatibility with other databases by
`enclosing any non-standard (MySQL-specific) extensions like this:
`
`I*!
`
`(statement) *I
`
`Other RDBMS systems should ignore the enclosed statement, which saves you from
`having to recode. MySQL simply ignores the brackets and processes the MySQL(cid:173)
`specific statement as normal.
`
`Also, if you add a version number after the exclamation mark, MySQL ignores the
`statement within the brackets unless it follows that version number. For example,
`consider the following line of code:
`
`1*!32343 (statement) *I
`
`On versions older than 3.23.43, the statement within the brackets would be ignored.
`
`Table l-41ists a substantial sample of the numerous MySQL extensions to the
`SQL-92 standard.
`
`Not all extensions listed in Table 1-4 are unique to MySQL, but their use in the
`specific context mentioned in the table may be unique to MySQL (or an extension
`to the standard).
`
`Table 1-4
`MySQL Extensions to SQL-92
`
`Extension
`
`Type/ application
`
`Description or context
`
`%
`
`\
`
`andand
`
`Operator
`
`Operator
`
`Operator
`Operator
`
`Used as a substitute for the mod
`command.
`Escape character. Used where an
`operation would include a normally
`reserved character.
`Used to enclose strings.
`Logical AND.
`
`Continued
`
`PALO ALTO NETWORKS Exhibit 1043 Page 13
`
`

`
`14
`
`Part I + Getting Started
`
`Extension
`II
`
`asc
`
`analyze table
`auto_ increment
`binary
`bit_and()
`
`bi t_count()
`bit_or()
`
`blob
`
`case
`change
`<column name>
`check table
`count(distinct)
`create database
`decode()
`delayed
`
`desc
`
`Statement extension
`
`drop
`<column name>
`drop database
`drop index
`
`drop table
`
`e lt ()
`encode()
`encrypt()
`explain select
`flush (option )
`
`Statement extension
`
`Statement
`Statement extension
`
`Statement extension
`Function
`Function
`
`Function
`Statement
`Statement
`
`Table 1-4 (continued)
`Type/application
`Description or context
`
`Operator
`Operator
`Statement extension
`
`Statement
`Field attribute
`Field attribute
`Statement extension
`Function
`
`Statement extension
`Type
`Function
`Statement extension
`
`Statement
`Statement extension
`Statement
`Function
`
`Statement extension
`
`Used as OR (not to concatenate).
`Used to set variables.
`Used with group by to indicate the
`order for results.
`Used to examine a table.
`Increments a value.
`Controls case sensitivity.
`Used with group by for ANDing of bits.
`
`Returns the number of bits.
`Used with group by for ORing of bits.
`Extensions to b 1 ob type.
`Flow-control option.
`Used with a 1 te r tab 1 e to modify a
`column.
`Used to examine a table.
`Counts multiple items.
`Creates a database.
`String function.
`Used with INSERT or R

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket