Лекція 21 "Інформатика та комп'ютерна техніка" Тема Бази даних та системи керування базами даних (скбд) Організація даних

Вид материалаЛекція

Содержание


Заметим, что каждый из этих способов имеет свои преимущества и недостатки.
В третьем случае легко исправлять списки сотрудников, так как они отделены от списков работ, но недостатки те же, что в первом в
Ієрархічні та мережні моделі даних.
Например, если заранее откладывать карточки, на которых числятся книги, в отдельную коробку.
В картотеке для этого используются закладки.
Имея эти два отношения, можно вычислить новое отношение «зарплата»: (Хоменко т.н.745 - 350 грн, Хоменко т.н.453 - 520 грн).
Приведенный выше пример в табличном представлении выглядит так
Табельный номер
Новое отношение
Поняття банку даних, бази даних та СКБД.
Розробка баз даних. Основні етапи.
Нормалізация баз даних.
Табельный номер
Например, в представленной выше таблице оклад зависит от профессии, а фамилия и профессия - от табельного номера. Поєтому рекоме
Код профессии
Класифікація СКБД та їх вибір.
Подобный материал:

Лекція 21 "Інформатика та комп'ютерна техніка"

Тема 8.1. Бази даних та системи керування базами даних (СКБД)

Організація даних.


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

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

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

Как правило, информационные системы работают с массивами однородных данных, т.е. для объектов одного вида хранится один и тот же набор сведений.

Для приведенных выше примеров объектами будут абоненты библиотеки, сотрудники предприятия, выполняемые работы.

Каждый экземпляр объекта «абонент» будет содержать набор сведений: абонементный номер, фамилия, имя, отчество, домашний адрес, дата записи в библиотеку, список выданных книг.

При обработке данных важны не только сами объекты, но и связи между ними.

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

Такие связи могут задаваться различными способами: явно, когда в набор сведений экземпляра объекта включаются названия связанных с ним других экземпляров объектов того же или иного вида, или косвенно – с помощью ссылок или даже порядка записи.

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

Заметим, что каждый из этих способов имеет свои преимущества и недостатки.

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

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

В третьем случае легко исправлять списки сотрудников, так как они отделены от списков работ, но недостатки те же, что в первом варианте.

Таким образом, организация данных, это виды объектов, наборы сведений, которые их характеризуют, и связи между экземплярами объектов. Другими словами это называется «структура данных».

Ієрархічні та мережні моделі даних.


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

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

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

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

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

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

В картотеке для этого используются закладки.

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

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

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

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

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

Например, существует множество фамилий (Сергеев, Хоменко, Шевчук …), множество табельных номеров (т.н.213, т.н.745, т.н.453…), множество профессий (оператор, наборщик, верстальщик…), множество должностных окладов (350 грн, 520 грн, 640 грн,..).

Понятие «сотрудник», это отношение (relation) между указанными множествами, а конкретный экземпляр объекта «сотрудник» есть некоторая комбинация элементов (наборщик Хоменко т.н.745, оператор Хоменко т.н.453, оператор Сергеев т.н.213…). Аналогично, понятие «должность» есть отношение между профессией и окладом (оператор – 350 грн, наборщик – 520 грн …).

Имея эти два отношения, можно вычислить новое отношение «зарплата»: (Хоменко т.н.745 - 350 грн, Хоменко т.н.453 - 520 грн).

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

Приведенный выше пример в табличном представлении выглядит так:

Исходные данные

Сотрудник Должность

Профессия

Фамилия

Табельный номер




Профессия

Оклад

Оператор

Сергеев

т.н.213




оператор

350 грн

наборщик

Хоменко

т.н.745




наборщик

520 грн

Оператор

Хоменко

т.н.453










Новое отношение Зарплата

Фамилия

Табельный номер

Оклад

Сергеев

т.н.213

350 грн

Хоменко

т.н.745

520 грн

Хоменко

т.н.453

350 грн

Заметим, что при таком подходе каждое значение атрибута хранится только в одном экземпляре, хотя и используется в многих записях. Следовательно, не возникает проблем с внесением исправлений. Достаточно увеличить оклад оператору в таблице «Должность», чтобы операторы Сергеев и Хоменко стали получать больше.

Рассмотренная модель данных позволяет применять алгебраический аппарат при составлении схем отношений. Такая алгебра называется реляционной, или по имени автора – алгеброй Кодда. Основные операции реляционной алгебры: проекция, разность, объединение, декартово произведение.

Поняття банку даних, бази даних та СКБД.


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

Система управления базой данных (СУБД) – набор программ, которые обеспечивают работу базы: ввод, хранение, поиск, предварительную обработку и вывод данных. Благодаря СУБД пользователь и прикладные программы получают данные в удобной для них форме. Другими словами, внешние пользователи и прикладные программы не зависят от внутреннего представления данных.

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

Банк данных, это сама база данных и ее система управления – СУБД.

Розробка баз даних. Основні етапи.

  1. Анализ и проектирование информационной структуры предметной области:
  • Определяются цели создания базы данных, круг ее пользователей, информационные потоки и решаемые задачи.
  • Формируются словари названий объектов и их атрибутов.
  • Рисуются диаграммы связей между объектами.
  • Описываются возможные запросы на поиск и обработку данных.
  • Описываются предполагаемые структуры пользовательских меню и диалоговых форм, требуемые выходные документы.

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

В результате образуется логическая схема базы данных.
  1. Физическое проектирование и реализация БД.
  • Конструирование таблиц и их заполнение в среде СУБД.
  • Формирование связей между полями разных таблиц, создание схемы данных.
  • Конструирование запросов.
  • Конструирование диалоговых форм.
  • Конструирование отчетов.
  • Тестирование работы информационной системы.

В результате образуется информационная система на основе созданной базы данных.


Нормалізация баз даних.


Состоит в отображении информационной схемы данных в таблицы и оптимизация структуры полученных таблиц.
  • Сначала строится первая нормальная форма - данные представляются в виде одной или нескольких двумерных таблиц. Задаются ключевые атрибуты.

Например, в таблице

Профессия

Фамилия

Табельный номер

Оклад

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

Например, в представленной выше таблице оклад зависит от профессии, а фамилия и профессия - от табельного номера. Поєтому рекомендуется разбить эту таблицу на две:

Код профессии

Фамилия

Табельный номер




Код профессии

Профессия

Оклад

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

Класифікація СКБД та їх вибір.


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

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


Контрольні питання та завдання:
  1. У чому принципова різниця файлової структури даних та бази даних?
  2. Коли треба переходити від електронних таблиць до баз даних.
  3. Назвіть відомі Вам СКБД та охарактеризуйте їх вибір.



4.4.2002 09:47:00 AM