Анатолий
Новичок
Помогите определиться со структурой БД
Доброго всем времени суток!
В кратце:
Планируется, что-то вроде библиотеки. Каждый пользователь может вести свою библиотеку на сайте. Одна и таже книга может быть предствлена в трех видах: бумажная книга, электронная и аудио-книга.
Т.к. книги в основной массе будут повторяться, то я разделил свойства книги на "постоянные" - не зависяцие от типа (аудио, электронная,...) и "зависимые" - т.е. те свойства которые будут присутствовать только у определенного типа книг.
Так же одна и таже книга - одного и того же типа, у разных пользователей может иметь различные значения параметров, например,
книга: Мастер и Маргарита
Тип: аудио
У первого пользователя, значение свойства "битрейт" равно 196, у второго, например, 320. Аналогично другие свойства книг.
В итоге получилось 2 структыры БД:
1)
book
bookid int(11)
title varchar(255)
authorid int(11)
description text
userbook
userbookid int(11)
bookid int(11)
userid int(11)
booktype int(1)
xml text
user
userid int(11)
и др. свойства пользователя
И так первый вариант БД
2) Второй вариант БД
book
bookid int(11)
title varchar(255)
authorid int(11)
description text
userbook
userbookid int(11)
bookid int(11)
userid int(11)
booktype int(1)
bookvalue
bookvalueid int(11)
userbookid int(11)
propertyid int(11)
value varchar(255), возможно это будет varchar(50) или даже int(7)
property
propertyid int(11)
booktype int(1)
title varchar(255)
Данную таблицу можно заметь массивом, т.к. параметры меняться не будут, а если и будут то ОЧЕНЬ редко и мною. =)
user
userid int(11)
и др. свойства пользователя
Второй вариант БД:
В общем, спасибо тем кто дочитал до конца!!! =)
Я думаю, пользователей будет не более 5000-6000, а книг неизвестно. =) Ваше мнение, какая из двух реализаций лучше? А может я что-то упустил и есть еще одна реализация простая и надежная, которая будет работать быстрее при больших нагрузках?
Жду ваших комментариев и замечаний. Заранее спасибо всем!
-~{}~ 21.02.07 17:44:
Ребята, неужели не у кого нет мнения??? Второй день висит тема и 0 ответов. =(
Доброго всем времени суток!
В кратце:
Планируется, что-то вроде библиотеки. Каждый пользователь может вести свою библиотеку на сайте. Одна и таже книга может быть предствлена в трех видах: бумажная книга, электронная и аудио-книга.
Т.к. книги в основной массе будут повторяться, то я разделил свойства книги на "постоянные" - не зависяцие от типа (аудио, электронная,...) и "зависимые" - т.е. те свойства которые будут присутствовать только у определенного типа книг.
Так же одна и таже книга - одного и того же типа, у разных пользователей может иметь различные значения параметров, например,
книга: Мастер и Маргарита
Тип: аудио
У первого пользователя, значение свойства "битрейт" равно 196, у второго, например, 320. Аналогично другие свойства книг.
В итоге получилось 2 структыры БД:
1)
book
bookid int(11)
title varchar(255)
authorid int(11)
description text
userbook
userbookid int(11)
bookid int(11)
userid int(11)
booktype int(1)
xml text
user
userid int(11)
и др. свойства пользователя
И так первый вариант БД
2) Второй вариант БД
book
bookid int(11)
title varchar(255)
authorid int(11)
description text
userbook
userbookid int(11)
bookid int(11)
userid int(11)
booktype int(1)
bookvalue
bookvalueid int(11)
userbookid int(11)
propertyid int(11)
value varchar(255), возможно это будет varchar(50) или даже int(7)
property
propertyid int(11)
booktype int(1)
title varchar(255)
Данную таблицу можно заметь массивом, т.к. параметры меняться не будут, а если и будут то ОЧЕНЬ редко и мною. =)
user
userid int(11)
и др. свойства пользователя
Второй вариант БД:
В общем, спасибо тем кто дочитал до конца!!! =)
Я думаю, пользователей будет не более 5000-6000, а книг неизвестно. =) Ваше мнение, какая из двух реализаций лучше? А может я что-то упустил и есть еще одна реализация простая и надежная, которая будет работать быстрее при больших нагрузках?
Жду ваших комментариев и замечаний. Заранее спасибо всем!
-~{}~ 21.02.07 17:44:
Ребята, неужели не у кого нет мнения??? Второй день висит тема и 0 ответов. =(