Главная » Просмотр файлов » Диго С.М. Базы данных проектирование и использование

Диго С.М. Базы данных проектирование и использование (1084447), страница 25

Файл №1084447 Диго С.М. Базы данных проектирование и использование (Диго С.М. Базы данных проектирование и использование) 25 страницаДиго С.М. Базы данных проектирование и использование (1084447) страница 252018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 25)

Если же отображаемая сущность не стабильна, то ее лучше пере­давать посредством данных, так как в противном случае будет часто требоваться преобразование программы, что обычно обеспечить труд­нее, чем изменение данных.

При отображении обобщенных объектов в БД возможны разные варианты: хранить информацию обо всем обобщенном объекте в од­ном файле/таблице, каждому подклассу объектов низшего уровня выделять отдельные самостоятельные файлы/таблицы. Оба эти вари­анта могут быть использованы в любой СУБД. В первом случае под­черкивается общность объектов разных подклассов, входящих в обоб­щенный объект. Во втором случае,

напротив, обобщенный объект как единое целое не отображается в структуре базы данных.

Другие способы отображения связаны с явным или неявным вы­делением подклассов в логической структуре БД. Неявное выделе­ние подкласса заключается в том, что в записи отводятся поля для фиксации значений свойств, общих для объектов разных подклассов, и значения признака подкласса, а вместо полей, наличие которых за­висит от подкласса, используется одно поле с переменным составом, содержание которого будет зависеть от того, к какому подклассу от­носится описываемый объект.

Реализация принципа явного выделения подклассов в структуре БД существенно зависит от специфики СУБД.

При проектировании логической структуры БД основное значе­ние имеет специфика отображаемой предметной области. Однако, как отмечалось выше, и характер обработки информации оказывает вли­яние на принимаемое проектное решение. Например, рекомендуется хранить вместе информацию, часто обрабатываемую совместно, и, наоборот, разделять по разным файлам информацию, не использую­щуюся одновременно. Информацию, используемую часто, и инфор­мацию, частота обращения к которой мала, также следует хранить в разных файлах, причем последнюю может оказаться выгодным вы­нести в архивные файлы, а не поддерживать в составе БД.

Как отмечалось выше, в ИЛМ описывается не отдельный объект, а класс объектов. Но в редких случаях бывает, что класс включает в себя только один экземпляр объекта. Например, если предметной об­ластью является какой-то конкретный институт, то класс объектов ИНСТИТУТ будет содержать только один экземпляр объекта. Таким «вырожденным» классам объектов обычно не ставится в соответствие отдельный файл базы данных.

3.1.4. Определение состава базы данных

При переходе от инфологической модели к даталогической следу­ет иметь в виду, что инфологическая модель включает в себя всю ин­формацию о предметной области, необходимую и достаточную для проектирования БД. Это не означает, что все сущности, зафиксирован­ные в ИЛМ, должны в явном виде отражаться в даталогической моде­ли. Прежде чем строить даталогическую модель, необходимо решить, какая информация будет храниться в базе данных. Например, в инфо­логической модели должны быть отражены вычисляемые показатели, но вовсе не обязательно, что они должны храниться в базе данных.

Существуют разные подходы к определению состава показателей, которые должны храниться в базе данных. Согласно одному из них в БД должны храниться только исходные показатели, все производные показатели должны быть получены расчетным путем в момент реа­лизации запроса (этот подход иногда называют принципом синтези­рования, имея в виду возможность синтезировать требуемые показа­тели из хранимых в информационной базе данных).

Такой подход имеет очевидные достоинства:

1) простота и однозначность в принятии решения «что хранить»;

2)отсутствие неявного дублирования информации со всеми вы­текающими из этого последствиями (меньше объем памяти, чем при хранении как исходных, так и производных показателей; проще про­блемы контроля целостности данных);

3) потенциальная возможность получить любой расчетный пока­затель, а не только те, которые хранятся в БД.

При принятии решения о хранении расчетных показателей долж­ны учитываться разные факторы.

Рассмотрим некоторую гипотетическую предметную область, представляющую собой учебное заведение. Учащимся этого заведе­ния начисляется стипендия. Существует четкий алгоритм начисления стипендии. Предположим, что он выглядит следующим образом.

