Объекты базы данных
Мы уже упомянули о том, что кроме таблиц база данных может содержать и другие типы объектов. Привести полную классификацию возможных объектов баз данных затруднительно, поскольку каждая система управления базами данных может реализовать свои типы объектов.
Таблицы. Как мы уже говорили, это основные объекты любой базы данных. Во-первых. в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).
Запросы. Эти объекты служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде. С помощью запросов выполняют такие операции, как отбор данных, их сортировку и фильтрацию. С помощью запросов можно выполнять преобразование данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое наполнение таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое.
Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную результирующую таблицу. Когда мы работаем с основными таблицами базы, мы физически имеем дело с жестким диском, то есть с очень медленным устройством (напомним, что это связано с особенностью сохранения данных, описанной выше). Когда же на основании запроса мы получаем результирующую таблицу, то имеем дело с электронной таблицей, не имеющей аналога на жестком диске, — это только образ отобранных полей и записей.
Формы. Если запросы — это специальные средства для отбора и анализаданных.Формы — это средства для ввода данных, хотя с их помощью данныеможно просматривать. Смысл их в том, чтобы предоставит пользователю средства, заполнения только тех полей, которые ему заполнятьположено.
Одновременно с этим в форме можно разместить специальные элементы управления(счетчики, раскрывающиеся списки, переключатели, флажки и прочие) для автоматизации ввода.
С помощью форм данные можно не только вводить, но и отображать. При выводе данных с помощью форм можно применять специальные средства оформления. Иногда формы, предназначенные для ввода данных, называют формами ввода, а формы, предназначенныедлявывода на экран — формами просмотра.
.
Отчеты. По своим свойствам и структуре отчеты во многом похожи на формы,но предназначены только для вывода данных, причем для вывода не на экран, а напечатающее устройство (принтер). В связи с этим отчеты отличаются тем, что в них приняты специальные меры для группирования выводимых данных и для вывода специальных элементов оформления, характерных для печатных документов (верхний и нижний колонтитулы, номера страниц, служебная информация о времени создания отчета и т. п.).
Страницы. Это специальные объекты баз данных, реализованные в последней версии СУБД (Ассеss 2000). Правда, более корректно их называть страницами доступа к данным. Сампо себе этот объект не является базой данных, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающееся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа. Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой.
8.2. Работа с СУБД МS Aссеss 2000
8.2.1. Общие замечания
СУБД МS Ассеss 2000 предоставляет несколько средств создания каждого из основных объектов базы. Эти средства можно классифицировать как:
• ручные (разработка объектов в режиме Конструктора);
• автоматизированные (разработка с помощью программ-мастеров);
• автоматические — средства ускоренной разработки простейших объектов.
Соотношения между этими средствами понятны: ручные средства наиболее трудоемки, но обеспечивают максимальную гибкость; автоматизированные и автоматические средства являются наиболее производительными, но и наименее гибкими.
При разработке учебных таблиц и запросов рекомендуется использовать ручные средства — работать в режиме Конструктора. Использование мастеров ускоряет работу, но не способствует освоению понятий и методов.
8.2.2. Работа с таблицами
Создание таблиц. Работа с любыми объектами начинается с окна База данных.
На его левой панели сосредоточены элементы управления длявызова всех семи типов объектов программы. Создание таблиц начинается с выбора элемента управления Таблицы.
На правой панели представлен список таблиц, уже имеющихся в составе базы, и приведены элементы управления для создания новой таблицы. Чтобы создать таблицу вручную, следует использовать значок Создание таблицы в режиме конструктора.
Окно Конструктора таблиц представлено на рис. То, что мы видим в этом режиме, фактически является графическим бланком для создания и редактирования структуры таблиц.
¾ В первом столбце вводят имена полей. Если свойство Подпись для поля не задано, то Имя поля станет одновременно и именем столбца будущей таблицы.
¾ Тип для каждого поля выбирают из раскрывающегося списка, открываемого кнопкой выбора типа поля. Эта кнопка — скрытый элемент управления. Она отображается только после щелчка на поле бланка.
¾ Нижняя часть бланка содержит список свойств поля, выделенного в верхней части. Некоторые из свойств уже заданы по умолчанию. Свойства полей не являются обязательными. Их можно настраивать по желанию, а можно и не трогать.
При создании таблицы целесообразно (хотя и не обязательно) задать ключевое поле. Для задания ключевого поля достаточно щелкнуть на его имени правой кнопкой мыши и в открывшемся контекстном меню выбрать пункт Ключевое поле.
Первичный ключ можно создать на базе двух (или более полей). Эта операция выполняется точно так же, через контекстное меню, надо только уметь выделить сразу несколько полей. Групповое выделение выполняют при нажатой клавише Shift щелчками на квадратных маркерах слева от имен полей.
Закончив создание структуры таблицы, бланк закрывают (при этом система выдает запрос на сохранение таблицы), после чего дают таблице имя, и с этого момента она доступна в числе прочих таблиц в основном окне База данных. Оттуда ее и можно открыть в случае необходимости.
Созданную таблицу открывают в окне База данных двойным щелчком на ее значке. Новая таблица не имеет записей — только названия столбцов, характеризующие структуру таблицы. Заполнение таблицы данными производится обычным порядком. Курсор ввода устанавливается в нужную ячейку указателем мыши. Переход к следующей ячейке можно выполнить клавишей ТАВ. Переход к очередной записи выполняется после заполнения последней ячейки.
В нижней части таблицы расположена Панель кнопок перехода. Ее элементамиуправления удобно пользоваться при навигации по таблице, имеющей большоечисло записей.
Шириной столбцов можно управлять методом перетаскивания их границ. Удобно использовать автоматическое форматирование столбцов «по содержимому». Для этого надо установить указатель мыши на границу между столбцами (в строке заголовков столбцов), дождаться, когда указатель сменит форму, и выполнить двойной щелчок.
После наполнения таблицы данными сохранять их не надо — все сохраняется автоматически. Однако если при работе с таблицей произошло редактирование еемакета(например, изменялась ширина столбцов), СУБД попросит подтвердить сохранение этих изменений.
Если возникнет необходимость изменить структуру таблицы (состав полей илиих свойства), таблицу надо открыть в режиме Конструктора. Для этого ее следует выделить в окне База данных и щелкнуть на кнопке Конструктор.
Создание межтабличных связей.
Существует несколько типов возможных связей между таблицами. Наиболеераспространенными являются связи один ко многим и один к одному. Связь между двумя таблицами организуется на основе общего поля. Оно должно присутствовать как в той, так и в другой таблице, причем в одной из таблицонообязательно должно быть ключевым. То есть на стороне один всегда должно выступать ключевое поле, содержащее уникальные, неповторяющиеся значения. Значения того же поля на стороне многие могут повторяться.
На схеме данных общие поля соединены линиями связи. С одной стороныэталиния всегда маркируется знаком «1», с другой стороны — либо знаком «1»(связь один к одному), либо значком «бесконечность» (связь один ко многим). Понятно, что если связываются ключевые поля, то это всегда связь один к одному а если ключевое поле связано с неключевым, то это связь один ко многим.
Создание реляционных отношений между таблицами выполняется в специальном окне «Схема данных» и выполняется с помощью мыши. Окно «Схема данных» открывают командой Сервис - Схема данных.
Образовавшаяся межтабличная связь отображается в окне Схема данных в виде линии, соединяющей два поля разных таблиц. При этом одна из таблиц считается главной, а другая — связанной. Главная — это та таблица, которая участвует в связи своим ключевым полем (название этого поля на схеме данных отображается полужирным шрифтом).
Для настройки свойств связи надо в окне «Схема данных» выделить линию, соединяющую поля двух таблиц, щелкнуть на ней правой кнопкой мыши и открыть контекстное меню связи, после чего выбрать в нем пункт «Изменить связь» - откроется диалоговое окно «Изменение связи». В нем показаны названия связанных таблиц и имена полей, участвующих в связи (здесь же их можно изменить), а также приведены элементы управлениядля обеспечения условий целостности данных.
Если установлен только флажок Обеспечение целостности данных, то удалять данные из ключевого поля главной таблицы нельзя. Если вместе с ним включены флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей, то, соответственно, операции редактирования и удаления данных в ключевом поле главной таблицы разрешены, но сопровождаются автоматическими изменениями в связанной таблице.