Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД ACCESS 2000.doc
Скачиваний:
36
Добавлен:
15.05.2015
Размер:
1.83 Mб
Скачать

Создание таблиц

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

Тип данных поля (определяется значениями, которые предполагается вводить в поле)

  • Текстовый-символьная строка длиной до 255 символов (предназначено для хранения текста)

  • Поле МЕМО- символьная строка длиной до 64000 символов. Может быть использован для поля типа Характеристика сотрудника

  • Числовой -используется в математических вычислениях. Числовое поле может иметь следующую длину:

    • Байт - целые числа от 0 до 256

    • Целое -целые числа от -32768 до 32767 (2 байта)

    • Длинное целое -от -2147483648 до 2147483647 (4 байта)

    • С плавающей точкой -от -3.402823E38 до 3.402823Е38 (4 байта)

    • С плавающей точкой (8 байт)

  • Счетчик -тип данных поля , в которое для каждой новой записи автоматически вводятся целые последовательно возрастающие числа. Частный случай числового поля и имеет размер длинное целое (4 байта). В таблице не может быть более одного такого поля. Обычно используется в качестве первичного ключа.

  • Денежный - данные о денежных суммах, хранящиеся с 4 знаками после запятой (8 байт)

  • Дата/Время -длина поля 8 байт

  • Логический -логические данные (да/нет)

  • Объект OLE -длинные тексты, картинки , диаграммы , звуки и т. д.

  • Мастер Подстановок- для облегчения ввода данных, позволяет создавать поля со списком. Различается два типа списка фиксированный и основанный на таблице или запросе. Пример фиксированного списка - поле ОЗУ таблицы КОМПЬЮТЕРЫ. Данное поле может содержать только фиксированные значения 4, 8, 16, 32 и т.д. . Для предотвращения ошибки можно один раз ввести значения , чтобы затем выбирать их из списка. Фиксированный список позволяет вводить новые значения, не указанные в списке. Следующий пример поля со списком на основе таблицы. Все данные о клиентах фирмы содержатся в таблице КЛИЕНТЫ . При вводе клиента вручную может быть допущена ошибка, поэтому данные о клиенте лучше выбрать из связанной таблицы КЛИЕНТЫ . Поля со списком можно создавать и вручную, без помощи мастера.

Для создания новой таблицы необходимо в окне БД выбрать объект Таблицы и нажать кнопкуСоздать. В открывшемся окне Новая таблица выбрать один изрежимов создания таблицы

  • Режим таблицы -- создание таблицы в ходе ее заполнения

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

  • Мастер таблиц -создание таблицы с помощью мастера , при этом автоматически задаются характеристики полей, ключевые поля ,связи.

  • Импорт таблиц -из внешнего файла (например созданного вExcel) или из другой БД.

  • Связь с таблицами -присоединение внешнего файла или таблицы другой БД.

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

Строка Режим таблицыпозволяет пользователю создать таблицу, не определяя предварительно ее структуры. При выборе этого режима открывается пустая таблица, содержащая 10 столбцов и 21 строк, в которую можно сразу вводить данные. Полям таблицы по умолчанию присваиваются имена Поле1, Поле2 и так далее. При сохранении этой таблицы ACCESS проанализирует данные и автоматически присвоит соответствующий тип данных каждому полю, т.е. создаст структуру таблицы. Однако размер данных может оказаться значительно больше необходимого, что не рекомендуется.

Данный режим имеет следующие недостатки:

  • Требуется переименование полей:

  • Может потребоваться изменение количества столбцов или строк:

  • Требуется коррекция типа данных и размера в режиме Конструктора.

Любое поле этой таблицы можно переименоватьодним из следующих способов

  • Дважды щелкнуть мышьюна области выделения столбца (серый фон наверху столбца) или

  • Выполнить команду меню Формат- Переименовать столбецили

  • Выбрать команду Переименовать столбециз контекстного. меню;

