Core MySQL : The Serious Developer's Guide
-- In-depth explanations and example code for designing and building enterprise-level systems.-- Covers security, data storage, optimization, distributed databases, and other advanced topics.-- Reviewed and endorsed by Michael Wideneous, the developer of MySQL.Core MySQL gives professionals exactly what they've been searching for: an authoritative, thorough, example-rich guide to enterprise-class MySQL application development. Thoroughly reviewed by MySQL lead developer Michael Widenous, the book starts with the fundamentals of MySQL, then systematically reviews each key feature, and offers in-depth coverage of interacting with MySQL databases directly, from several leading programming environments. Expert open source Web developer and best-selling Core PHP author Leon Atkinson walks through installing and configuring MySQL, and offers a detailed introduction to the capabilities and limitations of MySQL's SQL implementation. Atkinson introduces MySQL data types, variables, column types, built-in functions, queries, database design, normalization, transactions, and concurrency. Core MySQL includes in-depth coverage of application optimization; security; distributed database development; administration, backup, and recovery. Atkinson demonstrates how to extending MySQL's functionality; and even presents database design techniques that make it easier to migrate MySQL databases to other platforms if that becomes necessary. The book also includes full chapters on interacting with MySQL from C, Java, PHP, Perl, Python, and other leading programming environments. For all experienced developers seeking an effective, low-cost, open source solution for Web database development.
- Paperback | 752 pages
- 180 x 234 x 34mm | 1,102.22g
- 02 Nov 2001
- Pearson Education (US)
- Prentice Hall
- Upper Saddle River, United States
Table of contents
Acknowledgments. Introduction. I. MYSQL AND THE RELATIONAL MODEL. 1. Introduction to MySQL. How People Use Databases. Why Databases Are Better than Files. Databases Are Not a Cure-All. Why MySQL? MySQL History.2. Installing MySQ. Downloading Installation Files. By Linux RPM. Windows. Compiling from Source. Granting Privileges.3. Interacting with MySQL. Client/Server over TCP/IP. Command-Line Utilities. Graphical Clients. ODBC. Web Interfaces.4. Database Concepts. History. Terminology. Database Management Systems. Flat File Databases. Hierarchical Databases. Relational Databases. Object Databases. Object-Relational Databases.5. The Relational Model. Relational Algebra. Tables, Rows, and Columns. Keys. Relationships. Relational Operations. Is MySQL a Real RDBMS?6. Structured Query Language. SQL Is a 4GL. Data Definition. Inserting Rows. Updating Rows. Deleting Rows. Queries. Joins. Ordering. Grouping. Limiting. Altering a Table.7. Database Design. Requirements Specifications. Design Specification. Diagramming. Modeling Languages. ER Diagrams. Creating a Diagram. Implementing the Design. Testing. Lifecycle Planning.8. Normalization. Why Normalize? First Normal Form. Second Normal Form. Third Normal Form. Boyce-Codd Normal Form. Fourth Normal Form. Denormalization.9. Transactions and Concurrency. Transactions. Locking. Sequences.II. MYSQL REFERENCE. 10. DATA TYPES, VARIABLES, AND EXPRESSIONS. Data Types. Variables. Operators. Expressions. Names with Spaces.11. Column and Index Types. Numeric. Strings. Time Values. Column Type Aliases. Indexes.12. Built-in Functions. Debugging and Configuration. Flow Control. Grouping. Mathematical. Strings. Time. Miscellaneous. Procedures.13. SQL Statements. Comments. Alter Table. Analyze Table. Backup Table. Begin [WORK]. Change Master. Check Table. Commit. Create Database. Create Function. Create Index. Create Table. Delete. Describe. Drop Database. Drop Function. Drop Index. Drop Table. Explain. Flush. Grant. Insert. Kill. Lock Tables. Load Data Infile. Load Table. Optimize Table. Purge Master Logs. Rename Table. Repair Table. Replace. Reset Master. Reset Slave. Restore Table. Revoke. Rollback. Select. Set. Set Transaction. Show Columns. Show Create Table. Show Databases. Show Grants. Show Index. Show Logs. Show Processlist. Show Status. Show Table Status. Show Tables. Show Variables. Slave. Truncate. Unlock Tables. Update. Use.14. Command-Line Utilities. Environment Variables. Option Files. comp_err. isamchk. make_binary_distribution. msql2mysql. my_print_defaults. myisamchk. myisamlog. myisampack. mysql. mysql_install_db. mysqlaccess. mysqladmin. mysqlbinlog. mysqlbug. mysqlc. mysqld. mysqld-max. mysqld-nt. mysqld-opt. mysqld_multi. mysqldump. mysqldumpslow. mysqlhotcopy. mysqlimport. mysqlshow. pack_isam. perror. replace. safe_mysqld.15. C API. Types. Client Functions. Array Functions. Character Set Functions. File Functions. Error Functions. Hash Functions. List Functions. Memory Management Functions. Options Functions. Password Functions. String Functions. Thread Functions.III. WRITING MYSQL CLIENTS. 16. programming the C API. Preparing a Program. Getting Data. Manipulating Data.17. JDBC. Preparing a Program. Getting Data. Manipulating Data.18. VBScript and ODBC. Preparing a Program. Getting Data. Manipulating Data.19. PHP. Preparing a Program. Getting Data. Manipulating Data.20. Perl. Preparing a Program. Getting Data. Manipulating Data.21. Python. Preparing a Program. Getting Data. Manipulating Data.22. MySQL++ API. Preparing a Program. Getting Data. Manipulating Data.IV. ADVANCED TOPICS. 23. Database Administration. Responsibilities. Making Data Available. Maintaining Database Integrity. Preparing for Disaster. Supporting Users. Writing and Enforcing Standards.24. Physical Storage. Database/Table Model. Dedicated Partitions. Table Types. Columns. Table Locks. Indexes. File Descriptors. System Memory. Log Files.25. Coping with Disaster. Checking and Repairing Tables. Backups and Recovery.26. Optimization. Before Optimizing. Benchmarking. Design Optimization. Optimizations within Applications. Optimizing Queries. Optimizing SQL Statements. Maintaining Tables. Tuning Server Configuration. Recompiling MySQL.27. Security. Permissions Scheme. Setting Permissions. Ensuring Security.28. Transitioning. Switching Database Servers. Translating Unsupported Features to MySQL. Using ANSI Mode. Unique MySQL Features.29. Distributed Databases. The Distributed Database Concept. Delayed Synchronization. MySQL's Replication Functionality. Running Multiple Servers.30. Object Mapping. The Object-Oriented Model. Serializing Objects. Object-Relational Mapping.31. Adding Functionality. Debugging Library. Adding Character Sets. Functions. Procedures.V. APPENDICES. A. Online Resources. Official Mailing Lists. Unofficial Mailing Lists. Mailing List Archives. Web Sites.B. Further Reading. C. Business and Legal Concerns. MySQL's License. GNU GENERAL PUBLIC LICENSE. Stability. Support.D. Reserved Words. E. MySQL Error Codes. F. SQL Style Guide. General. Identifiers. Tables. Statements.G. Example Database Design. Diagrams. SQL Schema.
About Leon Atkinson
LEON ATKINSON is the author of Core PHP Programming and a columnist for Zend Technologies. He maintains the FreeTrade project, an e-commerce toolkit that uses MySQL and PHP. Atkinson has utilized MySQL for a wide range of Web and e-commerce applications since discovering it in 1997. Reviewed and endorsed by Michael Widenius, the developer of MySQL.