- •Базы данных
- •1. Введение в базы данных
- •1.1. Базы данных и информационные системы
- •1.2. Архигсюура информационной системы
- •1.3. Системы управления базами данных
- •1.4. Локальные информационные системы
- •1.5. Способы разработки и выполнения приложений
- •1.6. Схема обмена данными при работе с бд
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •Сотоудники
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Постреляционная модель
- •2.5. Многомерная модель
- •1996 1994 Петров Смирнов Яковлев
- •2.6. Объектно-ориентированная модель
- •2.7. Типы данных
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Индексирование
- •3.3. Связывание таблиц
- •3.4. Контроль целостности связей
- •3.5. Теоретические языки запросов
- •I аспределенное Удаленное Распределен- Удаленн! 1йдо- Распределен- предстаеление представление ная функция ступ к данным наяЬд
- •4.5. Информационные системы в Интернете и интранете
- •Часть 2. I Ъоектиросанн ? и использование бд
- •7. Средства автоматизации проектирования
- •7.1. Основные определения
- •7.8. Рекомендации по применению case-систем
- •9. Дополнительные вопросы применения баз данных
- •9.1. Программно-аппаратные платформы
- •9.2. Перспективы развития субд
- •9.3. Стандартизация баз данных
- •9.4. Характеристика технологии ado.Net
- •10.1. Общая характеристика
- •10.2. Новые возможности Microsoft Access 2002
- •10.3.Средства поддержки проектирования
- •10.4. Создание основных элементов бд
- •IQdbl mdb
- •Option Compare Database Public Function funl() beep End Function
- •10.5. Работа с гиперссылками
- •10.6. Использование языка sql
- •Аргументы макрокоманды ' Инструкция sQl. Select distinctrow tof
- •10.7. Защита баз данных
- •10.9. Обслуживание баз данный
- •10.10. Репликация баз данных
- •Реплицируемые объекты
- •Реплицируемые объекты
- •10.11. Работа с мультимедиа-данными
- •Тип объекта
- •Comic Chat Boom Microsoft Graph so Music Prop pry Page 2 1 Option f ropery Page21 Ры-ndox FableВидео-клип
- •10.12. Создание файлов приложений
- •10.13. Страницы доступа к данным
- •Краткая характеристика отличий сДд от форм и отчетом
- •10.14. Разработка проекта
- •Распределение атрибутов по вариантам
- •11.1. Пользовательский интерфейс
- •11.2. Характеристика проекта
- •11.3. Компиляция и выполнение проекта
- •11.4. Разработка приложения
- •11.5. Средства интегрированной среды разработки
- •Управление параметрами среды
- •11.6. Базы данных и средства работы с ними
- •Компоненты приложений для баз данных
- •11.7. Создание таблиц базы данных
- •11.8. Создание приложения bde
- •Значения свойств компонентов
- •11.9. Работа с отчетами
- •12. Субд Visual FoxPro 8.0
- •12.1. Общая характеристика
- •12.2. Новые возможности Visual FoxPro 8.0
- •12.3. Элементы проекта
- •12.4. Интерфейс Visual FoxPro
- •12.5. Средства автоматизации разработки
- •12.6. Создание баз данных
- •12.7. Таблицы и индексы
- •12.8. Организация межтабличных связей
- •12.9. Обеспечение ссылочной целостности
- •12.10. Создание запросов
- •Variables:
- •13. Microsoft sql Server 2000
- •13.1. Характеристика sql Server
- •13.2. Язык запросов Transact-sql
- •13.3. Системные базы данных и таблицы
- •13.4. Создание баз данных
- •13.5. Работа с таблицами
- •15.1. Принципы функционирования Web-приложений
- •15.2. Архитектура Web-приложений, публикующих бд
- •15.3. Обзор Web-серверов
- •15.4. Использование Personal Web-server
- •15.5. Использование Microsoft Internet Information Server
- •15.6. Использование Apache дляMicrosoft Windows 9х/2000
- •Вы видите это вместо ожидаемой страницы?
- •15.7. Варианты создания Web-узла
- •16. Интерфейсы программирования Web-приложений
- •16.1. Общий интерфейс взаимодействия cgi
- •18. Публикация бд средствами Microsoft Access
- •18.1. Характеристика вариантов публикации
12.5. Средства автоматизации разработки
Для автоматизации разработки баз данных и приложений в среде Visual FoxPro имеются следующие средства визуального программирования: Мастера(Wizards), Конструкторы(Designers) и Построители(Builders).
Мастера позво. 1яю- сконструироват ь требуемый объект, например, табли ну, просмотр или метку, путем выбора одного из нредла1 аемых вариантов оформления объекта в ходе пошаговой (с ограниченным числом шагов) про цедуры формирования объекта.
Конструкторы предоставляют существенно больше возможностей по формированию облика создаваемого объекта. Естественно, что при этом может потребоваться несколько больше времени.
Построители помогают формировать отдельные элементы управления при создании объекта или комбинировать конструкции при создании выражений. Можно сказать, что Построители являются аналогами Конструкторов, ориентированными на автоматизацию создания составляющих элементов объектов.
Мастера удобно использовать при необходимости создать в кратчайший срок несложное приложение. Если возможностей Мастеров окажется недостаточно, целесообразно прибегнуть к помощи Конструкторов и Построителей. При создании крупных проектов могут потребоваться объектно-орпен- тированные средства Visual FoxPro создания пользовательских классов, упрощающие создание пользовательских интерфейсов программ проекта.
12.6. Создание баз данных
Прежде чем рассматривать процедуры создания БД и таб лиц познакомимся с типами данных, используемых в них.
Перечень типов данных и краткая их харак геристика приведены в таблице 12.2.
Таблица 12.2
ланных isual Foi> I ;о
Обоь наче ние |
Тип |
Диапазон |
Объем памяти, байт |
Описание |
А |
Аггеу |
|
|
Массив данных некоторого типа |
В |
Double |
от +/-4 14065648541247E-324 до+/-1 79769313486232E+308. |
8 |
Число с плавающей точкой двойной точности |
С |
Character |
Любые симвопы |
1 254 |
Текстовая (символьная) строка |
D |
Date |
от 01/01/100 до 12/31/9999 |
8 |
Дыта |
F |
Flnat |
от -0.9999999999*10+19 до 0.9999999999*10+20 |
8 |
Такое же как Numeric |
G |
General |
Определяется дост упной памятью |
4 (ь DBF) |
Ссылка на OLE объект |
Таблица 12.2 (продолжение)
Обозначение |
Тип |
Диапазон |
< )бъем памяти, бай/ |
Описание |
' |
Integei |
- 2147483647 до 2147483646 |
4 |
Чигло целое |
L |
Logical |
|
1 |
Логическое значение |
М |
Memo |
Определяется доступной памятью |
4 (в DBF) |
Ссылка на примечание |
N |
Numeric |
от -0.9999999999*10+19 до 0.9999999999*10+20. |
8 |
Число с фиксированной точкой целое или дробное; допускает от 1 до 20 символов в таблице |
Т |
Datel ime |
от 01/01/100 до 12/31/9999 и от 00 00:00 утра до 23-59 59 вечера |
8 |
Дата и время |
У |
Currency |
от-22337203685477 5807 до 922337203685477.5807. |
8 |
Денежное значение |
Приведенные в первой колонке таблицы буквенные обозначения используютсядля отображения типа используемых переменных. Просмотреть список переменных можно по командеDISPLAY MEMORY.
Данные каждого типа могут храниться в полях таблиц этого же типа. Заметим, чтоVisual FoxPro не имеет команд определения типов переменных. Определение типов выполняется при присваивании переменным первоначальных значений. Рассмотрим подробнее перечисленные типы данных.
Character
Текстовый (символьный) тип используется для побайтного хранения символьных строк длиной от 1 до 254 символов. Элементами строк могут быть печатные знаки — буквы, цифры, пробелы и знаки препинания. Константа символьного типа должна быть заключена в разделители, например:
"ci рока" 'строка' [строка]
Возможно сравнение символьных строк в соответ< т зии с алфавитным порядком, например:
« «< V=.T. "арба"<"арбуз"=.Т.
Здесь .Т. — логические значение (true). Сравнение идет допервого несовпадающего символа, или до окончания правой строки. Операторы сравнения те же. что и вNUMERIC. Дополнительно введена операция точного сравнения (длин строк и всех символов), обозначаемая как ==. Сравниваемые сим- вилы до 1жны быть набраны в одинаковом (нижнем или верхнем) регистре. Имеются два оператора склеивания строк + и -.
Пример:
"Весна "+ [96] = [ Весна 96J или
"Весна "- [96] - [ВеснаЭб ]
В Visual FoxPro добавлен новый тип символьных полейCharacter (binary), которые позволяют хранить символы сASCII-кодами от 0 до 255.
Следующие 4 типа данных (Numeiic, Float, Integer иDouble) можно условно объединить в одну общую группу числовых данных. Допустимыми символами полей перечисленных типов являются цифры. При работе с данными этих типов возможно выполнение математических операций и автоматический контроль вводимых данных при работе сVisual ГохРго. исключающий ввод любых символов, кроме цифр.
Numeric
Числа в формате с фиксированной точкой. Целое отличается отсутствием дробной части. Например, оператор присваивания
X-4S.385
определяет тип переменной х как NUMERIC и присваивает ей указанное значение. Нат данными этого типа допустимы два типа операций:
Арифметические
+ - * /
» * I / *
** или Л— возведение в степень.
Сравнения
<•>, = ,<=,>=,
# или или != — не равно.
Float
Числовые данные типа Float включены для совместимости и функционально эквивалентны данным типа Numeric.
В Visual FoxPro появились новые типы числовые данныхDouble иInteger.
Double
Числовые вещественные (с плавающей точкой) данные двойной точности.
Integer
Данные целочисленного типа применяются для представления целых чисел и позволяют сэкономить место для хранения данных.
Date
Этот тип используется для хранения ка лендарных дат. При этом применяются различные форматы представления данных, наппимер:
AMERICAN 12/31/93
GERMAN 31/12/93 и др.
Формат AMERICAN используется по умолчанию. Иной вид формата устанавливается командой
SET DATE <формат>,
где <формат> — вид заказываемого формата. Поддерживается контроль правильности рводимых дат. Даты изменяются в диапазоне 01.01.100 до 12.31.У999. При задании дат XX века можно указыват ь только две последние цифры года.
DateTime
Тип дата и время появился в Visual FoxPro. Кроме 8 бай г, которые требовались для хранения дат в форматеDate, под данные данного типа отводится дополнительно еще 6 байтов для хранения времени в видеHHMMSS, где НН — часы от 00 до 23, М М — минуты,a SS — секунды. При превращении данных типаDate в данные типаDateTime автоматически устанавливается вр< мя 12:00:00. I [ад данными этого типа можно выполнять определенные арифметические операции, так, например, добавляя к дате 1 мы увеличиваем ее на один день, а добавлять секунды к неременной типаDateTime мы изменяем (оответственно время.
Logical
Логический тип данных допускает два возможных значения и четыре ва- риан га их обозначения:
Истина (Да) — .Т. или t. или.Y. или .у.
Ложь (Нет) — .F или.f. или.N. или .п.
Результат сравнения данных любого типа является логическим значением:
.Т. — если условие сравнения соблюдается,
.F. — в противном случае.
Над данными логического типа могут выполняться следующие операторы:
.NOT. — НЕ (отрицание или невыполнение условия):
.AND. — И(одновоеменное выполнение двух условий);
OR. — ИЛИ (выполнение хотя бы одною условия).
Memo
Поля базы данных (БД) данного типа предназначены для хранения символьных срок произвольной длины. Значения типа Memo могут иметь про извольный размер, определяемый размером только жесткого диска компьютера и хранятся в отдельном файле с расширением.FPT, имя которого совпадает с именем соответствующей таблицы. Каждая таблица имеет только одинMemo-файл вне зависимости от того, сколько Мето-полей она имеет. ВMemo поляDBF-файлос заносятся лишь ссылки (указатели) на соответствующие символьные строки. Значение Мето-поля можно присвоить переменной символьного типа и далее работать с ней как с символьной константой.
Само Memo поле имеет блочную структуру. Размеры блока изменяются с помощью командыSET BLOCKSIZE. При этом могут задаваться блоки в диапазоне от 33 до 511 байт. Размер блока большего размера кратен 512 байтам и обозначается целыми числами от 1 до 32. По умолчанию устанавливается блок размером в 64 байта. При этом запись в 65 байт потребует 2 блока, под которые будет отведена область памяти в 12Ь байт. При выборе размеров блоков Мето-полей необходимо стремиться к балан< у между перерасходом памяти, если блоки чрезмерно велики, и снижением скорост и работ ы с ними из-за увеличения блоков, обусловленного их небольшими размерами.
Зачечание
FPT-файл, созданный для какой-то таблицы, является неотъемлемой ее частью.
General
Поля баз данного типа позволяют хранить двоичные данные, а именно изображения, звук и т. д. Поля типа General являются специальной разновидностью Мето-полей. Они хранятся в том жеFPT-файле, что и все Мето- поля данной таблицы, однако используются они иначе, чем обычные Мето- поля.
Currency
Это тип данных введен в Visual FoxPm для оперирования денежными суммами. Поля таблиц данного типа схожи с числовыми полями, но з отличие от числовою поля, для них определена точность в четыре знака после запя той. Поэтому при отображении целых чисел после денежной точки добавляются 4 нуля. Например, не 36, а 36.0000.
Array
Массив представ, гяет собой совок> пноегь элементов, имеющих общее имя. Массив объявляется командой DECLARE или DIMENSION, которая задает имя и длину массива в круглых скобках, например:
DECLARE masl(4,6), mas2( 10)
Здесь описаны два массива: двумерный массив с именем masl (размерность 4 на 6) и одномерный массив из 10 элементов.
При объявлении массива каждому его элементу по умолчанию присваивается начальное значение .F. (false). Каждый элемент массива может использо- ватьгя как переменная л обого допустимого типа и размера. Поэтому с ними можно и р 1ботагь как с переменными: присваивать значения, включать в вычисляемые выражения, распечатывать значения и т. д.
()бращаются к элементу массива по имени массива с указанием индекса — номера этого элемента в массиве, например, mas(i).
Создание БД с помощью Конструктора
Конструктор БД позволяет создавать, модифицировать и индексировать таблицы БД, устанавливать постоянные межтабличные связи.
(Создание базы данных с помощью Конструктора БД выполним применительно к базе данных «Учебная», спроектированной в предыдущем разделе. Прежде всего, определим типы и размеры полей БД следующим образом:
T_ZAGR(Fio. Predm, (тгирра.VidZan),
C15C10I3C1
T PREP(Fio, Stag, Dolgn, Kaf),
C15 12CIO 12
T_DOLGN(Dolgn, Oklad).
CIO N7
T_STAG(Stag, D Stag)
C12N7
В расема гриваемой БД подчеркнутые поля образуют ключ соответствующей таблицы. В таблице Т ZAGR ноля(Fio, Predm, Gruppa) образуют ключ при условии, что один и то г же преподаватель в одной группе не может одновременно читать лекции и проводить практические занятия. В противном случае ключ таблицы будет включать все ее поля. В таблице ТPREDM ключ образуют поляPredm иGruppa с учетом допущения, что один и тот же предмет может чита гься в раз. шчных группах.
Замечание.
Наименования полей в рассматриваемой БД по традиции (в связи с ограничениями FoxPro) заданы латинскими буквами(Fio, Predin, Gruppa, Stag и т. д.). хотя вVisual FoxPi о 5.0 полям таблицы допускается задавать названия, отличные от латинс ких.
Перейдем непосредственно к созданию БД «Учебная». Д. [я удобства назовем ее Bdu
Для создания БД выполним команду File | New (Файл | Создать). Врезультате откроется диалоговое окноNew (Новый) (рис. 12.2), в котором перечислены все тины файловVisual FoxPro, которые можно создать.
При выбранном переключателе Database (база данных)нажатие кнопкиNew file (Новый файл)приводит к появлению диалогового окна Create (Создать). Всписке в< рхней час ги окна < ледует выбрать папку, в поле Enter (ввод) указать имя файла бапы даншrx (Bdii.dbc) и нажать кнопку Сохранить.
«л
Таблица 12.3
Команды меню Database
Команда |
Назначение |
New Table |
Создание таблицы |
Add Table |
Добавление таблицы в БД |
Now Remote View |
Создание удаленного представления данных |
New Local View |
Создание локального представлении дчнных |
448 |
Часть 3. Современные СУБД и их применена * |
Таблица 12.3 (продолжение) | |
Команд^ |
Назначение |
Modify |
Модификация таолицы |
Browse |
Редактирование таблицы в режиме Browse |
Remove |
Удаление таблицы из БД |
Rebuild Table Indexes |
Перестройка индексов |
Remove Deleted Records |
Физическое удаление помеченных записей |
Edit Relationship |
Редактирование межтабличных связей |
Referential Integrity |
Определение условий целое гнисти данных |
Edit Stored Procedures |
Редактирование хранимых процедур |
Clean Up Database |
Очистка БД от помеченных на удаление ооъектоь |
Создать БД можно также, набрав в командном окне Visual FoxPro команд)
CREATE DATABASE ИмяБазыДанных
Если имя БД в команде не указано, то при ее выполнении открывается диалоговое окно Create (создать),в котором нужно указать имя создаваемой БД.