рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Оптимизация схемы данных

Оптимизация схемы данных - раздел Философия, Введение. Информационные технологии в современной экономике Одну И Ту Же Предметную Область В Рамках Решения Одной И Той Же Задачи Можно ...

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

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

Эти сведения можно отобразить одной таблицей, в которой каждому устройству будет соответствовать одна строка. Тогда в этой строке должно быть предусмотрено место для указания всех деталей и для количества каждой детали. Но одно устройство может состоять из десяти деталей, а второе – из десяти тысяч. Поэтому в таблице количество столбцов должно быть предусмотрено по максимуму – то есть 10 000. Но, во-первых, это очень неэкономно, поскольку при такой системе записи подавляющее количество ячеек таблицы будет не заполнено. Во-вторых, составить, например, запрос для поиска всех устройств, включающих определенную деталь, оказывается затруднительным.

Более эффективной оказывается организация базы данных в форме двух таблиц. Первая, главная таблица содержит столбцы «Код устройства» и «Название устройства». Вторая, подчиненная таблица содержит список всех вхождений всех деталей в состав всех устройств. Она содержит столбцы «Код устройства», «Код детали», «Название детали» и «Количество деталей». Соединение таблиц осуществляется с помощью полей «Код устройства» в обеих таблицах. При такой организации в состав устройства с кодом N входят все детали, которым в подчиненной таблице приписан код устройства N.

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

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

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

Таблицы из пары таблиц вида «Устройство – деталь» из первого примера или «Группа – студент» из второго примера называются главной и подчиненной таблицей. Возможны не только пары, но и тройки таблиц последовательного подчинения, например, для таблиц «Отделения» → «Группы» → «Студенты».

Говорят, что база данных удовлетворяет третьей нормальной форме, если невозможна ситуация, когда какое-то поле функционально зависит от группы других полей. То же самое по-другому можно выразить так: невозможна ситуация, когда для какой-то части полей в каждой группе записей с одинаковыми значениями этих полей значение проверяемого поля одинаковое. Отличие от второй нормальной формы в том, что сейчас не требуется, чтобы группа полей входила в состав первичного ключа. Например, если таблица товаров, проданных за день, содержит столбцы «Покупатель», «Код товара по каталогу», «Название товара», «Цена товара», «Количество», то поля «Название товара» и «Цена товара» определяются по полю «Код товара по каталогу» и повторяются во всех строках с одинаковым кодом товара. Данная таблица не удовлетворяет третьей нормальной форме.

Для того, чтобы нормализовать данную ситуацию, надо использовать две таблицы: таблицу проданных товаров со столбцами «Покупатель», «Код товара по каталогу», «Количество», и таблицу «Каталог товаров» со столбцами «Код товара по каталогу», «Название товара», «Цена товара». Эти таблицы надо связать по полю «Код товара по каталогу». Таблица «Каталог товаров» по отношению к полю «Код товара по каталогу» в таблице проданных товаров служит справочником, который позволяет определить название и цену товара по коду.

Итак, использование ненормализованных или плохо нормализованных таблиц в структуре базы данных приведет к следующим проблемам, с которыми столкнется конечный пользователь базы данных:

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

¨ Ввод пользователем большого количества повторяющейся информации неизбежно приведет к возникновению ошибок.

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

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

Для того, чтобы построить достаточно эффективную структуру данных, достаточно придерживаться нескольких простых правил:

¨ Определите таблицы таким образом, чтобы записи в каждой таблице описывали объекты одного и того же класса, например: товары, заказы, потребители.

¨ Если в вашей таблице появляются поля, содержащие аналогичные данные, но относящиеся к разным элементам некоторого списка - разделите таблицу на две, выделив элементы списка в отдельную таблицу.

¨ Не запоминайте в таблице данных, которые могут быть вычислены при помощи данных из других таблиц.

¨ Широко используйте справочники. Например, если в вашей таблице есть поле «Страна», то стоит ввести вспомогательную таблицу «Страны», которая будет содержать соответствующие записи (Россия, Украина, США и т.п.). Этот прием поможет уменьшить количество ошибок при вводе данных, допускаемых пользователями.

Как было отмечено выше при описании отношений между таблицами, в реляционных базах данных таблицы чаще всего соединяются друг с другом посредством совпадающих значений полей, которые в одной из таблиц являются ключевыми. Ключевым полем может быть только такое поле таблицы, которое не повторяется в разных записях. Если связывающее поле в одной таблице является полем первичного (primary) ключа, то во второй таблице оно называется полем внешнего (foreign) ключа.

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

– Конец работы –

Эта тема принадлежит разделу:

Введение. Информационные технологии в современной экономике

Глава Принципы алгоритмизации вычислений... Алгоритм... Принципы Фон Неймана Двоичная система счисления...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Оптимизация схемы данных

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Принципы Фон-Неймана.
Первый компьютер MARK-1 был построен в США в 1943г. Однако оказалось, что не всякий алгоритм можно реализовать на этом компьютере. Группа ученых, приглашенная для помощи, после тщательного анализа

Двоичная система счисления
Мы привыкли для записи чисел использовать десятичную систему счисления. На самом деле эта система счисления не единственная. В общем случае позиционной системой счисления называется способ представ

История компьютерной индустрии
Первый компьютер Mark I был построен в 1943г. в Гарвардском Университете. Машина была длиною 15 метров, весила 5 тонн и состояла из 750 тысяч частей. В 1945г. была создана машина ENIAC весом 30 тон

История Интернета
Еще одна революция в информационных технологиях связана с возможностью соединения компьютеров в сети. Первый модем был разработан фирмой АТ в 1960г. А в 1969г. впервые были связаны два компьютера в

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

