Пример структуры БД


Пример структуры БДМорда: СтандартнаяСераяЗеленая Главная / Портфель / Пример структуры БД Запомнить № 14:
 Пример структуры БДОпубликовано:
 12 ноября 2002Изменено:
 4 января 2003 | Если при создании сайта, вы все-таки решили использовать БД то(щас скажу ужасную банальность), — стоит начать создание сайта с её проектирования, на бумаге, ну или в голове, а затем на бумаге или ином носителе. Я говорю так, потому что видел, что большинство сразу кидается создавать таблицы и работать с ними не отходя от кассы.Начать стоит с описания данных ну или требований к будущей БД. Вот как это делал я в самом начале создания этого сайта.1. Требования к данным1.1 РазделыВ разделах сайта и находится все его информационное наполнение. В разделах могут находиться другие разделы (подразделы). Информация, сохраняемая, о разделе включает в себя:Уникальный номер разделаУникальный номер раздела-родителя (если есть)Каталог, где находится данный разделНазвание раздела в меню навигацииКраткое описание раздела (если есть)Ключевые слова1.2 Материалы (информационное наполнение)Разделы могут содержать информационное наполнение в виде статей, документов и т.д. Информация, сохраняемая о материалах, включает в себя:Порядковый номер материалаЗаголовок материалаКраткая аннотация (чистый текст без тегов)Основной текст материала (могут быть теги XML)Режим, в котором хранится материал (XML, asis)Дата публикацииДата последнего редактированияИнформация о разделе, которому принадлежит материалИнформация о дополнительных материалах по теме (гиперссылки)Данные об авторе материалаКлючевые слова1.3 ГиперссылкиКаждый раздел, материал может иметь одну или несколько ссылок, относящихся к теме содержания. Одна и та же ссылка может подходить к нескольким разделам или материалам. Информация, сохраняемая о гиперссылках, включает в себя:АдресНазваниеКраткое описаниеКатегория ссылки1.4 АвторыКаждый материал имеет своего автора. Информация, сохраняемая об авторах, включает в себя:ФамилияИмяОтчествоE-mailКакое-либо имя (ник), например имя пользователя в сети или имя, придуманное самим автором. Имя должно быть уникально.парольПо данному описанию можно выделить основные сущности, которые будут представлены таблицами БД, а также атрибуты этих сущностей(столбцы таблиц БД).2. Типы сущностейразделматериалгиперссылкаавтор3. Типы связейТип сущностиСвязьТип сущностиКардинальностьПоказатель участияРазделСодержитМатериал1:MP:TРазделИмеетСсылкаM:NP:PМатериалИмеетСсылкаM:NP:PАвторПубликуетМатериал1:MP:TКраткие поясненияКардинальность — это тип связи: 1:M — один ко многимM:N — многие ко многимПоказатель участия характеризует обязательность/необязательность наличия данной связи для каждого кортежа(строки) сущности(таблицы), может быть:P — частичное участие в связиT — полное участие в связиИз таблицы связей видно, что некоторые связи являются связями многие ко многим, поэтому для устранения этого пришлось вводить дополнительные сущности(таблицы) — ссылка для материала и ссылка для раздела. Кроме того, я решил вынести категорию ссылок в отдельную сущность, для того чтобы иметь возможность для каждой категории наличие описания(вдруг мне потом захочется сделать отдельный раздел ссылок) и поскольку введение дополнительного атрибута для описания категории в таблицу ссылок приведет к нарушению 3-й нормальной формы, пришлось делать декомпозицию.По этому описанию я построил следующую схему БД и реализовал её:Небольшое замечание к схеме:В MySQL связи между таблицами нельзя сделать средствами самой БД, приходится извращаться с несколькими запросоми, реализующими требуемую ссылочную целостность. Для «нормальных СУБД» поддержка ссылочной целостности осуществляется средствами самой СУБД.<< № 13 | Содержание | № 15 >>Из последнего№ 24 Работаем с .htpasswd 08.11.2003 (Изменено: 10.01.2004)№ 23 Самодокументирование парсерного кода 14.09.2003№ 22 Работаем с RSS 21.02.2003№ 21 Топологическая сортировка 16.02.2003№ 20 Установка 3-го парсера на хостинге 350mb.ru 12.02.2003Главная / Портфель / Пример структуры БД Запомнить Информация о сервереАвторРегистрация/настройки
содержание | 2 | Как и где взять кредит на покупку недвижимости
Используются технологии uCoz