Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основные понятия СУБД

.doc
Скачиваний:
12
Добавлен:
24.03.2015
Размер:
115.71 Кб
Скачать

Основные понятия

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

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

Прежде чем заносить данные в таблицы, нужно определить структуру этих таблиц. Под этим понимается не только описание наименований и типов полей, но и ряд других характеристик (например, формат, критерии проверки вводимых данных). Кроме описания структуры таблиц, обычно задаются связи между таблицами. Связи в реляционных базах данных определяются по совпадению значений полей в разных таблицах. Например, клиенты и заказы связаны отношением "один-ко-многим", т. к. одной записи в таблице, содержащей сведения о клиентах, может соответствовать несколько записей в таблице заказов этих клиентов. Если же рассмотреть отношение между преподавателями и курсами лекций, которые они читают, это будет отношение "многие-ко-многим", т. к. один преподаватель может читать несколько курсов, но и один курс может читаться несколькими преподавателями. И последний тип связей между таблицами — это отношение "один-к-одному". Такой тип отношений встречается гораздо реже. Как правило, это бывает в двух случаях: запись имеет большое количество полей, и тогда данные об одном типе объектов разносятся по двум связанным таблицам, или нужно определить дополнительные атрибуты для некоторого количества записей в таблице, тогда создается отдельная таблица для этих дополнительных атрибутов, которая связывается отношением "один-к-одному" с основной таблицей.

Любая СУБД позволяет выполнять четыре простейшие операции с данными:

добавлять в таблицу одну или несколько записей;

удалять из таблицы одну или несколько записей;

обновлять значения некоторых полей в одной или нескольких записях;

находить одну или несколько записей, удовлетворяющих заданному условию.

Для выполнения этих операций используется механизм запросов. Результатом выполнения запросов является либо отобранное по определенным критериям множество записей, либо изменения в таблицах. Запросы к базе формируются на специально созданном для этого языке, который так и называется язык структурированных запросов (SQL — Structured Query Language).

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

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

Microsoft Access как настольная СУБД реляционного типа

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

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

Замечание

Из всякого правила могут быть исключения, поэтому иногда требуется сделать отступление и хранить, например, промежуточные расчетные данные. Это диктуется обычно соображениями производительности. Однако общее правило все-таки следующее: если вы определяете какое-либо поле в таблице, проверьте, не хранятся ли уже эти данные где-нибудь еще. Если хранятся, то их, как правило, можно так или иначе извлечь.

"Почему же плохо иметь в таблицах поля с повторяющимися данными?" — может спросить неискушенный в области баз данных читатель. Дело в том, что это очень неэффективный способ хранения данных. И не только потому, что они занимают лишнее место в памяти. Этот аргумент в последнее время не является таким сильным, как раньше из-за значительного снижения цен па микросхемы памяти. Основная причина — это то, что такие данные долго вводить и трудно анализировать. Если случайно-при вводе значения пользователь сделал грамматическую ошибку или даже просто ввел лишний пробел, то при запросах и группировках такое значение будет рассматриваться как самостоятельное, и строка, содержащая это значение, не попадет в нужную группу или просто не будет выведена на экран. Именно поэтому при проектировании структуры баз данных стараются избегать повторения данных и создают для них отдельные таблицы. Этот процесс называется нормализацией.

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

Рис. 1.1. Способ хранения информации в одной таблице

Как видно из таблицы, сведения об организациях (их названия, адреса и телефоны) повторяются в разных строчках таблицы.. Чтобы избежать дублирования данных, рекомендуется создать две таблицы и затем связать их. В первую таблицу включить сведения об организации — и это будет главная таблица. Во вторую (подчиненную) будут внесены участники семинара и их должности, а вместо полной информации о месте работы — код организации, равный порядковому номеру организации в первой таблице (см. третий столбец на рис. 1.2). Далее устанавливаем связь между таблицами по полю "Код организации". В результате главная таблица принимает вид, показанный на рис. 1.3, где реквизиты каждой организации записаны один раз и (под строкой организации) можно раскрыть список всех сотрудников данной организации, посетивших семинар (о работе с таблицами см. также гл. 2).

Если вы правильно определили поля таблиц, то связи между ними Access установит сама. Для этого нужно, чтобы поля в связанных таблицах, содержащие совпадающие данные (например, "Код организации" на рис. 1.2), имели одинаковое наименование и согласующиеся типы данных.

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

Рис. 1.2. Способ хранения информации в нескольких таблицах

Рис. 1.3. Внешний вид главной таблицы

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

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

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

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

Различия между СУБД Access и электронными таблицами Excel

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

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

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

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

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

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

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

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

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

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

Замечание

Возможности Excel, конечно, не ограничиваются только электронными таблицами, например Excel очень удобно использовать для анализа данных, которые хранятся на сервере базы данных (в частности, Microsoft SQL Server), но в этом случае Excel не является хранилищем данных, а обеспечивает только их обработку.

Запуск Access и открытие баз данных

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

Замечание

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

Для того чтобы запустить Microsoft Access 2002, необходимо:

Нажать кнопку Пуск (Start) на Панели задач в нижней части рабочего стола.

Открыть в главном меню пункт Программы (Programms).

Выбрать программу Microsoft Access.

Базой данных Access является файл, который имеет расширение mdb. Этот файл может содержать не только все таблицы, но и другие объекты приложений Access — запросы, формы, отчеты, страницы доступа к данным, макросы и модули.

