Тема 9. Системы управления базами данных (СУБД)
Поименованная совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, не зависящая от прикладных программ называется базой данных
Совокупность программ и языковых средств, предназначенных для создания, ведения и использования баз данных называется системой управления базами данных (СУБД)
Краткая история развития баз данных До появления СУБД все данные в компьютерных системах хранились в виде отдельных файлов. Система управления файлами (СУФ), которая обычно являлась частью операционной системы, следила за именами файлов и их расположением. В системах управления файлами ничего не знали о внутреннем строении файлов данных. Эту информацию имели только программы, работавшие с этими данными. То есть каждое приложение для работы с данными содержало описание структуры данных. Такой подход приводил к тому, что даже при незначительных изменениях в структуре файла данных приходилось изменять все приложения, использовавшие этот файл. Со временем количество и объем файлов росли и на сопровождения СУФ, а также разработку новых приложений требовалось все больше и больше усилий.
Проблемы с сопровождением больших систем. основанных на файлов привели в конце 60-х к появлению созданию СУБД. Идея СУБД заключалась в изъятии определения структуры файлов данных из приложений, работающих с ними. Первые СУБД имели иерархическую структуру (иерархические СУБД). Поскольку СУБД применялись в основном в экономике, а их применение было связано с планированием производства, то такая структура наиболее полно отвечала нуждам промышленных предприятий.
Одной из наиболее популярных иерархических СУБД была Information Managment System (IMS) от компании IBM, появившаяся в 1986 году. Достоинствами данной СУБД являлась простота модели данных, использование отношений предок/потомок (что позволяло делать заключения «А является частью Б» или «А принадлежит Б»), а также прекрасное быстродействие. Если структура данных оказывалась сложнее, чем традиционная иерархия, то простота организации иерархической базы данных становилась ее недостатком.
Недостатки сетевых и иерархических СУБД привели к повышению интереса к новой реляционной модели данных, описанной доктором Коддом в 1970 году. Реляционная модель была попыткой упростить структуру базы данных. В ней отсутствовали явные указатели на предков и потомков, а все данные были представлены в виде простых таблиц, разбитых на строки и столбцы, на пересечении которых находятся данные. У каждой таблицы есть определенное имя, описывающее ее содержимое (следует отметить, что грамотное именование таблиц значительно влияет на простоту восприятия базы данных разработчиками).
На сегодняшний день имеется более 2 десятков настольных СУБД. Наиболее популярными по общему числу продаж – dBASE, VFP, Paradox (Corel), Access
1. dBase – (разработана компанией Ashton –Tate в 1986 г. перекуплена –Borland) – dBase III занял лидирующее положение среди настольных СУБД. В этой СУБД 1 таблица – 1 файл (расширение DBF). Формат файла открыт то есть с этими таблицами можно работать и в других СУБД. Очень популярная в 90 – е годы СУБД Clipper (Nantucket Corp) поддерживала этот формат. 2. Paradox (1985) – (Ansa Software –> Borland 1996 – >Corel) – принцип хранения данных тот же – 1 таблица – 1 файл (расширение DB). Формат закрыт. Чтобы манипулировать данными необходимы специальные библиотеки. (Paradox Engine), – данные лучше защищены. Впервые визуальные средства построения запросов, на основе интерфейса QBE (облегченная версия Paradox 7), Database Desktop входит в Delphy и C Builder.
3. VFP (FoxSoftware, 1995, Microsoft). СУБД, совместимая с dBase, но производительнее (другая организация индексов). Формат данных DBF. Специальный файл (расширение .dbc) является контейнером БД. В нем содержится информация о таблицах, индексах, правила ссылочной целостности. VFP поддерживает COM-модель (Component Object Model – компонентная объектная модель), хорошая интеграция с Ms SQL Server 4. Access - БД рассчитана на пользователя. Все таблицы хранятся в 1 файле (расширение .MDB). Позволяет создать простейшую БД без написания программного кода с помощью различных мастеров. При необходимости программный код можно написать на VBA (Visual Basic for Application) Данные на 2001 г. по числу пользователей СУБД: - Ms SQL Server+ VFP – 34% InterBase +Delphi – 14%, Oracle – 8%
По характеру использования СУБД делят на персональные (СУБДП) и многопользовательские (СУБДМ). Многопользовательские СУБД включают в себя сервер БД и клиентскую часть, работают в неоднородной вычислительной среде допускаются разные типы ЭВМ и различные операционные системы. Поэтому на базе СУБДМ можно создать информационную систему, функционирующую по технологии клиент-сервер. Универсальность многопользовательских СУБД отражается соответственно на высокой цене и компьютерных ресурсах, требуемых для поддержки
Персональные СУБД обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними, и при необходимости создания приложений, работающих с сервером БД.
Базы данных классифицируются: по структуре, назначению, способу доступа.
По назначению содержащейся информации базы данных делятся на: БД деловой информации (социальная, коммерческая и др. информация, кадастры, регистры); БД информации для специалистов (экономическая, правоохранительная и др. информация); БД массовой информации.
По способу доступа базы данных делятся на: БД, размещенные на хостах (доступные через сети); БД, тиражируемые в коммуникативных форматах; БД, тиражирумые с программными средствами (включая CD-ROM); локальные БД.
По структуре базы данных делятся на: документографические (библиографические, реферативные); фактографические; числовые; полнотекстовые и гипертекстовые; лексикографические.
Функции СУБД можно разделить на три группы: управление базами данных (СУБД берет на себя функции менеджера); разработка, отладка, выполнение прикладных программ (СУБД осуществляет функции транслятора); выполнение вспомогательных операций (сервис).
В СУБД предусмотрены три уровня управления (манипулирования): управление файлами, осуществляемое в процессе их генерации и эксплуатации. Основными операциями являются открытие и закрытие, копирование, переименование, реструктурирование, реорганизация, восстановление БД, снятие отчетов по БД; управление записями (кортежами), которое включает чтение, добавление, удаление и упорядочивание записей; управление полями записей (атрибутами).
Типы объектов, которые позволяет создавать СУБД таблицы, запросы, формы, отчеты, страницы, макросы модули
Microsoft Access поддерживает следующие типы данных: Текстовый Текст или числа, не требующие проведения расчетов, например, номера телефонов. Поле МЕМО Длинный текст или комбинация текста и чисел. Числовой Числовые данные, используемые для проведения расчетов. Дата/время Даты и время, относящиеся к годам с 100 по 9999, включительно. Денежный Денежные значения и числовые данные, используемые в математических расчетах. Счетчик Уникальные последовательно возрастающие (на 1) или случайные числа, автоматически вводящиеся при добавлении каждой новой записи в таблицу. Логический Логические значения, а также поля, которые могут содержать одно из двух возможных значений (True/False, Да/Нет). Поле объекта OLE Объект (например, электронная таблица Microsoft Excel, документ Microsoft Word, рисунок, звукозапись или другие данные в двоичном формате), связанный или внедренный в таблицу Microsoft Access. Гиперссылка Строка, состоящая из букв и цифр, и представляющая адрес гиперссылки. Мастер подстановок Создает поле, в котором предлагается выбор значений из списка, или из поля со списком, содержащего набор постоянных значений или значений из другой таблицы.
Мастер таблиц Мастер таблиц имеет две категории таблиц-образцов: для делового применения для личного применения.
Создание таблицы в режиме Конструктора. Задание имени поля. В столбце Поле указываются имена соответствующих полей (не более 64 знаков). В имени поля допустимы все специальные знаки, кроме точки, восклицательного знака, угловых скобок. Определение типа данных. Тип данных можно выбрать из раскрывающегося списка столбца Тип данных. Определение дополнительных свойств полей. Указание свойств производится в нижней части окна конструирования таблицы.
Связи между таблицами Главной становится та таблица, из которой вы перетаскиваете поле, подчиненной - та таблица, куда вы его перетаскивали. Одна и та же таблица может выступать в одной связи как главная, а в другой - как подчиненная. Разница между главной и подчиненной таблицами: с точки зрения сопоставления и поиска данных двух таблиц никакой разницы нет. Различие состоит только в том, как система управления данными будет обеспечивать целостность данных при изменении значений в связующих таблицах при изменении значений в связующих полях или при удалении записей из связанных таблиц.
В Access 2003 можно задать три вида связей между таблицами: Один-ко-многим, Многие-ко-многим, Один-к-одному.
Связь Один-ко-многим - наиболее часто используемый тип связи между таблицами. В такой связи каждой записи в таблице А может соответствовать несколько записей в таблице В (поля с этими записями называются ключами), а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А.
При связи Многие-ко-многим одной записи в таблице А может соответствовать несколько записей в таблице В, а одной записи в таблице В - несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит, по крайней мере, из двух полей, одно из которых является общим с таблицей А, а другое - общим с таблицей В.
При связи Один-к-одному запись в таблице А может иметь не более одной связанной записи в таблице В и наоборот. Этот тип связи используется не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением Один-к-одному применяют для разделения очень широких таблиц, для отделения части таблицы в целях ее защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.
В Access можно создавать следующие типы запросов: запрос на выборку; запрос с параметрами (критерий отбора задает пользователь, введя нужный параметр при вызове запроса); перекрестный запрос (позволяет создавать результирующие таблицы на основе результатов расчетов, полученных при анализе группы таблиц); запрос на изменение (удаление, обновление и добавление) записей (позволяет автоматизировать заполнение полей таблиц); запросы SQL (на объединение, к серверу, управляющие, подчиненные), написанные на языке запросов
Запрос на выборку используется наиболее часто. При его выполнении данные, удовлетворяющие условиям отбора, выбираются из одной или нескольких таблиц и выводятся в определенном порядке.
Отчет - это гибкое и эффективное средство для организации просмотра и распечатки итоговой информации. В отчете можно получить результаты сложных расчетов, статистических сравнений, а также поместить в него рисунки и диаграммы.
При работе с Мастером Access предлагает различные варианты макетов отчета. Для создания отчета надо открыть вкладку Отчеты и щелкнуть по кнопке Создать. Откроется окно Новый отчет, в котором приведены шесть способов создания отчета: Конструктор, Мастер отчетов, Автоотчет в столбец, Автоотчет ленточный, Мастер диаграмм и Почтовые наклейки.
В Access выделяют три типа ключевых полей: простой ключ, составной ключ внешний ключ
Самостоятельная работа №2 Дайте определение СУБД. В каком виде хранились данные до появления СУБД? Перечислите типы данных в MS Access.