Диго С.М. Базы данных проектирование и использование (1084447), страница 35
Текст из файла (страница 35)
Если вы создаете новую базу данных, то надо выбрать позиции меню Файл/Создать базу данных и в появившемся окне Создание выбрать позицию «База данных» (рис. 5.1).
Рис. 5.1. Создание новой базы данных (экран 1)
В появившемся окне Файл новой базы данных (рис. 5.2) нужно задать имя файла БД и щелкнуть по кнопке Создать.
Рис. 5.2. Создание новой базы данных
(экран 2 - задание имени базы данных)
После выполнения этих шагов появится экран [название]: база данных (рис. 5.3).
Рис. 5.3. Начальный вид окна базы данных
5.2.1. Создание новой таблицы путем описания ее структуры
Создание базы данных начинается с создания таблиц, в которых и хранится информация о предметной области. База данных обычно включает несколько взаимосвязанных таблиц. Для создания новой таблицы в окне Базы данных нужно выбрать вкладку Таблица и щелкнуть по кнопке Создать - появится окно Новая таблица (рис. 5.4).
Рис. 5.4. Выбор способа создания таблицы
Создать таблицу можно в разных режимах: режиме таблицы, конструктора, мастера таблиц, импорта таблиц и связи с таблицами. Начнем рассмотрение возможностей создания таблиц с режима конструктора как наиболее часто используемого. Для этого в появившемся окне выберите режим создания нового объекта - Конструктор. После чего появится окно для описания структуры таблицы и других ее характеристик (рис. 5.5).
Рис. 5.5. Вид экрана при описании таблицы
Описание полей таблицы
В табличной форме необходимо последовательно описать все поля создаваемой таблицы. Сначала задается имя поля. Access допускает задание длинных имен с пробелами на русском языке.
В Microsoft Access действуют следующие ограничения на имена полей:
-
имя должно содержать не более 64 символов;
-
имя может включать любую комбинацию букв, цифр, пробелов и специальных символов за исключением точки (.), восклицательного знака (!), надстрочного символа (') и прямых скобок ([ ]);
-
имя не должно начинаться с символа пробела;
-
имя не должно включать управляющие символы (с кодами ASCII от 0 до 31).
Хотя пробелы внутри имен полей и являются допустимыми, они могут при некоторых обстоятельствах вызывать конфликты при работе с другими системами. Поэтому их не рекомендуется использовать. Вообще к заданию длинных имен на русском языке нужно относиться с осторожностью, особенно если есть вероятность, что создаваемое приложение будет в дальнейшем использоваться в распределенных гетерогенных системах.
Имена полей не должны совпадать с зарезервированными словами. Например, не следует давать полю имя Count, Name и т.п.
Имя поля должно быть уникальным в пределах таблицы. И хотя система не запрещает использование одинаковых имен полей в разных таблицах, избегайте использования одинаковых имен для обозначения разных по смыслу атрибутов.
Имя должно быть понятно не только в контексте данной конкретной таблицы. Так, например, если в таблице «Сотрудник» есть поле «Код» и такое же поле есть в таблице «Кафедра», то в первом случае это будет код сотрудника, а во втором - код кафедры. Многие системы (и Access в том числе) при соответствующей настройке автоматически связывают таблицы по полям, которые имеют одинаковые имя, тип и длину. Если имена даны непродуманно, то могут возникнуть неправильные связи либо процесс задания связей будет несколько сложнее, чем при правильном задании имен.
После задания имени нужно выбрать тип поля. Если щелкнуть мышью по свободной ячейке графы «Тип поля», то высветится список допустимых типов полей (см. рис. 5.5), из которого и следует выбрать подходящий для описываемого поля тип. Имя и тип поля должны задаваться обязательно.
Графа «Описание» может не заполняться. Эта графа используется в целях документирования проекта.
Допустимые типы полей в Access 2000 и их краткая характеристика приведены в табл. 5.1.
Таблица 5.1
Тип данных | Содержимое поля | Размер |
Текстовый | Текст или числа, не требующие проведения расчетов (номера телефонов, коды и т. п.) | Максимальное число символов - 255 |
Поле Мемо | Длинный текст или комбинация текста и чисел | До 65 535 символов |
Числовой | Числовые данные, используемые для проведения расчетов | 1,2,4 или 8 байт |
Дата/время | Даты и время, относящиеся к годам с 100 по 9999 включительно | 8 байт |
Денежный | Специальный формат для представления числовых данных. Точность до 15 знаков в целой и до 4 знаков в дробной части | 8 байт |
Счетчик | Уникальные последовательно возрастающие (на 1) или случайные числа, автоматически вводящиеся при добавлении каждой новой записи в таблицу | 4 байта |
Логический | Поля, которые могут содержать одно из двух возможных значений (True/False, Да/Нет) | 1 бит |
Продолжение таблицы 5.1
Поле объекта OLE | Объект, связанный или внедренный в таблицу Microsoft Access | До 1 Гбайта (ограничивается объемом диска) |
Гиперссылка | Строка, состоящая из букв и цифр и представляющая адрес гиперссылки | Может содержать до 3x2048 символов |
В списке допустимых типов полей имеется строка «Мастер подстановок». При его использовании можно создать поле, содержание которого формируется путем выбора значений из списка, содержащего набор постоянных значений или значений из другой таблицы/запроса. Если источником для подстановки выбран столбец другой таблицы, то тип и длина поля, созданного таким способом, будут определяться типом и длиной элементов, служащих источником для подстановки значений.
Выбор типа поля является важным шагом, при проектировании БД. Принятое решение оказывает влияние на выполняемый при вводе контроль правильности данных, на допустимые операции над данными и особенности их выполнения, требуемый объем памяти, скорость выполнения операций, совместимость разных частей БД при работе в гетерогенной среде.
Предположим, что создается таблица, содержащая сведения о профессорско-преподавательском составе. Состав и тип полей создаваемой таблицы представлены на рис. 5.6.
Введем описания всех полей, кроме поля «Должность», выбирая указанные на рис. 5.6 типы полей.
Рис. 5.6. Состав полей таблицы «Сотрудник»
Поле «Должность» создадим несколько иначе. Для выбранной категории сотрудников имеется всего четыре возможные должности: ассистент, старший преподаватель, доцент и профессор. Хорошо было бы заменить ввод этих значений выбором их из списка. В ранних версиях Access задавать домен (либо путем прямого ввода списка значений, либо путем связи с файлом подстановки) можно было только при создании запроса или экранной формы. В последних версиях стало возможным задать это и при описании таблицы.
Создадим поле «Должность», используя «Мастер подстановок». Для этого можно либо при выборе типа указать «Мастер подстановок» (см. последнюю строку в ниспадающем списке типов полей на рис. 5.5), либо выбрать позицию «Поле подстановки» в меню Вставка.
Последовательность шагов при создании поля подстановки отражена на рис 5.7-5.9. Имя поля сначала задавать не надо, оно будет задано позже в процессе создания поля с помощью мастера. Следует сразу перейти к столбцу «Тип данных» и выбрать в списке строку «Мастер подстановок».
Так как список, создаваемый в рассматриваемом случае, короткий и стабильный, то создадим столбец подстановки с фиксированным набором значений (рис. 5.7). В появившемся далее окне введем требуемые значения (рис. 5.8).
Рис. 5.7. Создание столбца подстановки. Начальный экран
Рис. 5.8. Создание столбца подстановки.
Столбец с введенным списком значений
Далее зададим имя этого поля (рис. 5.9).
Рис. 5.9. Создание столбца подстановки. Задание имени столбца
После создания поля таким способом его тип будет «текстовый» и длина - 50. После создания поля с использованием мастера подстановок с фиксированным набором значений его длину можно скорректировать.
При вводе данных в таблицу значения полей подстановки можно не вводить с клавиатуры, а выбирать из заданного списка. Чтобы нельзя было ввести значения, отсутствующие в списке, надо в свойствах поля на вкладке Подстановка в позиции «Ограничиться списком» задать значение Да. В этом случае использование поля подстановки обеспечит не только более эффективный ввод данных, но и более жесткий контроль целостности базы данных.
Если число значений поля подстановки достаточно велико и сами значения могут меняться со временем, то следует использовать вторую альтернативу - значения из другой таблицы/запроса (рис. 5.10). Эта возможность реализуется в нашем примере для поля «Код_кафедры», значения которого будут выбраны из таблицы «Кафедра».
Рис. 5.10. Создание поля подстановки (шаг 1)
Для создания поля подстановки, источником для которого служит другая таблица, необходимо сначала создать основную таблицу (в паре «Кафедра»-«Сотрудник» основной будет таблица «Кафедра»), связать таблицы и только потом создавать поле подстановки (в нашем случае это поле «Код_кафедры» в таблице «Сотрудник»). Если, как в нашем случае, основная таблица еще не создана, то нужно закончить описание таблицы «Сотрудник», сделать указанные выше шаги (создание таблицы «Кафедра» и связывание ее с таблицей «Сотрудник», а потом можно скорректировать описание поля «Код_Кафедры» в таблице «Сотрудник»), выбрав в столбце «Тип данных» позицию «Мастер подстановок» (рис. 5.10) и далее выполнить шаги, которые описаны ниже.
В окне Создание подстановки выбираем альтернативу «Столбец подстановки использует значения из таблицы или запроса» (рис. 5.11).
Рис. 5.11. Создание поля подстановки (шаг 2)
После этого нужно выбрать таблицу/запрос, которая будет являться источником данных для описываемого поля (рис. 5.12). В нашем примере это таблица «Кафедра».
Далее надо определить колонку таблицы-источника, значения из которой будут подставляться в описываемую колонку (рис. 5.13). В нашем примере таким полем является «Код_кафедры». Но так как пользователь вряд ли помнит коды, то желательно, чтобы при выборе нужного значения высвечивались названия кафедр. Для этого в окно «Выбранные поля» следует перенести еще и поле «Наименование_ кафедры_полное» или «Наименование_кафедры_краткое».
Рис. 5.12. Выбор таблицы/запроса источника для поля подстановки