|
Программирование >> Проектирование баз данных
Проектирование баз данных Одними из первых вопросов, которые задал нам издатель, были такие: Почему руководство по проектированию именно дЛя Oracle? Почему не для всех реляционных баз данных? Разве Oracle так сильно отличается? Эти вопросы остаются очень важными, й мы хотим на них ответить. Не только проектирование компьютерных приложений, но и проектирование вообще заключается в эффективном использовании имеющихся в наличии материалов и технологий. Oracle? обладает рядом специфических и уникальных технических характеристик, которые нужно учитывать, выбирая проектное решение. Значительная часть этой книги посвящена обсуждению таких особенностей. Во многих случаях мы предлагаем тесты, которые вы можете выполнить в своей среде, чтобы выбрать конкретный метод проектирования. Мы не рассчитываем на то, что эта книга за один день сделает из вас преуспевающего проектировщика для Oracle. К сожалению, опыт ничем заменить нельзя, и главной чертой лучших проектировщиков является то, что они все время учатся. Здесь же мы собираемся создать каркас , который позволит вам проектировать свою систему в более структурированной и управляемой форме. В каждой главе предлагаются альтернативы основным проектным решениям, подчеркиваются их достоинства и недостатки. Конечно, решение принимать вам, но мы надеемся, что поможем хорошо вооружиться для того, чтобы обосновать свой выбор. Oracle? - зрелый продукт. После того как корпорация Oracle впервые анонсировала его, стало ясно, что эта система знаменует собой общую тенденцию, которой следует корпорация, - изымать интеллект бизнес-правил из приложения (или пользовательского интерфейса) и помещать его в базу данных (или сервер). Это означает, что теперь необходимо тратить значительно больше времени на проектирование базы данных, чем в проектах для Огас1е6 или в проектах, где используются средства разработки 3GL. Но этап генерации теперь упрощается, особенно если проектирование проведено качественно. После начала генерации исправлять плохие решения, принятые на этапе проектирования, становится все труднее и дороже. Неудачные проектные решения могут привести к значительному удлинению и усложнению цикла разработки и в итоге часто являются причиной низкого качества готовой системы. Если проектирование выполнено на плохом уровне, то готовой системы вообще может не быть или, если она все-таки получилась, она будет больной . Проектируя систему, всегда думайте о ее практичности и производительности. Если вам говорят, что время реакции не имеет значения, или уверяют, что, мол, мы исправим это позже , рекомендуем поспорить. Устранение недостатка, связанного с проектированием, в работающей системе - очень дорогое удовольствие. Попытки решить проблемы с производительностью, бросая на них больше аппаратных средств , дают результат, по нашему опыту, только в низкопроизводительных системах, но даже там абсолютной гарантии нет. iiu иильзовательское восприятие приложения обычно определяется опытом работы пользователей с ним в первую неделю. Производительность, время реакции, а также простота в эксплуатации и надежность - вот факторы, Определяющие отношение пользователей к любой новой компьютерной системе. Подводя итоги, сформулируем цели, которые необходимо ставить в любом проекте и достичь которых, мы надеемся, вам поможет наша книга. Итак, задача заключается в том, чтобы на момент запуска системы и на всем протяжении ее эксплуатации обеспечить требуемые: функционатьность и адаптируемость; пропускную способность; время реакции; готовность; простоту эксплуатации; безопасность. Структура книги Книга разделена на пять частей, содержание которых кратко изложено ниже. Конечно, нам хотелось бы, чтобы вы прочитали каждое слово в книге, но мы знаем, что некоторые не захотят просматривать ее от корки до корки, а даже те, кто читают большую часть материата, часто делают это в произвольном порядке. Чтобы помочь вам, мы попытались сделать главы книги достаточно независимыми и свести число перекрестных ссылок к минимуму. Опытные проектировщики и те, кто хорошо знаком с жизненными циклами проектов, возможно, лишь бегло просмотрят некоторые из первых глав (в основном главы 1 и 2), где освещаются эти темы. Тем, кто работает с последними версиями Oracle?, наверное, можно пропустить главу 2. Многие главы, в которых описаны конкретные технологии, представляют для читателя интерес лишь в случае, если он работает над проектом, где используется какая-нибудь из этих технологий. Примерами таких технологий является использование распределенных баз данных (глава 12) и хранилищ данных (глава 13). Часть 1; Основы проектирования В главе 1, Введение , рассматриваются этапы разработки проекта - выбор стратегии, анатиз, проектирование и генерация. Дается упрощенный пример реального проекта, на основе которого описываются различные этапы и результаты. В главе 2, Почему проектирование так важно для Oracle? , внимание сосредотачивается на СУБД Oracle. Здесь излагаются особенности проектирования и выделяются наиболее важные черты СУБД Oracle?, а такж даются краткие замечания по СУБД OracleS. S Oracle в главе 3, Моделирование данных , подробно рассматриваются основь моделирования данных. Здесь определяются классические для реляционных баз данных понятия: сущность, отношение, третья нормальна; форма (ЗНФ), а также описывается, какие результаты должны выдат] аналитики проектировщикам, чтобы последние смогли превратить концептуальную модель данных в логическую. Часть 2: Проектирование базы данных В главе 4, Принятие решения о денормализации , изучаются специальньк методы денормализации данных с целью повышения производительности В главе 5, Выбор типов данньа, неопределенные значения , описань различные типы данных Oracle и рассмотрены такие важные темы, Kai смысл неопределенного значения и возможности его обработки. В главе 6, Выбор ключей и индексов , рассматриваются методы выбор; наиболее подходящих ключей для конкретных баз данных. В главе 7, Обработка временных данных , исследуется одна из проблем которые свойственны Oracle и другим реляционным базам данных отсутствие должной поддержки временных рядов (временных данных) Здесь предлагается ряд характерных для Oracle приемов, с помощьк которых можно преодолеть ограничения, связанные с данными этогс типа. В главе 8, Загрузка и выгрузка данных , исследуются различные способь заполнения базы данных Огас1е7 информацией из внешних источников Здесь также рассматривается методика извлечения данных из БД Огас]е7 В главе 9, Размещение и хранение объектов , изучаются некоторьк наиболее важные физические аспекты проектирования баз данных, таки( как Оценка размеров объектов и размещение файлов. В главе 10, Защита данных , освещаются вопросы резервного копирования, архивации, аудита и безопасности. Часть 3: Проектирование под конкретные архитектуры В главе 11, Проектирование для архитектур клиент/сервер , методь проектирования Огас1е7 рассматриваются применительно к модели кли ент/сервер. Мы изучим разнообразные приемы распределения обработк! с целью оптимизации производительности и достижения эффективное обработки. В главе 12, Проектирование для распределенных баз данных , рассматри ваются принципы работы распределенных баз данных, изучаются различ ные возможности Огас1е7 в этом плане и предлагаются варианть проектирования для разных сценариев. В главе 13, Проектирование для хранилищ данных , рассматриваюто этапы настройки и сопровождения хранилища данных. ОсвещаютС5
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |