Иногда в процессе эксплуатации базы данных возникает необходимость внесения изменений в проект. От части таблиц или полей в них можно отказаться, какие-то добавить. Изменить свойства полей или условия на значение, объединить или расщепить таблицы, произвести другие манипуляции над данными.
Access предоставляет широкий круг возможностей по изменению созданного проекта базы данных. Часть из них мы используем, модифицируя первоначальный проект базы STUD.
Пример решения
Некоторые действия над проектом могут привести к потере данных, логическим ошибкам, сбоям Access, поэтому желательно перед изменениями базы сделать ее резервную копию. Можно сохранить последовательно все объекты базы, но наименее трудоемким является путь копирования всего проекта средствами Dos или Windows.
Access все проекты хранит в отдельных файлах с расширением *.MDB". В эти файлы входят описания всех структур, относящихся к одной базе: описания таблиц, их связей, индексов; описания форм, отчетов; макросы и модули, другая служебная информация. Копируя эти файлы, мы дублируем весь проект целиком, поэтому рекомендуется производить сохранение в копии всего проекта.
Сделаем копию проекта STUD, переключившись средствами Windows в окно диспетчера программ ("Program Manager"); запустим диспетчер файлов двойным щелчком на иконке "File Manager" в группе "Main". В диспетчере файлов найдем хранящийся файл STUD.mdb, выделим его , щелкнув на нем мышкой. В меню "File" выполним команду "Copy to..", и в появившемся окне введем имя будущего файла STUD_1.MDB. После нажатия кнопки "Ок" мы получим копию базы STUD, с которой и будем производить дальнейшие действия.
Рассмотрим возможность модификации проекта базы данных применительно к действиям над полями таблиц. В таблицы Access возможна вставка новых полей ,их переименование, копирование, удаление, перемещение; изменение типов и размеров полей.
Запустим MS Access и откроем базу STUD_1.
1. Добавление нового поля в таблицу
Откроем таблицу "Преподаватели" в режиме конструктора. Добавим в нее новое поле "Стаж", где будет храниться стаж работы преподавателя на данной кафедре.
Выделим строку таблицы "Должность". Для этого щелкнем по маркеру строки - серому прямоугольнику у левого края имени поля. Строка над которой будет вставлена новая выделится черным цветом Выполним команду Вставить строку("Insert row") в меню “Вставка” ("Edit"), или нажмем на клавиатуре клавишу "Ins". Над выделенной появится новая, пустая строка. Введем в ней:
Имя поля - "Стаж";
Тип данных - "Числовой";
Описание - "Стаж работы преподавателя на кафедре";
В области свойств поля введем для свойства “Размер поля” ("Field size") тип Байт ("Byte").
2. Копирование полей в таблице
При наличии в таблице нескольких однотипных полей, или полей со сходными свойствами, рационально не вводить описания всех полей, а описать одно поле, а затем продублировать его, подставляя для поля только индивидуальные характеристики (такие как имя, свойства, маски ввода, наличие индексов и т.д.). Таким образом можно формировать поля "Имя" и "Отчество" как аналоги поля "Фамилия", адреса "Домашний" и "Рабочий" и т.д.
Создадим поля "Телефон_дом" и "Телефон_раб". Создаем поле "Телефон_дом" как было рассмотрено в ЛР1 с характеристиками:
Имя поля - "Телефон_дом";
Тип данных - Числовой;
Описание - "Домашний телефон".
В области свойств поля введем:
Размер поля - Целое;
Выделим эту строку целиком, щелкнув по области маркировки строки слева от ее названия. Скопируем эту строку в буфер обмена при помощи команды "Копировать" меню "Правка". Переместим курсор на строку, следующую за вставляемой (после "Телефон домашний"). Вставим пустую строку , выполнив команду "Всавить строку" меню "Вставка". Затем выделим созданную строку, щелкнув на области ее маркировки и выполним команду "Вставить" меню "Правка". Описание из буфера обмена будет вставлено в созданную строку.
Модифицируем название созданного поля на "Телефон_раб", щелкнув в данной строке на столбец "Поле" и введя в нем "Телефон _раб". Изменим также свойство "Описание" на "Телефон рабочий".