Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика.doc
Скачиваний:
402
Добавлен:
10.04.2015
Размер:
4.26 Mб
Скачать

Тема 6. Базы данных

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

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

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

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

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

Наибольшее распространение в настоящее время получили СУБД Access, FoxPro, Paradox, SQL Server и Oracle.

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

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

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

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

В СУБД поддерживается свой набор буферов оперативной памяти с собственной дисциплиной их замены.

Технология работы в СУБД включает в себя следующие этапы.

1. Создание структуры базы данных, т.е. определение перечня полей, составляющих запись, типов и размеров полей (числовой, текстовый и т.д.).

2. Установка ключевых полей для обеспечения связей между данными.

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

4. Обработка данных, содержащихся в таблицах, на основе запросов.

5. Вывод информации с использованием отчетов и без них.

СУБД включает следующий стандартный набор команд.

Команды для работы с файлами обеспечивают: создание новых объектов баз данных; сохранение и переименование ранее созданных объектов; вывод на принтер объектов баз данных и другое.

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

Команды форматирования обеспечивают: выравнивание данных; установку различных видов шрифтов; выбор толщины линий, высоты букв, фона и др. Если не заданы параметры форматирования, то действуют параметры, принятые по умолчанию.

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

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

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

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

Связь с отношением «один ко многим» характеризует то, что одному экземпляру информационного объекта «1» соответствует 0,1,2 и более экземпляров объекта «2». Такое отношение существует, например, между таблицами «Поставщики» и «Товары», т.е. каждый поставщик может продавать различные товары, но у каждого товара есть единственный поставщик.

Отношение «многие ко многим» предполагает, что в каждый момент времени одной записи таблицы «1» соответствует несколько экземпляров таблицы «2» и наоборот. Примером может служить связь между информационными объектами «Клиент» и «Банк». Один клиент хранит средства во многих банках. Один банк обслуживает многих клиентов. Реализуется отношение с помощью третьей (связующей) таблицы, ключ которой состоит, по крайней мере, из двух полей, которые являются полями внешнего ключа в исходных таблицах.

Известны три основных типа моделей данных.

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

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

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

Сетевая модель. В основу модели положены сетевые структуры, в которых любой элемент может быть связан с любым другим элементом. Информационными конструкциями в модели являются отношения и веерные отношения. Последние подразделяют на основные и зависимые. Веерным отношением W(R,S) называется пара отношений R и S и связь между ними при условии, что каждое значение S связано с единственным значением R. Отношение R называют исходным (основным), а S - порожденным (зависимым).

В структуру основного и зависимого отношений вводится дополнительный атрибут, называемый адресом связи, который обеспечивает соответствие каждого значения зависимого отношения S с единственным значением основного отношения R. Адрес связи хранит начальный адрес или номер следующей обрабатываемой записи. Кольцевая структура адресов связи называется веером. Роль "ручки" веера играет запись основного отношения.

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

Реляционная модель. В основе структуры данных этой модели лежит аппарат реляционной алгебры и теории нормализации. Модель предполагает использование двумерных таблиц (отношений).

Ограничения на отношения реляционной модели: каждый элемент таблицы представляет собой простой элемент данных; в таблице нет одинаковых строк; столбцам (полям) присвоены уникальные имена; все строки таблицы имеют одну и ту же структуру; в таблице порядок строк и столбцов произволен.

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

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

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

Запись – это совокупность логически связанных полей.

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

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

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

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

Операция выборки выполняется над одним отношением (таблицей). Результирующее отношение содержит подмножество кортежей (строк), объединенных по некоторому условию.

Операция проекции копирует в результирующее отношение атрибуты (поля) из исходного отношения, согласно заданному условию проекции.

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

Операция пересечения включает кортежи первого отношения, которые есть во втором отношении.

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

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

Лекция №11

Систему Microsoft Access отличает универсальность, широкий набор визуальных средств разработки, возможность интеграции с другими программными продуктами пакета Microsoft Office, а также с программами, поддерживающими технологию OLE.

