- •Базы данных
- •Введение
- •Часть 1. Проектирование баз данных
- •1.1. Некоторые понятия и определения
- •1. 2. Модели данных
- •1.2.1. Иерархическая модель данных
- •1.2.2. Сетевая модель данных
- •1.2.3. Реляционная модель данных Основные определения
- •Типы связей между отношениями
- •1.3. Классификация баз данных
- •1.4. Цели проектирования баз данных
- •1.5. Проектирование баз данных с использованием универсального отношения
- •1.5.1. Универсальное отношение
- •1.5.2. Проблемы, вызываемые использованием универсального отношения
- •Проблема вставки
- •Проблемы обновления
- •Проблемы удаления
- •1.5.3. Нормальная форма Бойса -Кодда
- •Функциональные зависимости
- •Возможный ключ и детерминант
- •Общий подход к декомпозиции
- •Анализ исходных аномалий
- •1.5.4. Возможные потери фз при декомпозиции
- •1.5.5. Избыточные функциональные зависимости
- •Приемы удаления избыточных фз
- •Минимальное покрытие
- •Модернизированный алгоритм проектирования бд
- •1.6. Метод er - проектирования
- •1.6.1. Сущности и связи
- •1.6.2. Степень связи
- •1.6.3. Переход от диаграмм er – типа к отношениям
- •Предварительные отношения для бинарных связей степени 1:1
- •Предварительные отношения для бинарных связей степени 1:n.
- •Предварительные отношения для бинарных связей степени n:m
- •1.6.4. Дополнительные конструкции, используемые в er - методе
- •Необходимость связей более высокого порядка
- •Предварительные отношения для трехсторонних связей
- •Использование ролей
- •1.6.5. Последовательность проектирования бд при использовании er- метода
- •1.6.6. Проверка отношений на завершающейся фазе проектирования
- •1.7. Другие нормальные формы
- •1.8. Контрольные вопросы
- •Часть 2. Специальные аспекты работы с базами данных
- •2.1. Защита данных в базе
- •2.2.1. Общие вопросы защиты данных
- •2.2.2. Реализация защиты данных в различных системах
- •Управление доступом в sql
- •Реализация системы защиты в ms sql Server
- •2.2. Обеспечение целостности данных
- •2.3. Организация параллельных процессов обработки данных
- •2.4. Восстановление бд
- •2.4.1. Уровни восстановления.
- •2.4.2. Восстановление и логический элемент работы
- •Требования к лэр
- •2.4.3. Промежуточное восстановление
- •2.4.4. Длительное восстановление
- •2.5. Математический аппарат, используемый при работе с реляционной базой данных
- •2.5.1. Теоретико-множественные операции реляционной алгебры
- •2.5.2. Специальные операции реляционной алгебры
- •2.6. Контрольные вопросы
- •Часть 3. Разработка приложений для работы с базами данных
- •3.1. Краткий обзор субд
- •3.2. Субд Access
- •3.2.1. Вводные замечания
- •3.2.2. Создание базы данных
- •3.2.3. Создание и работа с таблицами
- •3.2.4. Работа с запросами
- •3.2.5. Создание форм
- •3.2.6. Отчеты в Access
- •3.2.7. Макросы в Access
- •Преобразование макросов в программы на Visual Basic
- •3.2.8. Работа с внешними данными
- •3.3. Программирование в Access
- •3.3.1. Вводные замечания
- •3.3.2. Объявление переменных
- •3.3.3. Константы
- •3.3.4. Тип данных Variant
- •3.3.5. Пользовательские типы данных
- •3.3.5.Операторы, команды и выражения в vba
- •3.3.7. Процедуры vba
- •3.3.8. Управляющие структуры в vba
- •Работа с управляющими структурами
- •3.3.9. Объекты в Access
- •3.3.10. Классы в Access
- •3.3.11. Работа с ошибками в vba
- •3.4.Работа в ms sql –Server
- •3.4.1. Основные количественные показатели системы sql-сервер
- •3.4.2. Создание баз данных
- •3.4.3. Создание таблицы
- •3.4.4. Извлечение данных
- •3.4.5. Добавление данных
- •3.4.6. Изменение данных
- •3.4.7. Удаление данных
- •3.5. Контрольные вопросы
- •Цитированная литература
- •Оглавление
- •Часть 1. Проектирование баз данных 3
- •Часть 2. Специальные аспекты работы с базами данных 71
- •Часть 3. Разработка приложений для работы с базами данных 114
3.3.5.Операторы, команды и выражения в vba
Операторы. Для объединения функций, переменных и значений в программном тексте Visual Basic служат специальные языковые элементы — операторы. Операторы Visual Basic образуют четыре общие категории: арифметические, логические, конкатенации и сравнения.
Арифметические операторы. В инструкциях Visual Basic доступны следующие арифметические операции: ^ (степень числа), * (умножение), / (деление), \ (целочисленное деление), Mod (деление по модулю), + (сумма), - (вычитание и унарный минус).
Логические операторы. Логические операции используются для комбинирования или модификации выражений типа True/False. Логические операции языка Visual Basic следующие: And (логическая конъюнкция), Eqv (логическая эквивалентность), Imp (логическая импликация), Not (логическое отрицание), Or (логическая дизъюнкция), Xor (логическое исключение).
Операторы конкатенации. Используются для строковой конкатенации двух выражений и имеют две разновидности & и +.
Операторы сравнения. В VBA используются следующие операторы сравнения: = (равно), <(меньше), <= (меньше или равно), >(больше), >= (больше или равно),<> (не равно), оператор Is (используется для сравнения двух переменных, содержащих объектные ссылки, оператор Like (используется для сравнения двух строк).
При сравнении можно использовать символы подстановки, символьные списки или символьные интервалы в любой комбинации. В следующей таблице приведены символы подстановки, допустимые в образце:
Символ в образце |
Чему соответствует |
? |
Любой единичный символ. |
* |
Ноль или больше символов. |
# |
Любая единичная цифра (0 — 9). |
[список_символов] |
Любой отдельный символ из список_символов. |
[ !список_символов] |
Любой отдельный символ не из список_символов. |
Группа из одного или больше символов {список_символов), заключенных в квадратные скобки ([ ]), может использоваться для проверки совпадения любого единственного символа в строке и может содержать почти любой символьный код, включая цифры.
Чтобы проверить на совпадение специальные символы левая квадратная скобка ([), знак вопроса (?), знак номера (#) и звездочка (*), их нужно заключать в квадратные скобки. Правая квадратная скобка (]) не может использоваться для проверки внутри группы, но может использоваться вне группы как отдельный символ.
При использовании дефиса (-) для определения верхнего и нижнего пределов интервала в список_символов можно специфицировать интервал символов. Например, [A-Z] возвращает совпадение, если соответствующая символьная позиция в строке содержит любой из символов верхнего регистра в интервале A-Z. Внутри скобок можно включить несколько интервалов без разделителей.
Значение специфицированного интервала зависит от параметра оператора Option Compare и места локализации системы. Например, при использовании Option Compare Binary интервал [А-Е] соответствует А, В, С, D и Е. С Option Compare Text интервал [А-Е] соответствует А, а, В, b, С, с, D, d, Е, е.
Кроме сказанного, имеются следующие правила совпадения по образцу:
• восклицательный знак (!) в начале список_символов означает, что совпадение вернет True, если в строке имеются любые символы, за исключением символов в список_символов. Если восклицательный знак используется снаружи скобок, он сравнивается отдельно;
• если нужно сравнить дефис (-), он может устанавливаться либо в начале (после восклицательного знака, если таковой используется), либо в конце список_символов. В любой другой позиции дефис используется, чтобы идентифицировать интервал символов;
• когда специфицируется интервал символов, они должны вводиться в порядке возрастания (от самого низкого до самого высокого кода). [A-Z] — допустимый образец, но [Z-A] — нет;
• символьная последовательность [ ] рассматривается как строка нулевой длины ("").
Примеры:
Dim MyCheck
MyCheck = "aBBBa" Like "a*a" ' Возвращает True
MyCheck = "F" Like "[A-Z]" ' Возвращает True
MyCheck = "F" Like "[!A-Z]" ' Возвращает False
MyCheck = "a2a" Like "a#a" ' Возвращает True
MyCheck = "aM5b" Like "a [L-P]#[!c-e]" ' Возвращает True
MyCheck - "BAT123khg" Like "B?T*" ' Возвращает True
MyCheck = "CAT123khg" Like "B?Т*" ' Возвращает False
Старшинство операторов. Когда в выражении выполняется несколько операторов, каждая часть выражения оценивается и разрешается в предопределенном порядке, именуемом старшинством операторов.
Если выражение содержит операторы из более чем одной категории, вначале оцениваются арифметические операторы, затем операторы сравнения и последними оцениваются логические операторы. Все операторы сравнения имеют равное старшинство; то есть они оцениваются слева направо в том порядке, в котором они появляются. Арифметические и логические операторы оцениваются в следующем порядке старшинства:
Арифметические |
Сравнения |
Логические |
Возведение в степень (^) |
Равенство (=) |
Not |
Отрицание (-) |
Неравенство(< >) |
And |
Умножение и деление (*,/) |
Меньше (<) |
Or |
Целочисленное деление (\) |
Больше (>) |
Xor |
Деление по модулю (Mod) |
Меньше или равно (<=) |
Eqv |
Сложение и вычитание (+,-) |
Больше или равно (>=) |
Imp |
Строковая конкатенация (&) |
Like |
Is |
Если в одном выражении имеется умножение и деление, каждый из операторов равноправен и оценивается по порядку слева направо. Если в одном выражении имеется сложение и вычитание, каждый из операторов также равноправен и оценивается в порядке появления слева направо. Для переопределения порядка выполнения некоторых элементов выражения, которые требуется оценить прежде других, можно использовать круглые скобки. Операторы внутри круглых скобок всегда выполняются до операторов вне их. Однако внутри круглых скобок старшинство операторов выдерживается.
Оператор строковой конкатенации (&) — не арифметический оператор, но в старшинстве он следует за всеми арифметическими операторами и предшествует всем операторам сравнения.
Оператор Like равен в старшинстве всем операторам сравнения, но фактически этот оператор совпадения с образцом стоит особняком от операторов сравнения.
Оператор Is — оператор сравнения объектной ссылки. Он не сравнивает объекты или их значения; он лишь выясняет, относятся ли две объектные ссылки к одному объекту.
Команды. Команда — ключевое слово Visual Basic, которое выполняет некоторое действие, но не возвращает значение. Чтобы использовать операцию, в строке программного текста (инструкции) вводится ее имя. Это упоминание называется вызовом команды. Когда требуется, команде передаются параметры, часто в круглых скобках. Некоторые команды требуют круглых скобок; другие, наоборот, их не допускают.
Категории команд. Команды Visual Basic подразделяются на общие категории, основные из которых перечислены в следующей таблице:
Категория |
Описание |
Управление выполнением |
Управляет потоком выполнения программного кода. Позволяет определять циклы, переходы к специфицированной строке кода и управлять ошибками |
Определение и управление переменными и константами |
Объявление переменных и констант.
|
Комментарии |
Позволяют определять комментарии кода |
Определение процедур
|
Объявление процедур Visual Basic, внешних процедур DLL и завершение объявлений процедур, типов, свойств |
Файловый ввод-вывод |
Позволяют читать и записывать информацию в файлы операционной системы. |
Управление директориями/файлами |
Позволяют создавать, удалять и осуществлять навигацию между каталогами, блокировать или переименовывать файлы |
Разные |
|
Выражения. Выражение Visual Basic может быть сформировано любыми из следующих элементов, отдельными или объединенными соответствующими операторами: константы; функции и процедуры; объектные свойства; переменные.
Оценка выражения. Порядок, в котором Visual Basic оценивает операции выражения, рассмотрены выше, в разделе "Старшинство операторов".
Выражение оценивается для получения значения, которое представляет это выражение. Оценка выражения включает вычисления в функциях и выполнение специфицированных инструкций. Когда выполнено вычисление в функции, функция заменяется ее возвращаемым значением. Так как выражение представляет значение, каждое выражение имеет тип данного. Отдельные элементы, составляющие выражение, также имеют типы данных.
Когда в выражении объединяются элементы различных типов, то для упрощения выражения и результата Visual Basic выполняет неявные преобразования типов данных.