Во множестве мануалов и букварей встречается примерно такая конструкция:
CREATE TABLE books(
id int unsigned NOT NULL AUTO_INCREMENT ,
author_id int unsigned NOT NULL ,
name varchar( 100 ) ,
summary text,
rating tinyint,
PRIMARY KEY ( id )
) ENGINE = innodb default CHARSET = utf8;
CREATE TABLE books_preview(
id int unsigned NOT NULL AUTO_INCREMENT ,
book_id int unsigned NOT NULL ,
page_number smallint unsigned,
image_src varchar( 100 ) ,
PRIMARY KEY ( id ) ,
FOREIGN KEY ( book_id ) REFERENCES books( id ) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = innodb default CHARSET = utf8;
INSERT INTO books( author_id, name, summary, rating )
VALUES
( 1, 'Капитанская дочка', 'Произведение о том-то...', 5 ) ,
( 3, 'Кукловоды', 'Произведение о том-то...', 5 ) ,
( 4, 'Я робот', 'Собрание сочинений...', 5 ) ;
INSERT INTO books_preview( book_id, page_number, image_src )
VALUES
( 1, 17, 'page-17.png' ),
( 3, 18, 'page-18.png' ) ;
соответственно таблички связываются books_preview.book_id = books.id
Вопрос:
ЗАЧЕМ в books_preview поле id ??? какую смысловую нагрузку оно несет?