Запуск программы осуществляется с помощью команд Пуск, Программы, MS-Access. В появившемся окне приглашения имеются две опции, предназначенные для создания новой и открытия ранее созданной базы данных. При установке переключателя «Новая база данных» Access предлагает ввести имя базы. Необходимо задать имя базы данных и щелкнуть кнопку «ОК». Создание новой базы также может быть выполнено по команде Файл, Создать.

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

Рабочая область окна содержит разделы, соответствующие типам объектов, которые может содержать база данных. Такими объектами являются Таблицы, Запросы, Отчеты, Страницы, Макросы, Модули.

Заголовок окна содержит имя файла базы данных.

Интерфейс работы с объектами базы данных унифицирован, он имеет стандартные режимы работы – «Просмотр», «Конструктор», «Создать».

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

База данных MS Access состоит из отдельных компонентов, которые используются для хранения и представления данных. Этими компонентами являются таблицы, формы, отчеты, запросы, страницы, макросы и модули. Для создания форм и отчетов используются конструкторы, поэтому эти компоненты называются конструкторскими объектами. Конструкторские объекты являются составными объектами, то есть состоят из более мелких объектов (поля, кнопки, диаграммы, рамки и т.д.), которые называются элементами управления.

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

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

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

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

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

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

Для создания таблицы необходимо открыть окно созданной базы данных, перейти на закладку Таблицы и в окне диалога выбрать режимы:

- создание таблицы в режиме ввода данных;

- создание новой таблицы в режиме Конструктор;

- создание новой таблицы в режиме Мастер.

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

По команде Файл, Внешние данные, Импорт позволяет осуществить импорт таблиц из внешнего файла в текущую базу данных;

По команде Файл, Внешние данные, Связь с таблицами позволяет осуществить создание таблиц, связанных с таблицами из внешних файлов.

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

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

Для создания форм используются следующие инструменты:

Конструктор – позволяет самостоятельно создать новую форму;

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

Печать формы осуществляется с помощью соответствующей кнопки «Печать» на панели инструментов Стандартная или команды меню Файл, Печать. Готовую форму можно открыть в режиме Формы или с помощью Конструктора формы для ее модификации.

В MS Access можно вставлять рисунки, видеоклипы, файлы со звуком, деловые диаграммы, электронные таблицы Excel, а также документы Word. С формами и отчетами можно связать любой объект типа OLE. При этом их можно не только использовать в Access, но и редактировать непосредственно в форме. Объекты можно внедрять в присоединенные и свободные рамки, а также в рамку рисунка. Внедрение приводит к размещению объекта в базе данных Access, где он сохраняется в форме, отчете или записи таблицы.

Внедрение свободного объекта. Для внедрения свободного объекта в форму или отчет можно использовать два следующих способа:

- вставить объект в форму или отчет, при этом будет создан объект типа «рисунок» или свободная рамка объекта;

- сначала создать объект типа «рисунок» или свободную рамку объекта, а затем вставить объект или рисунок в эту рамку.

Внедрение рисунка. Для внедрения объектов типа OLE или рисунков в свободную рамку объекта или рисунка необходимо:

- открыть форму в режиме Конструктора формы;

- щелкнуть в панели элементов по кнопке Рисунок;

- создать рамку рисунка, переместив инструмент Рисунок.

При создании рамки рисунка появится диалоговое окно «Выбор рисунка», в котором будет представлен перечень файлов с рисунками, содержащимися в текущей папке. Далее следует выбрать рисунок и щелкнуть по кнопке «ОК». В результате рисунок будет внедрен и отображен.

Для создания отчетов в MS Access имеются гибкие и мощные средства: Конструктор отчетов, Мастер отчетов, Автоотчет, Мастер диаграмм, Почтовые наклейки.

Для просмотра отчета базы данных можно воспользоваться:

командами Файл, Предварительный просмотр основного меню;

