|
|
|
| Приветствую! =Ъ
В универе в качестве курсовой по "базам данных" получил задание: спроектировать БД для библиотеки вуза. Все тонкости задания я описывать не буду, но надеюсь на помощь в непонятных местах издательского дела - оно для меня тёмный лес.. :)
Например. Одним из видов запросов к этой БД будет "получение количества экземпляров данной книги, всех изданий". Ясно, что для каждого издания книги в некоторой таблице будет своя запись. Но чтобы было меньше избыточности (да и чтобы однозначно можно было судить, что 2 издания одной книги - это есть издания _одной_ книги), между ними нужно найти что-то общее -- Название, например. Так понимаю, новое издание не может обзавестись новым названием? Наверное, это будет уже первое издание другой книги ^_^ .
Или всё-таки можно, скажем, добавив в книгу информации по PHP5, переименовать её из "Самоучителя по PHP4" в "Самоучитель по PHP5" и сказать, что это второе, дополненное, издание? :)
Остаётся ли что-то общее между разными изданиями? | |
|
|
|
|
|
|
|
для: kasmanaft
(15.03.2009 в 10:16)
| | Обычно явно указывается переработано издание или нет (впрочем это не жесткое правило). Для группировки разных изданий, лучше завести отдельную таблицу. | |
|
|
|
|
|
|
|
для: cheops
(15.03.2009 в 12:50)
| | Пока у меня 2 таблицы: книги и издания.
У каждого издания свои создатели, тираж, число страниц и т.д. Родителем каждого из них является книга из одноименной таблицы (которую характеризует название (м.б. оригинальное), библиотечный код, что-то может быть еще). Так, по ID из таблицы книг можно найти все её издания. (Главный вопрос - что хранить в таблице книг?)
Или же указывать все данные в таблице изданий, а книги - только ID, который будет вторичным ключем издания? Но как-то это неестественно..
Хм.. А может быть оставить только одну таблицу изданий и добавить в нее рекурсивный ключ? При этом указывая вид издания (оригинал, перевод, дополненное...). Но это, наверное, сложно в обслуживании.. | |
|
|
|
|
|
|
|
для: kasmanaft
(15.03.2009 в 13:32)
| | Хм.. А может быть оставить только одну таблицу изданий и добавить в нее рекурсивный ключ? При этом указывая вид издания (оригинал, перевод, дополненное...). Но это, наверное, сложно в обслуживании..
А мне кажется, что этот способ более рационален . | |
|
|
|
|
|
|
|
для: DEM
(15.03.2009 в 13:38)
| | Мне тоже он больше нравится :). Покажу модель преподу, может и ему понравится ^_^
Ну а ежели нет, приду расспрашивать дальше.. | |
|
|
|