Центральный процессор.
Центральный процессор - основное устройство компьютера, которое управляет всеми другими устройствами компьютера. Функционально процессор состоит из двух компонент: операционной части и интерфейсной

Оперативная память
Оперативное запоминающее устройство (ОЗУ) предназначено для хранения той информации, которая может потребоваться процессору для выполнения программы. Иногда ее называют памятью прямого доступа (анг

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

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

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

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

Устройства вывода информации.
Устройства вывода информации предназначены для представления результатов работы компьютера в «человеческом» виде. Кроме видеомонитора, о котором шла речь выше, это принтер, предназначенный для бума

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

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

Загрузка операционной системы.
В постоянной памяти компьютера (ПЗУ) содержится программа начальной загрузки компьютера. Эта программа независима от операционной системы. Она автоматически запускается при включении питания компью

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

Управление выполнением программ и управление памятью
Функции управления выполнением программ и управления памятью в операционной системе тесно переплетены. Современные операционные системы ориентированы на мультизадачный режим выполнения программ. В

Управление файловой системой
Для организации доступа программ к данным, размещенным на внешних носителях, ОС организует данные в структуру, называемую файловой системой. Файловая система представляет собой иерархическую структ

Управление вводом-выводом
Утилиты ввода-вывода содержат стандартные программы, предназначенные для чтения и записи информации для различных внешних устройств. К ним относятся и программы BIOS, хранящиеся в ПЗУ, и драйверы р

Интерфейс операционной системы
Интерфейсом операционной системы называется комплекс средств, предназначенных для передачи операционной системе управляющих команд. Интерфейс включает две подсистемы: интерактивный интерфейс пользо

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

Операционная система Windows.
Система MS Windows является наиболее распространенной ОС для персональных компьютеров. Она позволяет переходить от программы к программе путем выбора окна на экране монитора, запускать подпрограммы

Языки программирования
Работой компьютера в любой момент времени руководит программа. Программировать работу компьютера - значит создать эту программу. Для этого надо точно описать то, что программа должна делать. Выходо

Среда программирования
Изложим схему профессионального программирования на языке высокого уровня. Оно состоит из нескольких этапов. Сначала нужно хорошо сформулировать задачу и придумать алгоритм решения задачи. Затем ну

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

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

Модель OSI взаимодействия открытых систем.
Проблема стандартизации, характерная для современного развития общества в целом, в сфере распространения информации особенно важна. Представьте себе, что вы заходите на какой-то сайт и хотите налад

Методы доступа в ЛВС.
Методом доступа в локальной сети называется алгоритм, согласно которому узлы сети получают разрешение на передачу данных, а также регламентируют поведение при различных конфликтных ситуациях, возни

Управление локальной сетью
Основное назначение сетевой части операционной системы – обеспечение служебных функций обеспечения передачи данных канального и сетевого уровня в локальных сетях. Сетевые операционные системы объед

Основные принципы Интернет.
Интернет – всемирная компьютерная сеть, составленная из разнообразных локальных и глобальных (типа NSFNET) компьютерных сетей, объединенных стандартными соглашениями о способах обмена информацией и

Типы сервисов Интернет
Принято делить сервисы Интернета на сервисы интерактивные, прямые и отложенного чтения. В сервисах отложенного чтения запрос и получение информации разделены по времени. Сюда относится, например, э

Адресация в Интернет
Во всемирной сети Интернет каждый компьютер (на самом деле, каждый сетевой адаптер компьютера) получает уникальный идентификатор, однозначно его определяющий. Этот идентификатор, называемый IP-адре

Поиск информации в Интернете
Пожалуй, самой полезной чертой Интернета является наличие в нем поисковых серверов. Это выделенные узлы, которые автоматически просматривают все доступные ресурсы Интернета и индексируют их содержа

Интранет - информационное обслуживание на основе Интернет
В последнее время все чаще стали говорить об Интранете. При этом обычно понимают использование информационных технологий Интернета для создания информационных систем внутри организации. Ядром такой

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

Теория баз данных.
Базой данных называют конкретный экземпляр организованной системы данных в совокупности со специфическими методами ее хранения и обработки. В современном представлении задачей базы данных является

Модели данных.
В основе конкретной базы данных лежит определенная модель данных. Разные модели данных задают ограничения разного вида на объекты и связи предметной области. Существующие модели данных можно отнест

Реляционная модель данных
Реляционная модель данных представляет собой логическую модель данных, описывающую: ¨ структуры данных в виде наборов таблиц; ¨ теоретико-множественные операции над таблиц

Составляющие реляционной модели.
Модель реляционных баз данных использует следующие основные понятия: ¨ тип данных; ¨ показатель; ¨ таблица; ¨ поле; ¨ запись;

Манипулирование данными
Для изменения содержимого таблиц разрешены следующие операции: ¨ создать новую таблицу; ¨ добавить в существующую таблицу новую запись или несколько записей; ¨

Языковые средства СУБД
Функциональные возможности поддерживаемой средствами СУБД модели данных становятся доступными пользователю благодаря ее языковым средствам. Языковые средства СУБД используются для выполнения двух о

Технология клиент-сервер
Наиболее распространенным вариантом архитектуры СУБД еще с начала 90-х годов стала архитектура «клиент-сервер». При этом предусматривается выделение одного из функциональных компон

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

Перспективы развития технологий баз данных
Укажем наиболее успешно развивающиеся новые направления технологий баз данных. Широко практикуется создание систем баз данных с телекоммуникационным доступом в среде Web. Число таких систе

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги