phpMyAdmin doesn't have the functionality to work with foreign keys. Why that is, I have no idea. But I don't fault the developers for that. It is an open source project. So whatever. What you need to do is learn some basic SQL and write your own scripts to create your tables and such.
Referencing my example above, notice how I have TYPE = INNODB at the end of each table creation? InnoDB is a database engine that MySQL can use. Others are ISAM, MyISAM, BDB, et al. InnoDB supports foreign keys while MyISAM (the MySQL default) does not. InnoDB is also "transaction safe," but lets save that topic for later.
So how to go about creating foreign keys you ask. Well, go ahead and use phpMyAdmin to generate the general table. When you create the table, change the table type from "Default" (that'll give ya' MyISAM) to "InnoDB."
Note: If recreating all your tables doesn't sound fun, you can also change a table's type in the following way:
ALTER TABLE yourTable TYPE = INNODB;
Once the table has been created, click the SQL link and then input the following:
ALTER TABLE yourTable ADD FOREIGN KEY(yourColumn) REFERENCES someOtherTable(someOtherColumn);
It sucks having to do it by hand, but once you get comfortable with the actual language SQL, you may actually prefer writing your own scripts. At least I've gotten there. 🙂
One last thing.. Converting to InnoDB from MyISAM isn't a way of normalizing your database. I use InnoDB simply because it is better at guaranteeing data integrity. InnoDB databases will also require more disk space. So make sure you've got enough. Here's a good primer on InnoDB versus MyISAM.
So yeah.. I hope you understood all that plus my original post. Good luck. Any more questions, just ask.