Изменение количества столбцов или строк

  1. удалениестолбца или строки:

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

  • Выполнить команду меню Правка - Удалить столбецили воспользоваться соответствующей командой контекстного меню

  • вставка столбца :

    • выделить столбец, слева от которого требуется вставить новый столбец

    • Выполнить команду меню Вставка - Столбецили воспользоваться соответствующей командой контекстного меню

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

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

    • В столбец Имяполявводятся имена полей таблицы. Максимальная длина имени 64 символа.

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

    • На вкладке Общиезадать свойства полей;

    • Задать первичный ключ таблицы:

    • выделить поле или несколько полей (если ключ составной). Выделение нескольких смежных полей можно производить щелчком мыши в полосе маркировки первого поля и щелчком мыши в полосе маркировки последнего поля , удерживая клавишу <Shift>. Выделение не смежных полей можно производить щелчком мыши на каждом следующем поле, удерживая клавишу <Ctrl>.

    • Щелчок мыши по кнопке Ключевоеполе(с изображением ключа) на панели Инструментов или выполнить команду менюПравка - Ключевое поле

    • сохранить созданную структуру таблицы с присвоением ей имени при помощи кнопки закрытия окна структуры или выполнить команду меню Файл - Сохранить.

    Характеристики( свойства) поля , устанавливаемые на вкладке ОБЩИЕ

    • Размер поля - должен быть минимальным , но достаточным для хранения информации.( зависит от выбранного типа поля)

    • Форматполяявляется форматом отображения данных при выводе их на экран или печать. Для некоторых типов данных определены встроенные форматы, например для даты и др. Для отдельных типов данных можно задавать собственные (пользовательские) форматы, например

    • Для денежного типа:### ## руб. Здесь символ#может быть заменен цифрой, знаком или пробелом  (необязательный символ). Пробел будет выведен буквально. Или# ## 0,00руб; -# ## 0,00руб[Красный].Здесь отрицательные числа будут выведены красным цветом.

    • Для числового процентного типа: ###.##%. Точка и знак процента будут выведены буквально.

    • Для текстового типа:(@@@) @@@-@@-@@.Здесь символ@будет заменен текстовым символом или пробелом (обязательный символ). Этот формат часто используется для вывода номера телефона.

    • Для логического типа: ;’’Выделен’’[Синий];’’Не выделен’’. Это означает, если значение логического поля истина, то выведется словоВыделенсиним цветом. Иначе выведетсяНевыделенцветом, принятым по умолчанию.

    • Число десятичных знаков(после точки) Можно задать от 0 до 15.

    • Маска ввода - задание отображения постоянных символов в поле, проверка соответствия размеров вводимого значения и маски, удобна для ввода данных. Например, для ввода номера телефона можно задать маску : (000)000-00-00. ACCESS автоматически ее преобразует к виду:\(000\)000\-00\-00. Здесь символ\означает, что следующий символ будет восприниматься буквально. Примеры других масок ввода можно найти, вызвав помощь клавишей F1

    • Подпись поля -задает текст, который будет выводится в качестве имени поля в таблице, форме и отчете.

    • Значение по умолчанию -автоматически вводится в соответствующее поле. Например для поля Дата/Время для автоматического ввода текущей даты можно использовать функциюNow( )(текущая дата и время) илиDate( )(только текущая дата)

    • Правило для вводимого значения -ограничивает количество значений поля. Например кол-во заказанного товара не должно быть >100

    • Сообщение об ошибке -при вводе данных , не соответствующих правилу для вводимого значения.

    • Обязательное поле -определение необходимости заполнения при вводе.

    • Индексированное поле -наличие простых индексов для ускорения поиска, поле первичного ключа индексируется автоматически.

    Характеристики( свойства) поля, устанавливаемые на вкладке ПОДСТАНОВКА

    • Тип элемента управления – определяет будет ли отображаться поле в таблице и в форме в виде поля, списка или поля со списком.

    • Источник строк (появляется только, если выбран тип элемента управления поле или поле со списком)- позволяет указать таблицу или запрос, которые определяют источник данных для строк списка

    • Присоединенный столбец- обычно ключевой столбец таблицы источника строк

    • Число столбцов- количество столбцов списка выводимых на экран

    • Число строк списка- задает количество строк списка выводимых на экран при выборе из списка

    Если при определении типа поля был выбран мастер Подстановок значения свойств поля на вкладке Подстановка будут указаны мастером

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

    Кнопка Вид для перехода в режим таблицы. Из режима Таблицы всегда можно вернуться в режим Конструктора. Так выгоядит кнопка Вид перехода в режим конструктора

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

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

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

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

    Создание поля с фиксированным списком

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

    Для создания фиксированного списка

    • Выделите в режиме конструктора поле Город

    • В столбце тип данных выберите Мастер подстановок

    • Установите флажок в строке “Будет введен фиксированный список значений”

    • Введите города, используя клавишу <Tab> для перехода в следующую строку

    • Далее следуйте указаниям мастера

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

    Ниже показана таблица Клиенты в режиме Таблицы в момент выбора из списка города.

    Создание поля со списком, основанного на таблице или запросе.

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

    • Выделите в режиме конструктора поле Товар

    • В столбце тип данных выберите Мастер подстановок

    • Установите флажок в строке “Объект подстановки будет использовать значения из таблицы или запроса”

    • Выделите таблицу Товары

    • Добавьте все доступные поля при помощи кнопки >>

    • Скройте ключевой столбец

    • Далее следуйте указаниям мастера

    Не забудьте сохранить таблицу.

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

    Перейдите в режим таблицы и проверьте работу поля со списком. Отмените при помощи клавиши <Esc> созданную запись.

    Создадим поле со списком Клиентыбез использования мастера .

    Для поля Клиент перейдите на вкладку Подстановка

    Выберите:

    Тип элемента управления

    поле со списком

    Тип источника строк

    таблица/запрос

    Источник строк

    Клиенты

    Присоединенный столбец

    1

    Число столбцов

    4

    Задайте ширину столбцов и ширину списка

    (ширина первого столбца=0)

    Ограничиться списком

    да

    Заглавия столбцов

    да

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

    Совет!До создания связей вносить данные в подчиненные таблицы нельзя.

    Определение первичного ключа.

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

    Совет! Следите за тем, чтобы в таблицах не использовались одни и те же имена первичных ключей.

    Схема Данных

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

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

    Пример 1.

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

    • Выделите таблицу или таблицы, включаемые в схему данных. Для выделения нескольких таблиц используйте клавишу <Ctrl>

    • Нажмите кнопку Добавить

    • Далее кнопку Закрыть

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

    Для создания связи необходимо

    • Выделить в главной таблице первичный ключ

    • При нажатой клавиши мыши перетащить курсор в соответствующее поле подчиненной таблицы

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

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

    Удалить связь можно , выделив связь одинарным щелчком мыши на линии связи и затем нажав клавишу <Dtl>.Открыть окноСвязи: можно при помощи двойного щелчка мыши на линии связи

    .

    Готовая схема данных, соответствующая Схеме1, назовем ее СД1.

    Внимание! При создании связи по составному ключу необходимо выделить все поля, входящие в ключ главной таблицы, и перетащить их на одно из полей связи в подчиненной таблице. Для выделения всех полей входящих в составной клюя, необходимо отмечать поля, удерживая нажатой клавишу <Ctrl>. После этого откроется окно изменения связи, где автоматически установится типодин – ко – многим. Далее необходимо для каждого поля ключа в главной таблице выбрать соответствующее поле в подчиненной таблицы, а затем установить параметры целостности и каскадного обновления/удаления.

    Окно изменения связи , при использовании составного ключа

    Пример 2.

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

    Данную связь необходимо доработать

    • Выделите связь

    • Из контекстного меню выберите изменить связь

    • Укажите целостность и при необходимости каскадное удаление и добавление данных

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

    Внимание!Иногда на схеме данных отображаются сразу несколько таблиц, например Товары, Товары1, Товары2. Такое возможно, когда Мастером Подстановок воспользовались несколько раз. Простое удаление таблиц как правило не помогает. Необходимосначала удалить связи , а затем сами таблицы.

    Совет!Подстановку лучше создавать без помощи мастера.