- •Базы данных
- •Введение
- •Часть 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.3. Константы
В процессе программирования часто будет обнаруживаться, что код содержит постоянные значения, которые появляются много раз. Могут также возникать случаи, когда код зависит от некоторых величин, которые программисту трудно запомнить, — это могут быть числа, сами по себе не имеющие никакого очевидного значения.
В этих случаях значительно повысить удобочитаемость текста кода и облегчить его сопровождение можно вводом констант. Константа — некое описательное мнемоническое имя, которое используется вместо числа или строки, неизменных в течение работы программы. Хотя константа в применении несколько похожа на переменную, изменять константу или назначать ей новое значение нельзя. Имеется два вида констант:
• встроенные и системные константы обеспечиваются инструментальными приложениями и элементами управления. Константы содержатся в объектных библиотеках Access, Visual Basic для приложений (VBA) и DAO. Просмотреть и выбрать их можно в окне Просмотр объектов. Другие приложения, которые содержат объектные библиотеки, такие как Microsoft Excel и Microsoft Project, также предоставляют наборы констант, которые можно адресовать через окно диалога Ссылки и использовать с объектами, методами и свойствами этих приложений. Константы также определены в библиотеке объектных модулей для каждого элемента управления ActiveX;
• символические, или пользовательские, константы, объявляемые в инструкции Const.
В Visual Basic имена констант приводятся в формате смешанного регистра, с префиксом, указывающим библиотеку объектных модулей, в которой данная константа определена. Имена констант объектных библиотек Visual Basic и Visual Basic для приложений предваряются префиксом "Vb" — например, vbTileHorizontal. Константы из объектной библиотеки доступа к данным DAO содержат префикс "db" — например, dbRelationUnique, а константы Access — префикс "Ас", например, AcDataTransferType.
Префиксы предназначены для предотвращения случайных конфликтов в ситуациях, когда константы имеют идентичные имена, но представляют различные значения. Однако, даже с префиксами, возможны случаи, когда две объектные библиотеки содержат идентичные константы с разными значениями. Какая константа в этом случае будет адресоваться, зависит от того, у какой библиотеки выше приоритет. Изменить приоритет объектных библиотек можно кнопками Приоритет в окне диалога Ссылки меню Сервис.
Чтобы быть абсолютно уверенным в отсутствии пересечений имен констант, можно квалифицировать обращения к константам со следующим синтаксисом:
[имя_библиотеки.][имя_модуля.]имя_константы
имя_библиотеки— обычно имя класса элемента управления или библиотеки.
имя_модуля— имя модуля библиотеки, в котором определена константа.
имя_константы — имя константы. Каждый из этих элементов определен в библиотеке объектных модулей и может быть доступен в окне Просмотр объектов.
Создание пользовательских констант. Синтаксис объявления пользовательской константы следующий:
[Public|Private] Const имя_константы [As тип] = выражение
Параметр имя_константы — допустимое символическое имя (правила — те же, что и для имен переменных); выражение составляется из числовых или строковых констант и операторов. В выражении, однако, нельзя использовать обращения к функциям.
Инструкцией Const можно объявлять:
• математическое значение, дату/время:
Const conPi = 3.14159255358979 Public Const conPlanets As Integer = 9
Const conDate = #1/1/97#
• строковые константы:
Public Const conVersion = "08.10.A"
Const conName = "Access"
В одной инструкции можно объявить несколько констант, отделяя их запятыми:
Public Const conPi = 3.14, conPlanets = 9, conRussiaPop = 1.7E+08
Выражение справа от знака равенства (=) — число или литеральная строка, но это может быть и выражение, значением которого также является число или строка. Определять константы можно так же с привлечением ранее определенных констант: Const conPi2 = conPi * 2