Ну, я все время использую одну схему и считаю ее очень полезной.
Первичный ключ в таблице всегда называется «ID», с разделенными ключами я называю столбец с информацией об идентификации строки «ID», в противном случае столбец «ID» не вызывается.
Все внешние ключи используют имя таблицы, на которую они ссылаются.
CREATE TABLE `Person`
(
`ID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`FirstName` VARCHAR(255) NOT NULL,
`LastName` VARCHAR(255) NOT NULL,
PRIMARY KEY (`ID`)
);
CREATE TABLE `Tutorial`
(
`ID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Name` VARCHAR(255) NOT NULL,
PRIMARY KEY (`ID`)
);
CREATE TABLE `Class`
(
`Person` INTEGER UNSIGNED NOT NULL,
`Tutorial` INTEGER UNSIGNED NOT NULL
PRIMARY KEY (`Person`, `Tutorial`)
);