Замечание

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

При запуске Access появляется главное окно Microsoft Access.

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

Выбрать в меню Файл (File) из списка ранее открывавшихся файлов требуемый файл (рис. 1.4).

Рис. 1.4. Открытие базы данных из меню Файл

Замечание

Если такой список в меню Файл (File) отсутствует, нужно с помощью команды Сервис, Параметры (Tools, Options) открыть диалоговое окно Параметры (Options), раскрыть вкладку Общие (General) и установить флажок Помнить список файлов (Recently used file list).

Выбрать файл из списка в области задач, которая расположена в правой части окна приложения (см. рис. 1.4).

Выбрать команду Открыть (Open) в меню Файл (File), и затем выбрать нужный файл в диалоговом окно Открытие файла базы данных (Open) (рис. 1.5).

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

Рис. 1.5. Диалоговое окно Открытие файла базы данных

Рис. 1.6. Пример базы данных

Замечание

Вы можете спокойно в новой версии Access открывать файлы баз данных, созданные в версии Access 2000, и работать с ними так же, как делали это раньше. Однако, если вы хотите работать с файлами, созданными в более ранних версиях Access, рекомендуем вам ознакомиться предварительно с материалом гл. 19.

Файлы можно выбирать не только из списка, который появляется в диалоговом окне Открытие файла базы данных (Open) при его открытии. Можно выбрать нужную папку либо из раскрывающегося списка Папка (Look in), либо использовать ярлыки, находящиеся на так называемой панели адресов слева. При выборе ярлыка Журнал (History) (см. рис. 1.5) появляется список ярлыков к последним открывавшимся файлам и папкам. При выборе ярлыка Рабочий стол (Desktop) в диалоговом окне появляется список, содержащий ярлыки папок, и файлы, находящиеся в данный момент на рабочем столе Windows. Тип файла выбирается в раскрывающемся списке Тип файлов (File of type) в нижней части окна. В папке Избранное (Favorites) можно просмотреть ярлыки к тем папкам и файлам, которые вы используете наиболее часто. Многие программы позволяют добавлять ярлыки в папку Избранное (Favorites), в том числе это можно сделать прямо в окне Открытие файла базы данных (Open). Для этого вы должны выделить в списке нужный файл, щелкнуть мышью по кнопке Сервис (Tools) на панели инструментов в верхней части окна и выбрать из списка команду Добавить в папку "Избранное" (Add to Favorites).

Можно открыть файл базы данных, находящийся на сетевом диске. Для того чтобы подключить сетевой диск, необходимо выполнить команду Подключить сетевой диск (Map Network Drive) из списка команд кнопки Сервис (Tools).

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

Замечание

В новой версии Access средства поиска файлов еще более усовершенствованы. Появилась специальная область — область задач Поиск (Search), которая может быть использована для обычного и расширенного поиска нужного файла. (Подробнее об этой панели см. гл. 7.)

Открыть файл можно в одном из четырех режимов:

Открыть (Open) — режим коллективного доступа. Когда вы открываете файл базы данных в этом режиме, доступ к нему будет разрешен другим пользователям, они могут открыть его и работать с объектами базы данных одновременно с вами. Причем все пользователи будут иметь возможность как просматривать данные, так и изменять их.

Открыть монопольно (Open Exclusive) — режим монопольного доступа. В этом случае никто другой не сможет открыть этот файл, пока вы его используете.

Открыть для чтения (Open Read-Only) — режим коллективного доступа только для чтения. В этом случае вы не сможете изменять ни данные в таблицах, ни другие объекты базы данных.

Открыть монопольно только для чтения (Open Exclusive Read-Only) — режим монопольного доступа только для чтения. Вы открываете файл только для чтения и одновременно запрещаете другим пользователям открывать этот файл.

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

Нажать кнопку Открыть (Open) на панели инструментов (рис. 1.7), что также приведет к открытию диалогового окна Открытие файла базы данных (Open) (см. рис. 1.5).

Рис. 1.7. Открытие базы данных с помощью кнопки Открыть на панели инструментов

Наконец, можно воспользоваться областью задач Создание файла (New file) справа (рис. 1.8), где в разделе Открытие файла (Open a file) помещен список ранее открывавшихся файлов,[ Если вы впервые работаете с Access, это будет список примеров баз данных из поставки Microsoft Office 2002. ] а также кнопка Другие файлы (More files). Щелчок мышью по последней приведет к открытию диалогового окна Открытие файла базы данных (Open) (см. рис. 1.5).

Рис. 1.8. Область задач Создание файла

Рабочая среда Access

Открыв базу данных Access, пользователь видит на экране главное окно Access и окно базы данных. Главное окно Access имеет вид, аналогичный окнам других приложений Microsoft Office. В верхней части окна размещается его заголовок, меню и панель инструментов, а в нижней части — строка состояния. Наиболее важным элементом интерфейса в среде Access является окно базы данных. Это контейнер, содержащий все объекты базы данных. Доступ к данным объектам возможен только через окно базы данных.

На рис. 1.16 показано главное окно Access 2002, в котором открыто несколько таблиц в режиме Таблицы. Ниже мы прокомментируем этот рисунок, а заодно определим используемые термины.

Рис. 1.16. Главное окно Access 2002 с окном базы данных и несколькими таблицами