командами Предварительный просмотр контекстного меню;

кнопкой Предварительный просмотр панели инструментов.

Для печати созданного отчета из окна Конструктора отчетов или окна Базы данных необходимо: выполнить команды Файл, Печать.

Для сохранения отчета необходимо выполнить команды Файл, Сохранить или Файл, Сохранить как, Экспорт или щелкнув на кнопке Сохранить панели инструментов Стандартная.

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

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

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

SQL-подобные языки реализуются в большинстве многопользовательских и распределённых СУБД. SQL (Structured Query Language – структурированный язык запросов) представлен в явной синтаксической форме и реализует: описание данных, чтение данных, создание программ обработки данных, управление доступом, обеспечение целостности данных, совместное использование данных. Синтаксис версий SQL различается для отдельных СУБД. Язык имеет несколько стандартов, наиболее распространенные SQL-89 и SQL-92.

SOL является непроцедурным языком и не содержит операторов управления и организации подпрограмм. В связи с этим, SQL обычно погружен в среду встроенного языка программиро­вания СУБД (например, языка СУБД Visual FoxPro) или даже процедурного язы­ка типа C++ или Pascal.

Основные операторы подмножества SQL: CREATE TABLE, DROP TABLE — создание, удаление таблицы; CREATE INDEX, DROP INDEX — создание, удаление индекса; ALTER TABLE — изменение структуры таблицы; SELECT, UPDATE, INSERT, DELETE — выборка, изменение, вставка и удаление записей.

К дополнительным операторам SQL относят: CREATE DATABASE, SHOW DATABASE, START DATABASE, STOP DATABASE, DROP DATABASE — создание, просмотр, активизация, закрытие, удаление БД; CREATE VIEW, DROP VIEW — создание, удаление выборки (представления); CREATE SYNONYM — создание синонима; GRANT, REVOKE — назначение, удаление привилегии для работы с выборками и таблицами.

Оператор SELECT позволяет выполнять выборку и вычисления над данными одной или нескольких таблиц. В списке данных можно задавать имена столбцов и выражения над ними. Если записи отбираются из нескольких таблиц, то используют состав­ные имена <имя таблицы>.<имя столбца>. Упрощенный вариант оператора SELECT имеет следующий формат:

SELECT [ALL-DISTINCT] < (СписокДанных - ВыбираемыхПолей)> FROM <СписокТаблиц - источник данных> [INTO ИмяТаблицы получателя данных] [WHERE <условие выборки>] [GROUP BY Условие группировки <Имя столбца> [, <имя столбца»...][HAVING <Условие поиска> [ORDER BY Условие упорядочения выводимых данных <спецификация сортировки>[,<спецификация сортировки»...] [TO FILE ИмяФайла (TO PRINTER – направление вывода данных) ]

Основные фразы языка SQL: SELECT (взять); FROM (из); WHERE (где\условие отбора); ORDER (сортировка).

Например, задана база данных «Преподаватели» следующей структуры:

Имя поля

Тип поля

Признак ключа

ФИО

Текст

Ключ

Кафедра

Текст

Ключ

Должность

Текст

Ключ

Оклад

Десятичное число

Не ключевое

Предмет

Текст

Ключ

Требуется выбрать из базы преподавателей кафедры иностранных языков, ведущих предмет «английский язык». Запрос: SELECT ФИО., Кафедра, Предмет FROM Преподаватели WHERE Кафедра = «Ин.яз.» and Предмет=«Английский» ORDER ФИО.

Графические реляционные языки ориентированы на конечных пользователей. Типичным представителем такого языка является QBE (Query By Example), реализованный в среде электронных таблиц, в ряде СУБД, в пакете MicroSoft Query. Функции языка доступны в формах различного рода меню, диалоговых сценариях или заполняемых пользователем таблицах. По таким входным данным интерфейсные средства формируют адекватные синтаксические конструкции и передают их на исполнение. QBE применяется в СУБД Access.

Лекция №12