Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен.docx
Скачиваний:
8
Добавлен:
18.09.2019
Размер:
440.18 Кб
Скачать

1

Базы данных. Назначение и основные функции. База данных — это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором свойств. Базами данных являются, например, различные справочники, энциклопедии и т. п. Информация в базах данных хранится в упорядоченном виде. Так, в записной книжке все записи упорядочены по алфавиту, а в библиотечном каталоге либо по алфавиту (алфавитный каталог), либо в соответствии с областью знания (предметный каталог). Существует несколько различных типов баз данных: табличные, иерархические и сетевые. Табличные базы данных. Табличная база данных содержит перечень объектов одного типа, т. е. объектов с одинаковым набором свойств. Такую базу данных удобно представлять в виде двумерной таблицы. Рассмотрим, например, базу данных «Компьютер» (табл. 12), представляющую собой перечень объектов (компьютеров), каждый из которых имеет имя (название). В качестве характеристик (свойств) могут выступать тип процессора и объем оперативной памяти. Столбцы такой таблицы называют полями; каждое поле характеризуется своим именем (названием соответствующего свойства) и типом данных, отражающих значения данного свойства. Поля Название и Тип процессора — текстовые, а Оперативная память — числовое. При этом каждое поле обладает определенным набором свойств (размер, формат и др.). Так, для поля Оперативная память задан формат данных целое число. Поле базы данных — это столбец таблицы, включающий в себя значения определенного свойства. Строки таблицы являются записями об объекте; эти записи разбиты на поля столбцами таблицы. Запись базы данных — это строка таблицы, которая содержит набор значений различных свойств объекта. В каждой таблице должно быть, по крайней мере, одно ключевое поле, содержимое которого уникально для любой записи в этой таблице. Значения ключевого поля однозначно определяют каждую запись в таблице. Иерархические базы данных. Иерархические базы данных графически могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект, второй — объекты второго уровня и т. д. Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможно, чтобы объект-предок не имел потомков или имел их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами. Иерархической базой данных является Каталог папок Windows, с которым можно работать, запустив Проводник. Верхний уровень занимает папка Рабочий стол (см. рис. 10 на с. 47). На втором уровне находятся папки Мой компьютер, Мои документы, Сетевое окружение и Корзина, которые представляют собой потомков папки Рабочий стол, будучи между собой близнецами. В свою очередь, папка Мой компьютер — предок по отношению к папкам третьего уровня, папкам дисков (Диск 3,5(А:), С:, D:, E:, F:) и системным папкам (Принтеры, Панель управления и др.). Сетевые базы данных. Сетевая база данных образуется обобщением иерархической за счет допущения объектов, имеющих более одного предка, т.е. каждый элемент вышестоящего уровня может быть связан одновременно с любыми элементами следующего уровня. Вообще, на связи между объектами в сетевых моделях не накладывается никаких ограничений. Сетевой базой данных фактически является Всемирная паутина глобальной компьютерной сети Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую распределенную сетевую базу данных. Системы управления базами данных (СУБД). Для создания баз данных, а также выполнения операции поиска и сортировки данных предназначены специальные программы — системы управления базами данных (СУБД). Таким образом, необходимо различать собственно базы данных (БД) — упорядоченные наборы данных, и системы управления базами данных (СУБД) — программы, управляющие хранением и обработкой данных. Например, приложение Access, входящее в офисный пакет программ Microsoft Office, является СУБД, позволяющей пользователю создавать и обрабатывать табличные базы данных.

2

