Create a new table with a composite name made of the two entities that are related.
Add the primary keys of the two related entities to this new table.
Add an ID attribute if the order of relationship is important. For example, in the winestore, a Cabernet Merlot Shiraz is different from a Shiraz Merlot Cabernet, so an ID is required.
Define the primary key of this new table to be all attributes that form part of the table.
In the example, create the following table:
CREATE TABLE wine_variety ( wine_id int(5) DEFAULT '0' NOT NULL, variety_id int(3) DEFAULT '0' NOT NULL, id int(1) DEFAULT '0' NOT NULL PRIMARY KEY (wine_id, variety_id) );
The table contains the primary keys of the wine and grape_variety and defines these-along with the
ID attribute-as the
KEY. No change is required to the wine or grape_variety tables.
Managing Sessions in the Database Tier
In Chapter 8 we discussed the development of session-based applications using the PHP session management features. In this appendix, we:
Discuss the motivation for storing session variables in the database tier of a web database application
Show how PHP session handlers are written to implement user-defined methods
Develop a fully functional set of PHP handlers that use a table in a MySQL database to store session variables