Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 94
Текст из файла (страница 94)
(false). Каждый элемент массива может использо-446Часть 3. Современные СУБД и их применениеваться как переменная любого допустимого типа и размера. Поэтому с нимиможно и работать как с переменными: присваивать значения, включать в вычисляемые выражения, распечатывать значения и т. д.Обращаются к элементу массива по имени массива с указанием индекса —номера этого элемента в массиве, например, mas(i).Создание БД с помощьюКонструктораКонструктор БД позволяет создавать, модифицировать и индексироватьтаблицы БД, устанавливать постоянные межтабличные связи.Создание базы данных с помощью Конструктора БД выполним применительно к базе данных «Учебная», спроектированной в предыдущем разделе.Прежде всего, определим типы и размеры полей БД следующим образом:T_ZAGR(Fio. Predm. Gruppa. VidZan),C15C10I3C1T_PREP(Fjo, Stag, Dolgn, Kaf),C15 12 CIO 12T_DOLGN( Dolgn, Oklad).CIO N7T_STAG(Stag, D_Stag)C12N7В рассматриваемой БД подчеркнутые поля образуют ключ соответствующей таблицы.
В таблице T ZAGR поля (Fio, Predm, Gruppa) образуют ключпри условии, что один и тот же преподаватель в одной группе не может одновременно читать лекции и проводить практические занятия. В противномслучае ключ таблицы будет включать все ее поля. В таблице T PREDM ключобразуют поля Predm и Gruppa с учетом допущения, что один и тот же предмет может читаться в различных группах.Замечание.Наименования полей в рассматриваемой БД по традиции (в связи с ограничениями FoxPro) заданы латинскими буквами (Fio, Predm, Gruppa, Stag ит. д.), хотя в Visual FoxPro 5.0 полям таблицы допускается задавать названия,отличные от латинских.Перейдем непосредственно к созданию БД «Учебная».
Для удобства назовем ее Bdu.Для создания БД выполним команду File| New (Файл | Создать). В результате откроется диалоговое окно New (Новый) (рис. 12.2), в котором перечислены все типы файлов Visual FoxPro, которые можно создать.10. СУБД Access 2002447У NewГ File type——••-•СProject(* IDatabaselГTableffiueryБЗ•H e w file^ jQonnedionГViewГ Remote vjevvWizardС FormСReportГ IsabelСProgramГClassГText fileСMenuCancelHelpРис.
12.2. Диалоговое окно NewПри выбранном переключателе Database (база данных) нажатие кнопкиNew file (Новый файл) приводит к появлению диалогового окна Create (Создать). В списке верхней части окна следует выбрать папку, в поле Enter (ввод)указать имя файла базы данных (Bdu.dbc) и нажать кнопку Сохранить.В результате откроется диалоговое окно Database Designer — Bdu (окноКонструктора созданной базы данных Bdu). В системном меню Visual FoxProпоявится новое меню Database (база данных), содержащее команды Конструктора БД (табл. 12.3).Т а б л и ц а 12.3Команды меню DatabaseКомандаНазначениеN e w TableСоздание таблицыAdd TableДобавление таблицы в БДN e w Remote ViewСоздание удаленного представления данныхN e w Local ViewСоздание локального представления данныхЧасть 3. Современные СУБД и их применение448Таблица 12.3 (продолжение)НазначениеКомандаModifyМодификация таблицыBrowseРедактирование таблицы в р е ж и м е BrowseRemoveУдаление таблицы из Б ДRebuild Table IndexesПерестройка индексовRemove Deleted RecordsФизическое удаление помеченных записейEdit R e l a t i o n s h i pРедактирование межтабличных связейReferential IntegrityО п р е д е л е н и е условий целостности данныхEdit S t o r e d P r o c e d u r e sРедактирование хранимых процедурClean Up DatabaseОчистка Б Д от помеченных на удаление объектовСоздать БД можно также, набрав в командном окне Visual FoxPro командуCREATE DATABASE ИмяБазыДанныхЕсли имя БД в команде не указано, то при ее выполнении открываетсядиалоговое окно Create (создать), в котором нужно указать имя создаваемой БД.1 2 .
7 . Таблицы и индексыВ Visual FoxPro можно создавать таблицы, входящие в БД, и отдельныетаблицы. Рассмотрим создание таблиц, являющихся компонентами БД.СозданиетаблицПри создании таблицы ей присваивается имя, отражающее существо хранимой информации. При присвоении имен таблицам необходимо придерживаться следующих правил:• каждая таблица в БД должна иметь уникальное имя;• имя таблицы является именем одноименного файла, возможное числосимволов в имени определяется операционной системой;• имя таблицы может содержать буквы, цифры и знаки подчеркивания.Для создания входящей в БД таблицы требуется выполнить командуDatabase | New Table (база данных | новая таблица).
Далее в диалоговомокне New Table (новая таблица) следует вызвать Конструктор таблиц (кнопкаNew Table — новая таблица) или Мастер таблиц (Table Wizard).12. СУБД Visual FoxPro 8.0449Пример 1. Рассмотрим создание для нашей БД таблицы T_ZAGR(Fio,Predm, Gruppa, VidZan) с помощью Конструктора таблиц.1. Перейдем в Конструктор таблиц, нажав в окне диалога New Table (новая таблица) кнопку New Table (новая таблица). Определим имя соз д а в а е м о й т а б л и ц ы в о к н е Create (создать).
В р е з у л ь т а т е о т к р о е т с я д и -алоговое окно Конструктора таблиц Table Dezigner (рис. 12.3),позволяющее сформировать таблицу.2. Выберем вкладку Fields (поля) (рис. 12.3), введем имя первого поля Fio.Для задания типа поля перейдем в следующий столбец с помощью мышиили клавиши Tab. Тип поля в нем выбирается из раскрывающегося списка.3.
В следующем столбце установим размер поля. Для ноля Fio это 15 символов.4. Установим заголовок поля. Для этого перейдем в поле Caption (заголовок), расположенное в области Display и введем там заголовок «Фамилия И.О.». В поле Field Comment (комментарий поля) можно задатькраткое описание поля.Table Designer - t z a g r d b fFields | Indexes | Table |NameTypeWidthX fiopredmgruppaCharacterCharacterInteger15104vidzanCharacter8Decimal IndexNULLInsertDeleteDisplayField validation -Format:Rule:Input jnask:Message:Caption:J Ф а м и л и я И.О.M a p field type to classesDispjay library:Display class:< default| Default value:r ield[Лекцияcomment:4\Рис. 12.3. Диалоговое окно Table Dezigner15 Зак.
541Nzi450Часть 3. Современные СУБД и их применение5. Для задания сортировки данных в таблице по полю Fio надо перейти в столбец Index (индекс) и из раскрывающегося списка выбрать Ascending (возрастающий), если требуется сортировка в порядке возрастания данных, иDescending (убывающий) — по убыванию. Эта сортировка достигается использованием индексирования, о котором поговорим позже.6. Аналогично определим остальные поля таблицы. При необходимостиизменения порядка следования полей таблицы воспользуемся крайнейлевой кнопкой вкладки диалогового окна.7. Полю VidZan (вид занятий) таблицы определим значение по умолчанию.
Для этого выберем поле VidZan таблицы и в нижней части окна вполе Default value: (значение по умолчанию:) введем слово «Лекция».Укажем назначение важнейших элементов диалогового окна.Decimal — задает число цифр после десятичной точки в соответствующихтипах данных,Index — позволяет указать поле таблицы по которому она будет проиндексирована,NULL — задает признак поля, позволяющий оставлять это поле пустым привводе данных. Пустое поле в зависимости от его типа может быть пустой строкой, числом ноль или false (логическая ложь).Назначение некоторых кнопок:Insert (вставка) — вставка поля перед тем, на который установлен курсор,Delete (удаление) — удаление выбранного поля.Для формирования свойств таблиц необходимо перейти на вкладку Table(таблица) диалогового окна Конструктора таблиц.
На этой вкладке можноввести текстовый комментарий к таблице (поле Table Comment:), задать условия проверки вводимых данных на уровне записей (список Rule:) и задатьтриггеры (Triggers) — специальные подпрограммы, срабатывающие при выполнении таких операций с записями таблицы как добавление, удаление иизменение. При этом контроль вводимых данных будет осуществляться прикаждом обращении к таблице.ИндексированиетаблицПросматривать и отыскивать данные в таблицах удобнее и быстрее отсортированными (упорядоченными) по одному или нескольким полям. Вводитьданные в таблицу упорядоченными хотя бы по одному из полей весьма проблематично.
Поэтому данные вводятся в таблицы по мере необходимости и вслучайном порядке, а сортировка данных при работе с ними осуществляетсяс помощью механизма индексирования таблиц.Под индексом (индексным выражением) понимается имя поля таблицы иливыражение, включающее совокупность имен полей, по которым упорядоченатаблица.12. СУБД Visual FoxPro 8.0451Индексирование таблиц позволяет осуществлять быстрый поиск записей.Механизм индексирования базируется на использовании специального индексного файла, содержащего упорядоченные указатели (ссылки) на записиисходной таблицы, позволяющие извлекать записи в нужном порядке. Поэтому размер индексного файла гораздо меньше размера исходной таблицы.В Visual FoxPro имеются различные варианты индексных файлов, в томчисле и для поддержки предыдущих версий FoxPro.