MySQL and JSP Web applications Why Do We Need Databases?Well, one reason is so that Larry Ellison of Oracle can afford to keep himself on Prozac when he thinks about Bill Gates。 A more serious answer is the same reason that drove man to first press a stick against a piece of wet mud: because it's good to write things down。 Web servers are marvelous creatures, but they're a bit like idiot savants。 Ask them to serve a Web page or run a piece of Java, and they perform like a champ。 But start asking them to remember what they did five minutes ago, and they develop amnesia faster than a character in a soap opera。  The first and most important reason that you use databases is that there's a lot in an e-commerce transaction that you need to remember and track:   76224

•A user's name, address, credit card, and other information previously entered on a registration page

•hat the user might have put into a shopping cart and left from a previous transaction 

 •What items are in stock, along with their price, description, and so on   

•Orders that need to be fulfilled, orders that have been shipped, and items that have been backordered 。  Now, you could store all this information in a flat file on the server's hard disk, but there are other important properties that you want to have for this data:   

•You want to be able to back out a transaction if part of it fails。   

•You want to be able to locate the data somewhere more secure than the Web server, which could be in a DMZ or outside the firewall altogether。   

•You want to be able to access data such as user data or products quickly, even if there are thousands or millions of them。  When you add these items to the shopping list, only a relational database will really do the job effectively。论文网

1。1MySQL

Many sites don't need the battleship strength (and price tag) of Oracle。 MySQL is an open-source SQL database available for anyone to use, with many (although not all) of the features of its big brothers, such as Oracle。   MySQL is available for just about any computer that has decent power—it is fairly lightweight on the processor and easy to install (10 minutes, as opposed to multiple hours for Oracle)。   So, perhaps you are wondering, what's the catch? What are you not getting in MySQL that makes people turn to Oracle? Well, MySQL is a neat little package, but it is missing some things that would be nice to have in a perfect world。   A major feature that MySQL does not offer is database consistency checking。 You can use foreign key tags in your schema, but MySQL cheerfully ignores them。 A lot of DB As I know would consider this a very bad thing。  A foreign key constraint prevents you from creating inconsistent data。 Forexample, let's suppose that you had a scheme that looked like this:   CREATE TABLE USER (         USERID INTEGER,          FIRST_NAME     VARCHAR(80),         LAST_NAME      VARCHAR(80));  CREATE TABLE PURCHASE (          USERID FOREIGN KEY USER(USERID),         ITEM INTEGER,          QUANTITY INTEGER);   In a database such as Oracle's, if you created an entry in the PURCHASE table with a user ID of 3, there would have to already be a user ID of 3 in the USER table or an error would occur。 Similarly, you couldn't delete user 3 from USER if it was referenced in PURCHASE。The MySQL folks make a pretty impassioned argument in their documentation that depending on foreign keys for data integrity is a bad idea anyway, but convincing your DBA of this philosophy is likely to degrade into a religious debate。   In addition, some other features are missing, such as subselects and select into。 But probably the other major piece that you will miss is the rollback/commit functionality。 MySQL does implement rollback and commit for certain types of tables, but not all of them。 Again, the MySQL folks offer their own spin on why this is okay, but being able to roll back transactions is (in my opinion) important enough to make sure that you have it available。   Rollback allows you to set a savepoint on the database before starting to do a series of transactions with it, and be able to either roll back to the original state or commit the changes at the end。 For example, when recording a purchase, you need to record a debit against the user's account and enter a record into the shipping table so that you'll know later to ship the item。 Let's say that the second part fails。 You wouldn't want to charge the user but not ship the item。 Thus, you'd want to roll back to the state before the transaction beganSo, MySQL isn't a full-blown production database—at least, not yet。 It's still good enough for probably 90% of the e-commerce sites in the world, however。 And version 4。0, which is in alpha as of this writing, addresses a number of these concerns,including row-level locking and transaction control。

上一篇:薄壁行星齿轮的变形体动力学英文文献和中文翻译
下一篇:截止阀中空化现象英文文献和中文翻译

数控机床制造过程的碳排...

新的数控车床加工机制英文文献和中文翻译

抗震性能的无粘结后张法...

锈蚀钢筋的力学性能英文文献和中文翻译

未加筋的低屈服点钢板剪...

台湾绿色B建筑节水措施英文文献和中文翻译

汽车内燃机连杆载荷和应...

网络语言“XX体”研究

LiMn1-xFexPO4正极材料合成及充放电性能研究

新課改下小學语文洧效阅...

安康汉江网讯

我国风险投资的发展现状问题及对策分析

麦秸秆还田和沼液灌溉对...

ASP.net+sqlserver企业设备管理系统设计与开发

互联网教育”变革路径研究进展【7972字】

老年2型糖尿病患者运动疗...

张洁小说《无字》中的女性意识