Система управления базами данных (СУБД). Назначение и основные функции. Системы управления базами данных (СУБД) используются для упорядоченного хранения и обработки больших объемов информации. В процессе упорядочения информации СУБД генерируют базы данных, а в процессе обработки сортируют информацию и осуществляют ее поиск. Информация в базах данных структурирована на отдельные записи, которыми называют группу связанных между собой элементов данных. Характер связи между записями определяет два основных типа организации баз данных: иерархический и реляционный. В иерархической базе данных записи упорядочиваются в определенную последовательность, как ступеньки лестницы, и поиск данных может осуществляться последовательным «спуском» со ступени на ступень. Иерархическая база данных по своей структуре соответствует структуре иерархической файловой системы. Реляционная база данных, по сути, представляет собой двумерную таблицу. Под записью здесь понимается строка двумерной таблицы, элементы которой образуют столбцы таблицы. В зависимости от типа данных столбцы могут быть числовые, текстовые или содержать дату. Строки таблицы нумеруются. Работа с СУБД начинается с создания структуры базы данных, т. е. с определения: • количества столбцов; • названий столбцов; • типов столбцов (текст/число/дата); • ширины столбцов. Рассмотрим структуру базы данных на примере базы данных Процессоры. Количество столбцов — 5. Названия и типы столбцов: Тип процессора (текст), Год создания (дата), Частота (число), Разрядность по данным (число), Разрядность по адресу (число). Ширина каждого столбца устанавливается пользователем в соответствии с удобством представления данных на экране. Структура созданной базы данных может быть впоследствии изменена (добавлены/удалены столбцы, изменены их названия и т. д.). В созданную «пустую» базу данных необходимо занести записи и при необходимости их редактировать. Обычно предусмотрены следующие режимы: • добавление записи; • удаление записи; • редактирование записи. Внесем в базу шесть записей, характеризующих технические характеристики различных процессоров Каждая запись состоит из пяти данных различных типов Занесенную в базу данных информацию можно обрабатывать, а именно — осуществлять следующие операции: • сортировка по любому столбцу (по возрастанию/ убыванию чисел, символьных строк, дат); • поиск по любому столбцу с различными условиями (равно, больше, меньше и т. д.). Так, в результате выполнения сортировки по убыванию по столбцу Год создания порядок записей изменится на противоположный. Могут осуществляться вложенные сортировки, т. е. сортировка 1 уровня по одному столбцу, в ней сортировка 2 уровня по другому столбцу и т. д. В результате выполнения операции поиска по столбцу Разрядность по данным с условием "= 32" будут найдены две записи (80386 и 80486). Могут осуществляться операции сложного поиска, когда задаются несколько условий по разным столбцам. В результате будут найдены записи, удовлетворяющие всем заданным условиям. Созданные базы данных можно записывать/считывать с диска и распечатывать на принтере. Это же относится к результатам операций сортировки и поиска. Вид представления записей на экране -может быть не только табличным, но и картотечным. В последнем случае каждая запись выводится в виде определенной формы. Структура формы одинакова для всех записей, причем название полей соответствует названиям столбцов табличной формы представления базы данных, а их расположение задается пользователем. Так, первая запись базы данных Процессор в виде формы может выглядеть следующим образом:

3

Архитектура СУБД

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

  • физическом размещении в памяти данных и их описаний;

  • механизмах поиска запрашиваемых данных;

  • проблемах, возникающих при одновременном запросе одних и тех же данных многими пользователями (прикладными программами);

  • способах обеспечения защиты данных от некорректных обновлений и (или) несанкционированного доступа;

  • поддержании баз данных в актуальном состоянии

и множестве других функций СУБД.

При выполнении основных из этих функций СУБД должна использовать различные описания данных. А как создавать эти описания?

Естественно, что проект базы данных надо начинать с анализа предметной области и выявления требований к ней отдельных пользователей (сотрудников организации, для которых создается база данных). Подробнее этот процесс будет рассмотрен ниже, а здесь отметим, что проектирование обычно поручается человеку (группе лиц) – администратору базы данных (АБД). Им может быть как специально выделенный сотрудник организации, так и будущий пользователь базы данных, достаточно хорошо знакомый с машинной обработкой данных.

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

Рис. 1.3. Уровни моделей данных

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

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

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

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

4

