Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лекция. Основные понятия и определения баз данных.
Характеристика СУБД MS Access
свойства реляционной таблицы, ключи, типы связей и их создание
В настоящее время любая область человеческой деятельности немыслима без использования компьютера. Первые компьютеры, чаще называемые электронными вычислительными машинами (ЭВМ), использовались лишь для проведения вычислений. Это объясняется тем, что оперативная и внешняя память ЭВМ были небольшими. На первых ЭВМ для внешней памяти использовались магнитные ленты, которые могли обеспечить лишь последовательный и медленный доступ к данным. ЭВМ использовались, в основном, для вычислений. Потом появились барабаны, у которых был произвольный доступ к данным, но объем памяти был небольшой. И лишь с появлением дисковой внешней памяти стало возможным хранение больших объемов информации и быстрый доступ к этой информации. С этого момента ЭВМ стали применять и для хранения больших объемов информации. Стали появляться первые программные системы, называемые системами управления базами данных (СУБД), которые позволяли организовать хранение и обработку больших объемов информации. Специальным образом структурированный файл, предназначенный для хранения информации, получил название базы данных (БД).
База данных (БД) именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области данных.
Примеры предметных областей данных: склад, магазин, вуз, больница, учебный процесс и т. д. Именно предметная область определяет совокупность данных, которые должны храниться в базе данных.
Система управления базами данных (СУБД) совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования базы данных многими пользователями.
Другие определения, имеющие отношение к БД и СУБД.
Банк данных (БнД) это система специальным образом организованных данных баз данных, программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и многоцелевого использования данных.
Информационная система (ИС) взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации в интересах достижения поставленной задачи.
Основой практически любой информационной системы является база данных.
Сервер компьютер или программа, владеющая определенным информационным ресурсом и предназначенная для обработки запросов от программ-клиентов.
Основными моделями данных, определяющие структуру базы данных, являются:
Мы будем рассматривать базы данных, основанных на реляционной модели данных. Теоретической основой этой модели является теория отношений и основной структурой данных отношение. Именно поэтому модель получила название реляционной (от английского слова relation отношение).
Отношение представляет собой множество элементов, называемых кортежами. Наглядной формой представления отношения является двумерная таблица. Смысловые значения некоторых элементов реляционной модели приведены в следующей таблице.
Обычное представление |
База данных |
Реляционная модель |
Таблица |
Таблица |
Отношение |
Строка |
Запись |
Кортеж |
Название столбца |
Поле |
Атрибут |
Множество значений столбца |
Множество значений поля |
Домен (множество значений атрибута) |
Подавляющее число создаваемых и используемых баз данных являются реляционными. Их создание и развитие связано с научными работами известного американского математика, специалиста в области систем баз данных Э. Кодда.
Свойства реляционной таблицы
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
Каждое поле содержит одну характеристику объекта предметной области. В записи собраны сведения об одном экземпляре этого объекта.
Ключи
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Ключ, состоящий из нескольких полей называется составным ключом. В СУБД Access в качестве ключа может быть использован Счетчик, который автоматически возрастает на единицу при вводе в таблицу новой записи. Такой ключ называют искусственным. Он семантически не связан ни с одним полем таблицы. Из-за этого он допускает повторный ввод одних и тех же записей. Но с помощью него просто устанавливать связь между таблицами. Основное свойство ключа уникальность, неповторимость.
Типы связей между таблицами
Структура базы данных определяется структурой таблиц и связями между ними.
Связи между таблицами бывают трех типов:
«один-к-одному» (1:1) одной записи в главной таблице соответствует одна запись в подчиненной таблице,
«один-ко-многим» (1:М) одной записи в главной таблице соответствует несколько записей в подчиненной таблице,
«многие-ко-многим» (М:М) нескольким записям в главной таблице соответствуют несколько записей в подчиненной таблице. Или одной записи в первой таблице может соответствовать несколько записей во второй таблице. И одной записи во второй таблице могут соответствовать несколько записей в первой таблице.
Создание связей между таблицами
Связь между таблицами устанавливается с помощью ключей. Главной называют таблицу, первичный ключ которой используется для установления связи с другой таблицей, которая в этом случае называется подчиненной.
Чтобы связать две реляционные таблицы, необходимо ключ главной таблицы ввести в состав подчиненной таблицы. Название ключа может быть другим, но обязательно одинаковыми с первичным ключом должны быть тип и размер вторичного ключа в подчиненной таблице. Для удобства лучше обозначение вторичного ключа оставлять таким же, как и первичного. Однако если ключом выбран Счетчик, то вторичный ключ должен иметь тип Числовой - длинное целое (но не Счетчик!). Вторичный ключ это или обычное поле, или часть первичного ключа в подчиненной таблице.
СУБД Access для реализации связи «многие-ко-многим» требует создать таблицу связи и ввести в нее в качестве вторичных ключей первичные ключи двух таблиц, которые должны иметь такую связь (М:М). После этого устанавливается связь 1:М каждой из двух таблиц с таблицей связи. Между двумя таблицами таким образом реализуется связь М:М. Если в БД «Моя библиотека» создать таблицы Книги и Авторы, то связь между ними будет вида М:М, так как одной записи в таблице Книги (реквизиты одной книги) может соответствовать несколько записей в таблице Авторы. Потому что у одной книги может быть несколько авторов. В свою очередь, одной записи в таблице Авторы могут соответствовать несколько записей в таблице Книги, так как один автор может написать несколько книг. Таблицу связи можно назвать КнигиАвторы, в которую будут включены ключи обеих таблиц Книги и Авторы. Если требуется, в таблицу связи можно включить и другие поля.
Среди реляционных баз данных следует различать корпоративные и настольные базы данных.
Из корпоративных реляционных СУБД наиболее распространенными являются: Oracl, IBM DB2, Sybase, Microsoft SQL Server, Informix. Из постреляционных СУБД известна СУБД Cache компании InterSystems.
Наиболее известны в настоящее время следующие настольные БД: Microsoft Access, Paradox (фирмы Borland), FoxPro (Microsoft), dBase IV (IBM), Clarion.
Эти СУБД занимают более 90% всего рынка СУБД.
В следующем разделе дана краткая характеристика СУБД Microsoft Access.
Объектами MS Access являются таблиц базы данных, запросы, формы, отчеты, страницы, макросы и модули.
Формы, отчеты, страницы, макросы и модули это объекты приложений, в которых используются графические элементы управления. Они служат для просмотра, обновления, поиска по заданным критериям данных. Для конструирования форм, запросов, отчетов и страниц в Access имеются специальные средства.
При создании приложений пользователя может быть использовано также программирование на языке Visual Basic for Applications (VBA).
Каждый объект и элемент управления обладает определенными свойствами. С каждым объектом и элементом управления связывается набор событий, которые могут быть обработаны макросами или процедурами на VBA.
Все операции по работе с объектами базы данных и приложений начинаются в окне базы данных Access, в котором представлены все объекты базы данных.
Таблицы, как уже отмечалось выше, создаются пользователем для хранения данных об одном информационном объекте модели данных предметной области.
Запросы создаются для выборки требуемых данных из одной или нескольких связанных таблиц, для обновления, удаления или добавления данных в таблицы или создания новых таблиц на основе существующих. Данные запроса по выборке данных помещаются в новую таблицу. Оформить запрос можно в виде некоторого стандартного образца (QBE Query by Example) или с применением языка структурированных запросов SQL (Structured Query Language).
Формы используются для создания диалогового интерфейса приложения пользователя. С помощью формы можно вводить и просматривать данные таблиц. Данные в БД вводятся с некоторых первичных документов. Для удобства ввода данных форма может повторить вид первичного документа. Формы могут быть созданы также в виде панелей управления.
Отчеты содержат выходные данные, которые формируются в необходимом виде и могут быть предназначены как для просмотра выходных данных, так и для вывода на печать.
Страницы доступа к данным это диалоговые Web-страницы, для просмотра которых необходим браузер MS Internet Explorer, начиная с версии 5.0. Страницы доступа к данным позволяют просматривать, редактировать и вводить данные в БД.
Макросы программы, содержащие последовательность макрокоманд. Выбор макрокоманд осуществляется в диалоговом режиме. Макросы создаются для выполнения определенной последовательности действий при наступлении некоторого события в объекте или элементе управления. Макросы могут быть преобразованы в процедуры на языке VBA.
Модули содержат процедуры на языке VBA, создаваемые для обработки событий, для реализации некоторых нестандартных функций или некоторых вычислений, которые не могут быть реализованы обычными методами Access.
Размещаются все таблицы базы данных, а также другие объекты Access: формы, запросы, отчеты, макросы и модули, построенные для этой базы, и внедренные объекты на диске в одном файле формата .mdb. Страницы доступа к данным Access сохраняются в отдельных файлах, в файле БД размещаются только ссылки на них.
Чтобы оградить приложение базы данных от модификации, его можно скомпилировать и сохранить в файле с расширением .mde. В результате этого размер файла значительно сокращается за счет сжатия БД.
В Access имеется возможность разделить базу данных на два файла, в одном из которых будут содержаться таблицы, а во втором файле запросы, формы, отчеты, макросы, модули и ярлыки страниц доступа к данным. Тогда при работе в сети первый файл (БД в виде таблиц) можно разместить на файловом сервере, а второй файл (приложение) разместить на всех компьютерах пользователей. Это позволяет пользователям иметь доступ к общей БД (только в виде таблиц). Каждым пользователем его приложение может быть затем изменено в соответствии с его потребностями.
Если предполагается использовать базу данных SQL-сервера, в Access 2000 можно создать проекта - приложение, которое обеспечит работу с базой данных, размещенной на SQL-сервере. Проект размещается в файле .adp на компьютере пользователя.
Диалоговые средства конструирования объектов Access позволяют создавать приложения без использования программирования макросов, программирования на языке SQL, или разработки модулей на языке VBA.
Для создания и модификации объектов Access таблиц, запросов, схемы базы данных, форм, отчетов, страниц доступа к данным применяются специальное диалоговое средство, которое называется Конструктором. При вызове Конструктора для создания формы, отчета или страницы дополнительно появляется панель элементов, позволяющая сделать более удобными интерфейс этих объектов.
Более простой способ конструирование форм, запросов, отчетов, страниц предоставляет использование программ-мастеров (Мастеров) или команд, начинающихся с приставки "авто". Например, Автоформа…, Автоотчет…, Автостраница…
Мастера Access. Мастера Access позволяют автоматизировать почти все работы, связанные с объектами базы данных. Перечислим их.
Мастер подстановок для поля со списком подключает таблицу, из полей которых формируется список для выбора и ввода требуемого значения.
Мастера запросов (Простой запрос) создают простые запросы на выборку из одной или нескольких таблиц или запросы на выборку с выполнением групповых операции над данными.
Мастер перекрестных запросов позволяет представить данные в виде сводных таблиц, подобных электронной таблице в Excel. Как признали в одном руководстве по Access, легче показать перекрестный запрос, чем рассказать о нем.
Предположим, имеется таблица Продажи агентов:
Фамилия |
Категория |
Объем продаж |
Иванов |
Напитки |
361 020,9 р. |
Иванов |
Приправа |
150 670,4 р. |
Иванов |
Продукты |
524 000,0 р. |
Рогов |
Напитки |
234 150,3 р. |
Рогов |
Приправа |
90 340,2 р. |
Рогов |
Продукты |
1 230 155,6 р. |
Тогда перекрестный запрос на основе таблицы Продажи агентов примет вид:
Фамилия |
Напитки |
Приправа |
Продукты |
Иванов |
361 020,9 р. |
150 670,4 р. |
524 000,0 р. |
Рогов |
234 150,3 р. |
90 340,2 р |
1 230 155,6 р. |
Мастера по созданию форм и отчетов существенно упрощают и ускоряют процесс создания однотабличных и многотабличных форм и отчетов. Форма, создаваемая Мастером, может содержать в своем составе основную форму, а также подчиненную или связанную. В диалоговом режиме с Мастером просто выбирается содержимое формы, вид представления данных и ее оформление.
Мастер создания диаграмм создаёт в формах и отчетах диаграммы на основе данных таблиц или запросов.
Мастер условного форматирования включен с Access 2000. Мастер вызывается при открытии формы или отчета в режиме Конструктора командой Формат Условное форматирование. В зависимости от значений данных в поле или значения выражения в поле, или получение фокуса полем можно установить разные виды форматирования поля выбрать шрифт различного начертания, размера, цвета или цвет фона поля. Можно также воспользоваться командой Формат Автоформат.
Мастер кнопок подключается после построения кнопки на форме или на странице доступа к данным с помощью панели элементов. Мастер предлагает большой набор команд, которые могут быть выполнены после щелчка по кнопке. Реализуется эта команда с помощью процедуры на языке VBA.
Диспетчер кнопочных форм упрощает создание кнопочной формы, помогающей перемещаться по базе данных. На кнопочную панель помещаются кнопки, при нажатии которых открываются формы или отчеты (или открываются другие кнопочные формы, с помощью которых открываются дополнительные формы и отчеты), осуществляется выход из Microsoft Access или настраивается сама кнопочная форма.
Мастер по анализу таблиц разделяет ненормализованную таблицу с дублированными данными на две или несколько таблиц меньшего размера, в которых данные сохраняются без повторений. Мастер также назначает каждой таблице ключ и устанавливает связь между таблицами. Естественно, этот анализ можно делать только после ввода нескольких записей в таблицу. Мастер по анализу таблиц запускается командой Сервис Анализ Таблица. Работа этого Мастера подробно описывается в конце этого раздела
Наряду с Мастером по анализу таблиц в меню Сервис Анализ в подменю имеются команды:
Мастер сводных таблиц вызывается из окна БД командой Формы Создать Сводная таблица. Этот Мастер создает сводную форму, используя Excel для создания объекта сводной таблицы, и Access для создания формы, в которую внедряется объект сводной таблицы. Сводные таблицы мощное и удобное средство анализа данных. Группируя данные, сводная таблица представляет их в компактном виде. В сводной таблице могут быть объединены данные из таблиц Excel и из внешних баз данных. Сводная таблица, которая размещается Мастером в форме, является внедренным или связанным объектом OLE.
Мастера по импорту таблиц и объектов вызывается командой Фаил Внешние данные Импорт. Он импортирует в текущую базу объекты из других БД: Access, а также из файлов Excel, Lotus, Paradox, dBase, FoxPro и других баз данных, для которых на компьютере установлены драйверы ODBC. Возможен также импорт текстовых файлов и HTML таблиц и списков из Internet или Intranet в таблицу Access.
Мастер связанных таблиц вызывается командой Файл Внешние данные Связь с таблицами. Создает в текущей базе данных таблицы, связанные с таблицами во внешних файлах dBASE, Paradox и Exchange, или с любым источником данных ODBC, включая Microsoft SQL Server и Microsoft Visual FoxPro. Но при связывании новая таблица не размещается в файле БД, а только устанавливается связь с источником данных этой таблицы. Эта таблица доступна для обработки, как в текущей БД, так и во внешней. В Access для обозначения связанных таблиц, хранящихся в текущей базе данных, используются специальные значки: +dB для таблиц, связанных с dBase, +Px если связь с таблицей БД Paradox и т. п.
Мастер экспорта вызывается командой Файл Экспорт. Экспортирует объект базы данных в другие БД Access, в проекты Access, в базы данных других СУБД, в текстовые файлы, в электронные таблицы. Мастер экспорта позволяет также опубликовать объекты на статических и динамических страницах Internet или Intranet.
Мастер наклеек в окне БД вызывается командой Отчеты Создать Почтовые наклейки. Мастер, предлагая многочисленные шаблоны наклеек различных типов, на основе данных таблицы или запроса создает почтовые наклейки.
Мастер защиты вызывается командой Сервис Защита. Мастера защиты может установить пароль для открытия базы данных или присвоить права доступа пользователям и группам и установить защиту на уровне пользователей с общей схемой защиты, а также зашифровать базу данных Access. Этот способ защиты используется в большинстве сетевых систем.
Мастер по разделению базы данных. Вызывается командой Сервис Служебные программы Разделение базы данных. Мастер разделяет базу данных Access на два файла, в одном из которых содержатся таблицы, а в другом запросы, формы, отчеты, макросы, модули и ярлыки страниц доступа к данным. Это позволяет пользователям иметь доступ к общему источнику данных и при этом создавать свои собственные формы, отчеты и другие объекты.
Мастер преобразования в формат SQL-Server. Вызывается командой Сервис Служебные программы Мастер преобразования в формат SQL Server. Мастер разделяет базу данных Access (.mdb) на базу данных и проект Access (.adp). В Microsoft SQL Server после преобразования помещаются таблицы и запросы, в проект другие объекты БД.
Мастер создания баз данных на Microsoft SQL Server при создании нового проекта Microsoft Access позволяет подключиться к SQL-Server и создать там новую базу данных. Создание проекта начинается с выполнения команды: Файл Создать Вкладка: Общие Проект (новая база данных). Затем в диалоговом окне Создание новой базы данных задать имя проекта (расширение .adp) и нажать кнопку Создать.
Проект Microsoft Access файл Access, который соединяется с базой данных Microsoft SQL Server с помощью архитектуры компонентов OLE DB. Проект Access содержит только объекты базы данных, работающие на основе программ или HTML: формы, отчеты, макросы, модули и ярлыки страниц доступа к данным. Проект Access не содержит никаких данных или объектов определения данных: таблиц, представлений, диаграмм базы данных или сохраненных процедур. Такие объекты базы данных сохраняются в базе данных на сервере SQL. Проекты Access используются для создания приложений в архитектуре клиент/сервер.
Служебная программа по преобразованию БД позволяет конвертировать (преобразовать) базу данных из предыдущих версий в текущую версию базы данных Access. В Access 2000 можно конвертировать базу данных из текущей версии в предыдущую. (начало команды: Сервис Служебные программы Преобразовать базу данных…)
Служебная программа по сжатию и восстановлению БД перезаписывает файл БД, измененный в результате удаления или добавления объектов, сжимает файл БД, а также восстанавливает поврежденную базу данных. В Access 2000 реализована функция автоматического сжатия при закрытии базы данных, для чего следует выполнить команду Сервис Параметры Вкладка: Общие Опция: Сжимать при закрытии.
Мастера баз данных Access, предлагают шаблоны многих типовых приложений. После выбора шаблона приложения Access выполняет автоматическую генерацию этого приложения, создавая все необходимые таблицы, формы, запросы и отчеты. При необходимости, типовое приложение затем может быть доработано пользователем.
Для начала создания БД с помощью Мастера необходимо нажать кнопку Создать в окне Access и далее в окне Создание выбрать вкладку Базы данных. Затем из открывшегося списка шаблонов типовых БД выбрать нужный шаблон.
Шаблоны типовых баз данных Access относятся к различным предметным областям деловой и личной жизни человека.
Типовые базы данных дают возможность начинающему пользователю получить первые навыки практической работы в среде Access. Некоторые представления он может получить и о построении таблиц БД, о связях между ними. Научится вводить и просматривать данные через формы, создавать запросы для получения сведений из связанных таблиц, готовить отчеты.
Созданную мастером базу данных затем можно изменить. Но чтобы это делать, необходимо самому уметь создавать БД и работать в различных режимах с объектами баз данных
Средства программирования Access могут быть использованы наряду с диалоговыми средствами создания объектов базы данных и объектов приложения. Использование этих средств позволяет существенно улучшить интерфейс приложения. Рассмотрим эти средства программирования.
Макросы одно из средств программирования в Access. Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции, такие как открытие форм или печать отчетов. Макросы могут быть полезны для автоматизации часто выполняемых задач. Например, при нажатии пользователем кнопки можно запустить макрос, который распечатает отчет, или откроет (закроет) форму, таблицу, найдет запись и т. д.
Макрос может быть как собственно макросом, состоящим из последовательности макрокоманд, так и группой макросов. В некоторых случаях для решения, должна ли в запущенном макросе выполняться определенная макрокоманда, может применяться условное выражение.
Для создания макроса в окне БД следует выполнить команду Макрос Создать.
Visual Basic for Applications (VBA) 6.0. Наряду с языком макрокоманд в Access для программирования может быть использован Visual Basic для приложений, представляющий собой визуальную версию высокого уровня объектно-ориентированного языка программирования Basic, разработанную Microsoft для разработки приложений для Windows. Разработчик имеет возможность добавлять программы Visual Basic в формы, отчеты и находящиеся в них элементы управления для выполнения специализированных задач.
Программы на Visual Basic используют вместо макросов в следующих случаях.
Модель программирования в Access является событийно-управляемой. В процессе работы приложения возникают события, которые запускают специальные программы обработчики событий. Искусство программирование в формах и отчетах состоит в правильном определении того события, которое требуется обработать специальной программой макросом или процедурой VBA.
Макросы могут быть преобразованы в программы на языке VBA. Сравнивая макрос с его аналогом в VBA, можно таким образом изучать программирование на VBA.
Технология Access это технология Windows. В Access обеспечиваются все возможности динамического обмена данными (Dynamic Data Exchange DDE) с любым приложением Windows поддерживающим DDE. Access поддерживает механизм связывания и внедрения объектов (Object Linking and Embedding OLE), благодаря которому устанавливается связь с объектами другого приложения или объект внедряется в базу данных.
Внедряемые или связываемые объекты это документы различных приложений Windows: рисунки, фотографии, графики, электронные таблицы или звуковой файл.
Широко используемый в Windows метод Drag-and-Drop (перетащить и отпустить) Access распространил на работу с формами и отчетами. Например, для создания подчиненной формы или отчета можно перетащить заранее подготовленную форму или отчет из окна базы данных. Можно также перетащить таблицу или запрос, из которых автоматически создаются подчиненная форма или запрос.
Access может использовать данные различных СУБД. Непосредственно могут обрабатываться файлы Paradox, dBase, FoxPro, а также базы данных, поддерживающие стандарт открытого доступа к данным (Open Database Connectivity ODBC): Oracle, Microsoft SQL Server, DB2, Sybase SQL Server и др.