1. Стипендия начисляется только тем, кто успешно сдал все экза­мены в сессию (т.е. сдал в срок и не получал неудовлетворительных оценок), а также учащимся, имеющим детей.

2. Известен размер обычной стипендии.

3. Тем, кто не имеет удовлетворительных оценок, назначается сти­пендия на 25% выше, чем обычная.

4. Тем, кто имеет только отличные оценки, стипендия увеличива­ется на 50% от размера обычной стипендии.

Предположим также, что размер стипендии не может изменяться в течение семестра. Таким образом, размер стипендии является вы­числяемым показателем и может не храниться в базе данных, а каж­дый раз определяться расчетным путем. Однако в рассматриваемой ситуации его все-таки лучше хранить в БД по следующим основным причинам:

а) полученная величина многократно используется в дальнейшем;

б) алгоритм определения размера стипендии имеет достаточно сложную логику, и для выполнения расчета требуется просмотреть несколько файлов (некоторые из них являются большими по объему, что также замедляет процесс обработки);

в) размер стипендии не должен изменяться в течение семестра. Кроме того, имея реальный файл «Начисленная стипендия», легче контролировать его полноту и достоверность.

Предположим также, что к БД достаточно часто обращаются с запросом о среднем балле какого-либо студента или среднем балле по той или иной дисциплине и т.п.

При изменении любой оценки или получении новой средний балл меняется, и если вы вдруг решите хранить и среднюю величину, и исходные оценки, то обеспечение их соответствия может стать про­блемой. При правильной организации файлов вычисление средней величины во время исполнения запроса не представляет проблемы ни с точки зрения времени обработки, ни в аспекте задания запроса. Поэтому хранить средний балл не следует.

3.1.5. Введение искусственных идентификаторов

При отображении объекта в файл базы данных идентификатор объекта будет являться полем этого файла, причем в большинстве случаев - ключевым полем, т.е. полем, однозначно идентифицирую­щим запись. Однако в некоторых случаях появляется необходимость введения искусственных идентификаторов, или, как их еще называ­ют, кодов. Такими случаями являются следующие.

1. В предметной области может наблюдаться синонимия, т.е. мо­жет случиться, что естественный идентификатор объекта не обладает свойством уникальности. Например, среди сотрудников предприятия могут быть однофамильцы. В этом случае для обеспечения однознач­ной идентификации объектов предметной области в информацион­ной системе целесообразно использовать искусственные коды.

2. Если объект участвует во многих связях/процессах, то для их отображения создается несколько файлов/таблиц, в каждом из кото­рых повторяется идентификатор объекта. Для того чтобы не исполь­зовать во всех файлах длинный естественный идентификатор объек­та, можно ввести и использовать более короткий код. Например, вме­сто длинных наименований продукции обычно используются их кодовые обозначения. Это не только сэкономит память, но и сократит трудоемкость ввода информации (хотя последнего можно достичь и другим путем).

3. Если естественный идентификатор может изменяться со вре­менем (например, фамилия), то это может вызвать много проблем, если наряду с таким динамическим идентификатором не использо­вать статический искусственный идентификатор.

Когда присваиваются идентификаторы каким-либо объектам, то желательно, чтобы эти идентификаторы были постоянными. Напри­мер, в учебных заведениях всегда каким-либо образом обозначаются учебные группы. Для этого можно, например, использовать номер курса, на котором в настоящее время учится данная группа, и какие-то другие символы (подобно тому, как обозначаются классы в шко­ле). Но в этом случае идентификатор группы будет каждый год ме­няться. А можно для обозначения группы использовать, например, две последние цифры года поступления. В этом случае идентифика­тор группы будет постоянным. Использование постоянных иденти­фикаторов снимает множество проблем при функционировании ин­формационной системы.

Встречаются и иные случаи, когда целесообразно вводить искус­ственные идентификаторы. Некоторые из них будут рассмотрены да­лее при обсуждении проблем проектирования БД.

3.1.6. Критерии оценки БД