4 этапа в технологии развития БД. 1.Базы данных на больших ЭВМ. Первый этап развития СУБД связан с организацией баз данных на больших машинах типа IBM 360/370, ЕС-ЭВМ и мини-ЭВМ типа PDP11 (фирмы Digital Equipment Corporation – DEC). Базы данных хранились во внешней памяти центральной ЭВМ, пользователями этих баз данных были задачи, запускаемые в основном в пакетном режиме. Интерактивный режим доступа обеспечивался с помощью консольных терминалов, которые не обладали собственными вычислительными ресурсами (процессором, внешней памятью) и служили только устройствами ввода-вывода для центральной ЭВМ. Особенности этого этапа развития выражаются в следующем: - Все СУБД базируются на мощных мультипрограммных операционных системах, поэтому в основном поддерживается работа с централизованной базой данных в режиме распределенного доступа. - Функции управления распределением ресурсов в основном осуществляются операционной системой. - Поддерживаются языки низкого уровня манипулирования данными, ориентированные на навигационные методы доступа к данным. - Значительная роль отводится администрированию данных. - Проводятся серьезные работы по обоснованию и формализации реляционной модели данных, и была создана первая система (System R), реализующая идеологию реляционной модели данных. - Проводятся теоретические работы по оптимизации запросов и управлению распределенным доступом к централизованной БД, было введено понятие транзакции. - Результаты научных исследований открыто обсуждаются в печати, идет мощный поток общедоступных публикаций, касающихся всех аспектов теории и практики баз данных, и результаты теоретических исследований активно внедряются в коммерческие СУБД, - Появляются первые языки высокого уровня для работы с реляционной моделью данных. Однако отсутствуют стандарты для этих первых языков. 2.Эпоха персональных компьютеров. Появляются локальные СУБД. Они позволяли хранить большие объемы информации, имели удобный интерфейс, средства для генерации отчетов. Позволяли автоматизировать учетные функции, которые раньше выполнялись вручную. Появляются сотни СУБД, большой выбор, разное качество (dBase, Paradox, Clipper, FoxPro). Особенности этапа: - Все СУБД были расчитаны на работу с БД с монопольным доступом. - Отсутствие сетевого доступа. - Пользовательский интерфейс. - Наличие высокоуровневых языков манипулирования данными. - Отсутствовали средства поддержки целостности БД. - Вырождение функции администрирования БД и, как следствие, инструментов администрирования. - Низкие требования к аппаратному обеспечению (ресурсам компьютера). 3.Распределенные базы данных. На смену процессу персонализации приходит процесс интеграции. Появляются и развиваются локальные вычислительные сети (ЛВС), возникают задачи согласования данных, хранящихся в разных местах, но при этом логически связанных друг с другом. Возникают задачи, связанные с параллельной обработкой транзакций (последовательность операций, переводящих БД из одного согласованного состояния в другое). Необходимость в успешном решении этих задач привела к появлению распределенных БД, сохраняющих все преимущества настольных БД и, в то же время, позволяющих организовать параллельную обработку и поддержку целостности. Практически все современные СУБД имеют поддержку полной реляционной модели, а именно: - Структурная целостность – допустимыми являются только данные, представленные в виде отношений реляционной модели; - Языковая целостность – использование языков манипулирования данными высокого уровня (SQL); - Ссылочная целостность, а именно её контроль в течении всего времени работы системы и гарантии невозможности нарушения этой целостности. Большинство современных СУБД расчитаны на многоплатформенную архитектуру. Необходимость поддержки многопользовательской работы с базой данных и возможность децентрализованного хранения данных потребовали развития средств администрирования БД с реализацией общей концепции средств защиты данных. Потребность в новых реализациях вызвала создание серьезных теоретических трудов по оптимизации реализаций распределенных БД и работе с распределенными транзакциями и запросами с внедрением полученных результатов в коммерческие СУБД. Для того чтобы не потерять клиентов, которые ранее работали на настольных СУБД, практически все современные СУБД имеют средства подключения клиентских приложений, разработанных с использованием настольных СУБД, и средства экспорта данных из форматов настольных СУБД второго этапа развития. Именно к этому этапу можно отнести разработку ряда стандартов в рамках языков описания и манипулирования данными начиная с SQL89, SQL92, SQL99 и технологий по обмену данными между различными СУБД, к которым можно отнести и протокол ODBC (Open DataBase Connectivity), предложенный фирмой Microsoft. Именно к этому этапу можно отнести начало работ, связанных с концепцией объектно-ориентированных БД – СУБД. Представителями СУБД, относя­щимся ко второму этапу, можно считать MS Access 97 и все современные серверы баз данных Огасlе 7, Огасlе 8.4, MS SQL 6.5, MS SQL 7.0, System 10, System 11, Informix, DB2, SQL Base и другие современные серверы баз данных, которых в настоящий момент насчитывается несколько десятков. 4.Перспективы развития СУБД. Интернет. Использование клиентского ПО.

5

Этапы проектирования баз данных

При разработке БД можно выделить следующие этапы работы.

I этап. Постановка задачи.

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

II этап. Анализ объекта.

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

III этап. Синтез модели.

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

IV этап. Выбор способов представления информации и программного инструментария.

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

В большинстве СУБД данные можно хранить в двух видах:

  • с использованием форм;

  • без использования форм.

Форма – это созданный пользователем графический интерфейс для ввода данных в базу.

V этап. Синтез компьютерной модели объекта.

В процессе создания компьютерной модели можно выделить некоторые стадии, типичные для любой СУБД.

Стадия 1. Запуск СУБД, создание нового файла базы данных или открытие созданной ранее базы.

Стадия 2. Создание исходной таблицы или таблиц.

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

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

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

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

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

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

Стадия 3. Создание экранных форм.

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

Стадия 4. Заполнение БД.

Процесс заполнения БД может проводиться в двух видах: в виде таблицы и в виде формы. Числовые и текстовые поля можно заполнять в виде таблицы, а поля типа МЕМО и OLE – в виде формы.