Normalisation is the process of separating your data into logical parts based upon a series of rules. The goal of normalisation is to eliminate all data redundancy, whilst also making your table design optimal.
It is not
necessary to normalise your table design, but it is recommended.
Want to learn PHP 7?
Hacking with PHP has been fully updated for PHP 7, and is now available as a downloadable PDF. Get
over 1200 pages of hands-on PHP learning today!
If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!
Next chapter: Why separate data? >>
Mixing SQLite and PHP: SQLite3::createFunction()
Databases Introduction Database hierarchy Types of data Date and time Transactions Stored procedures Triggers Views Keys Referential integrity Indexes Persistent connections Temporary Tables Table handlers Round up History MySQL PostgreSQL Oracle Microsoft SQL Server SQL SQL comments Interacting with MySQL Creating tables Making table changes Deleting tables Inserting data Selecting data Extra SELECT keywords Updating data Deleting data MySQL for dummies A working example Multiple WHERE conditions Grouping rows together with GROUP BY MySQL functions Managing indexes Simple text searching using LIKE Advanced text searching using full-text indexes Range matching Working with NULL Default values Using MySQL with PHP Connecting to a MySQL database Querying and formatting Disconnecting from a MySQL database Reading in data Mixing in PHP variables Results within results Advanced formatting Reading auto-incrementing values Unbuffered queries for large data sets: MYSQLI_USE_RESULT phpMyAdmin PEAR::DB Quick PEAR::DB calls Query information Advanced PEAR::DB Impeared performance? SQLite Using SQLite Before you begin Getting started with SQLite 3 Advanced usage: SQLite3::lastInsertRowID() and SQLite3::querySingle() Mixing SQLite and PHP: SQLite3::createFunction() Normalisation Why separate data? So, what is the solution here? Why not separate data? First normal form Second normal form Other normal forms Conclusion Table joins Complex joins Using temporary tables Adjusting the priority queue How to design your tables Picking the perfect data type When MySQL knows best Persistent connections Choosing a table type Transactions MySQL Improved Subselects, views, and other advanced functions Subselects Views Referential integrity Summary Exercises Further reading Next chapter
Table of Contents
Copyright ©2015 Paul Hudson.
Follow me: @twostraws.