Для оценки проектируемой/спроектированной БД может быть использовано множество критериев. Значимость этих критериев, в свою очередь, будет зависеть от большого числа разнообразных фак­торов. Прежде всего эта значимость зависит от самого критерия: есть критерии, значимость которых не только никогда не понижается, а, наоборот, постоянно растет (это такие критерии, как адекватное ото­бражение действительности, удовлетворение разнообразных потреб­ностей пользователей и т.п.). Значимость других критериев становит­ся менее существенной с ростом возможностей техники и програм­много обеспечения (например, занимаемый базой данных объем памяти).

На значимость критерия оценки влияют особенности ИС, для ко­торой создается проект (например, для систем, работающих в реаль­ном масштабе времени, очень важна скорость реакции системы на запросы, для банковских систем - защита информации и надежность системы).

Все критерии оценки являются взаимосвязанными и часто проти­воречивыми: улучшение показателей по одному из критериев может привести к ухудшению значений показателей, оценивающих модель по другим критериям. Необходима комплексная оценка проекта по всей совокупности критериев, которые могут быть как количествен­ными, так и качественными.

Перечислим основные критерии, используемые при оценке БД.

1. Адекватность - соответствие базы данных реальной предмет­ной области. Естественно, что БД не должна искажать предметную область. Это является важнейшим требованием к БД, без соблюдения которого бессмысленно соблюдение всех остальных требований. Оценка адекватности является не только очень важной, но и очень трудной задачей, поскольку некоторые несоответствия трудно выя­вить. Адекватность должна быть обеспечена как на уровне структу­ры БД, так и при задании ограничений целостности. Так, например, если в предметной области могут быть однофамильцы, а вы зададите ФИО как ключ, то запись, касающаяся однофамильца, не сможет быть введена в базу данных.

2. Полнота - возможность удовлетворения существующих и но­вых потребностей пользователей. Использование подхода «от пред­метной области» к проектированию баз данных и сама идеология бан­ков данных как интегрированного взаимоувязанного хранилища дан­ных способствуют обеспечению этого критерия. Хранение в БД детализированных показателей также повышает возможности удов­летворения разнообразных (в том числе и нерегламентированных) по­требностей пользователей. Полнота является одним из проявлений адекватности БД.

3. Адаптируемость.

3.1. Адаптируемость к изменениям в предметной области.

3.1.1. Устойчивость схемы базы данных - отсутствие необходи­мости в изменении структуры БД при изменении предметной облас­ти. В теории БнД широко используется понятие независимости про­грамм от данных и данных от программ. Не менее, а даже более зна­чимой является проблема обеспечения независимости логической модели БД от изменений, происходящих в предметной области. Устойчивость модели является лучшим проявлением свойства адаптируемости системы. Обеспечение устойчивости модели базы данных к изменениям предметной области фактически снимает проблему независимости программ от данных, так как в этом случае структуры данных меняться не будут.

Поясним суть данного показателя на примере. Предположим, не­обходимо хранить информацию об успеваемости студентов. Ниже приведены некоторые из возможных вариантов структуры БД для хранения этой информации. Вариант 1 предполагает, что создается таблица. В ее строках помещаются фамилии студентов, графами яв­ляются названия предметов, а значениями соответствующих полей будет оценка, полученная данным студентом по данному предмету. Каждому студенту соответствует одна запись в БД. Такой вариант очень похож на «Книги баллов», которые традиционно ведутся в деканатах. Для обсуждения проблемы устойчивости модели несуще­ственно, а для оценки БД по другим критериям будет иметь значение, сколько таблиц создано (так как студенты учатся по разным учебным планам, то при создании только одной таблицы будет много пустых значений полей, содержащих оценки, а каждая запись будет содер­жать слишком большое число полей).

Вариант 1

ФИО

Высш_мат.

Ин._яз.

БД

Иванов

5

4

5

Якушкина

4

5

4

В варианте 2 таблица содержит только три поля: «ФИО», «Пред­мет», «Оценка». Для каждого студента будет создано столько запи­сей, сколько экзаменов сдал этот студент.

Характеристики

Тип файла
Документ
Размер
11,48 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6353
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее