Новый учебный план
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) (→Занятие 10) |
SYSDBA (обсуждение | вклад) (→Занятие 11) |
||
| Строка 178: | Строка 178: | ||
=== Занятие 11 === | === Занятие 11 === | ||
| − | * Знакомство с регулярными выражениями. Использование регулярных выражений для поиска информации в таблице (автофильтр). | + | * Знакомство с [[Регулярные выражения|регулярными выражениями]]. Использование регулярных выражений для поиска информации в таблице (автофильтр). |
| − | * Использование объекта VBScript.RegExp в макросах. | + | * Использование объекта VBScript.RegExp в макросах. Свойства и методы объекта: |
| − | * Пример создания макроса импорта банковской выписки с использованием регулярных выражений. | + | ** Global |
| + | ** MultiLine | ||
| + | ** IgnoreCase | ||
| + | ** Pattern | ||
| + | ** Test | ||
| + | ** Execute | ||
| + | * Работа с коллекциями Matches и SubMatches. | ||
| + | * Пример создания макроса [[Импорт банковской выписки|импорта банковской выписки]] с использованием регулярных выражений. | ||
Версия 17:47, 27 февраля 2007
Содержание |
Занятие 1
- Платформа Гедымин, как пост-реляционные технологии. Использование реляционной СУБД для хранения объектов. Объектный и традиционный доступ к данным в базе.
- Сервер Interbase/Firebird. Экскурс в историю. Основные возможности. Преимущества перед конкурирующими продуктами. РСУБД с открытым исходным кодом.
- Архитектура клиент-сервер. Клиентская и серверная части. Взаимодействие между клиентом и сервером по протоколу TCP/IP. Настройка брандмауэра.
- Структура папок и файлов серверной части Interbase/Firebird. Обзор содержимого папки BIN. Ручная установка сервера. Утилиты instreg и instsvc.
- Обеспечение надежной и бесперебойной работы сервера:
- Использование памяти ECC
- Использование блока бесперебойного питания
- Активизация режима forced writes на уровне базы данных
- Использование файловой системы NTFS
- Использование RAID контроллеров с батарейкой или отключение кэша на запись на жестком диске
- Утилита архивного копирования gbak. Регулярное архивирование базы данных. Архивирование поврежденной базы данных. Восстановление базы данных их архива. Восстановление поврежденной базы данных.
- Понятие страницы базы данных. Размер страницы и размер буффера кэша. Поиск оптимальных значений.
Занятие 2
- Язык запросов к базе данных SQL. Подмножества языка SQL: язык определения структур данных DDL и язык манипуляции данными DML.
- Основные объекты метаданных реляционной базы данных: таблицы, домены, триггеры, хранимые процедуры, ограничения.
- Таблицы. Создание таблицы с помощью оператора CREATE TABLE. Изменение таблицы с помощью оператора ALTER TABLE. Удаление таблицы с помощью DROP TABLE.
- Правила именования объектов базы данных. Использование префиксов для разделения пространств имен.
- Типы данных: числовые (целые, с плавающей и фиксированной точкой), дата и время, строковые типы.
- INTEGER, SMALLINT
- DOUBLE PRECISION, SINGLE PRECISION
- NUMERIC, DECIMAL
- DATE, TIME, TIMESTAMP
- CHAR, VARCHAR
- Ограничения на колонки данных: NOT NULL, UNIQUE, CHECK
- Задание значения по-умолчанию с помощью секции DEFAULT. Метапеременные для полей типа дата и время: CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, NOW.
- Вставка данных с помощью оператора INSERT. Полный и сокращенный формат синтаксиса оператора INSERT.
- Создание вычисляемого поля.
- Создание своих типов данных. Операторы CREATE DOMAIN, ALTER DOMAIN, DROP DOMAIN. Использование доменов при добавлении колонок в таблицу.
- Ограничение PRIMARY KEY. Понятие первичного ключа таблицы.
- Внешние ссылки на записи в других таблицах. Создание ограничения FOREIGN KEY.
Занятие 3
- Натуральные и суррогатные первичные ключи. Кандидат на первичный ключ.
- Формирование значения суррогатного первичного ключа с помощью генератора.
- Создание генератора CREATE GENERATOR
- Присвоение начального значения генератору SET GENERATOR TO...
- Получение значения генератора GEN_ID
- Понятие триггера. События: BEFORE INSERT, AFTER INSERT, BEFORE UPDATE, AFTER UPDATE, BEFORE DELETE, AFTER DELETE.
- Порядок выполнения триггеров. Позиция триггера. Включение и выключение триггера.
- Создание триггера, изменение триггера, удаление триггера.
- Доступ к данным записи в триггере. Метапеременные OLD и NEW.
- Учебный пример.
- Создание необходимых типов данных. Понятие кодовой таблицы CHARACTER SET и сличения COLLATION для строковых полей.
- Создание таблицы со списком футбольных команд.
- Создание триггера для присвоения значения первичному ключу.
- Создание таблицы для хранения результатов матчей.
- Настройка внешних ссылок. Секции ON UPDATE и ON DELETE при определении FOREIGN KEY.
- Создание таблицы для хранения статистики.
- Настройка триггеров для обновления статистической информации.
Занятие 4
- Понятие транзакции, как логической группы операций над данными в базе. Применение транзакций для поддержания логической целостности данных в базе. Подтверждение (COMMIT) транзакции. Откат (ROLLBACK) транзакции.
- Понятие конкурирующих транзакций (чтение и изменение одной и той же записи в двух разных транзакциях). Версионность записей.
- Параметры транзакции:
- READ COMMITTED и SNAPSHOT транзакции.
- WAIT и NOWAIT транзакции.
- Конфликты блокировок записи (deadlock).
- Реализация вложенных транзакций с помощью точек сохранения. Создание точки сохранения SAVEPOINT. Откат данных до точки сохранения ROLLBACK TO SAVEPOINT. Удаление точки сохранения RELEASE SAVEPOINT.
- Работа с транзакциями из макросов. Компонент TIBTransaction.
- Создание компонента.
- Присваивание параметров транзакции. Параметры по-умолчанию.
- Связывание с компонентом подключения к базе данных.
- Связывание с компонентом запросом к базе данных TIBSQL.
- Старт транзакции.
- Чтение и\или изменение данных в рамках транзакции.
- Подтверждение или откат транзакции.
- Поведение транзакции в случае возникновения ошибки в программном коде.
- Автоматическая обработка транзакций в бизнес-объектах. Ручное управление транзакциями в бизнес-объектах.
- Понятие мягкого комита или отката транзакции (COMMIT RETAINING, ROLLBACK RETAINING).
Занятие 5
- Хранимые процедуры. Преимущества: выполнение на сервере, компиляция в момент создания.
- Создание хранимой процедуры. Два вида хранимых процедур. Входящие и исходящие параметры.
- Создание хранимых процедур. Команды CREATE PROCEDURE и RECREATE PROCEDURE.
- Язык хранимых процедур:
- Объявление и использование локальных переменных
- Присвоение значений переменным
- FOR SELECT ... INTO ... DO ...
- IF () THEN ... ELSE ...
- WHILE () DO ...
- WHEN ... DO ...
- Использование хранимых процедур в запросе.
- Исключения. Создание исключения -- команда CREATE EXCEPTION. Вызов исключения из тела процедуры или триггера.
- Представление. Преимущества использования представлений. Создание представления -- команда CREATE VIEW. Использование представлений в запросе. Обновляемые представления.
- Индексы. Создание индекса -- команда CREATE INDEX. Использование индекса в запросе.
Занятие 6
- Системные таблицы Interbase/Firebird:
- RDB$RELATIONS -- список таблиц и представлений;
- RDB$RELATION_FIELDS -- список полей таблиц и представлений;
- RDB$FIELDS -- список доменов (типов данных);
- RDB$PROCEDURES -- список хранимых процедур;
- RDB$TRIGGERS -- список триггеров;
- RDB$TRIGGERS -- список генераторов;
- RDB$DEPENDENCIES -- список зависимостей между объектами БД;
- Другие RDB$ таблицы;
- Определение зависимостей между объектами в БД;
- Изменение информации в системных таблицах: за и против. Пример модификации формулы вычисляемого поля через изменение записи в системных таблицах:
- Применение встроенных функций в SQL запросах:
- IIF
- COALESCE
- NULLIF
- CASE
- SUBSTRING, LENGTH
- EXTRACT
- Преобразование типов данных с помощью оператора CAST;
- Использование JOIN и LEFT JOIN в запросах;
- Использование UNION и UNION ALL.
Занятие 7
- Обзор системы разграничения прав доступа стандарта SQL.
- Обзор системы разграничения прав доступа платформы Гедымин.
Занятие 8
- Аутентификация пользователя сервера Interbase/Firebird. Понятие учетной записи.
- Cоздание/изменение/удаление учетных записей с помощью утилиты командной строки gsec. Синтаксис подключения к базе данных. Работа в интерактивном режиме. Основные команды.
- Хранение списка учетных записей на сервере в базе данных isc4.gdb.
- Учетная запись SYSDBA. Ее предназначение. Понятие владельца объекта метаданных.
- Назначение привелегий доступа с помощью команды GRANT. Отзыв привелегий с помощью команды REVOKE.
- Виды привелегий: SELECT, UPDATE, DELETE, REFERENCE, EXECUTE, ALL.
- Назначение привелегий на таблицу/представление целиком или на отдельные колонки.
- Назначение привелегий доступа пользователю, группе пользователей или всем пользователям (PUBLIC).
- Назначение привелегий хранимой процедуре или триггеру для доступа к таблице.
- Понятие роли. Создание роли с помощью команды CREATE ROLE. Присвоение учетной записи права на использование роли с помощью команды GRANT. Хранение списка ролей в базе данных. Таблица RDB$ROLES.
- Организация аутентификации пользователя платформы Гедымин.
- Понятие учетной записи платформы Гедымин. Хранение учетных записей в базе данных. Таблица GD_USER.
- Связь между учетной записью платформы Гедымин и учетной записью сервера Interbase/Firebird. Создание учетной записи сервера Interbase при создании учетной записи платформы Гедымин.
- Учетная запись Administrator и ее сопоставление пользователю SYSDBA.
- Процесс подключения к базе данных платформы Гедымин и его основные элементы:
- Окно выбора базы данных, ввода учетной записи и пароля.
- Считывание информации о подключении из системного реестра.
- Подключение к серверу под учетной записью STARTUSER.
- Процедура GD_P_SEC_LOGINUSER.
- Подключение под учетной записью пользователя.
- Перенос файла базы данных на другой сервер. Пересоздание учетных записей пользователей сервера Interbase/Firebird.
- Перенос базы данных на "чистый" сервер. Создание учетной записи STARTUSER.
- Разграничение доступа к файлу базы данных:
- Использование выделенного сервера для работы с базой данных.
- Использование съемных носителей информации для работы с базой данных.
- Использование шифрования файлов операционной системой.
Занятие 9
- Группы пользователей. Таблица GD_USER. Ограничение на количество групп пользователей в системе. Идентификатор группы пользователей. Шесть стандартных групп и их предназначение.
- Дескриптор безопасности как 32-х битная маска групп пользователей. Дескрипторы AVIEW, ACHAG и AFULL.
- Понятие о доступе к классу и экземпляру класса (записи).
- Назначение прав доступа на классы для групп пользователей в Исследователе системы.
- Назначение прав доступа на существующие записи в базе с помощью диалогового окна редактирования группы пользователей.
- Назначение прав доступа на запись с помощью команды Свойства.
- Блокировка периода. Реализация блокировки с помощью триггеров на таблицы проводок, документов и складского движения. Исключение заданных групп пользователей и типов документов из блокировки периода. Хранение даты блокировки в генераторе GD_G_BLOCK.
- Политики системной безопасности.
- Сложные сценарии разграничения доступа. Присваивание значений дескрипторам безопасности в методе BeforePost бизнес-класса.
Занятие 10
- Понятие уникального идентификатора записи РУИД. Формирование РУИДа на основе идентификатора записи и идентификатора базы данных. Генераторы gd_g_unique, gd_g_offset, gd_g_dbid. Первоначальное присвоение значения генератора gd_g_dbid. Алгоритм формирования уникального идентификатора базы данных.
- Хранилище и его предназначение для хранения структурированной иерархической информации. Применение Хранилища для хранения настроек программы. Сравнение с реестром операционной системы Windows. Почему в Гедымине применяется своя система хранения настроек?
- Объекты Хранилища: Папки и Значения. Древовидная структура папок. Типы данных значений: целочисленный, дробный, дата и время, строка, двоичный объект.
- Работа с Хранилищем с точки зрения пользователя. Окно Хранилища. Создание, изменение, удаление папок и значений. Поиск папок и значений. Просмотр свойств папки.
- Добавление в настройку элементов Хранилища. Почему следует добавлять значение, а не папку? Какие существуют исключения из этого правила?
- Перенос данных хранилища между базами данных. Сохранение данных Хранилища в файле. Форматы файлов данных Хранилища.
- Виды Хранилищ платформы Гедымин: Глобальное, Пользовательское, Хранилище Компании и Рабочего стола.
- Хранение данных Хранилища каждого вида в базе. Таблицы: GD_GLOBALSTORAGE, GD_USERSTORAGE, GD_COMPANYSTORAGE и GD_DESKTOP.
- Работа с Хранилищем с точки зрения разработчика. Глобальные объекты и их методы и свойства.
- Загрузка Хранилища в оперативную память компьютера. Кэширование данных Хранилища на локальном жестком диске. Синхронизация данных Хранилища в оперативной памяти компьютера с базой данных. В чем особенности функционирования глобального хранилища? В чем особенности работы с хранилищем под учетной записью Администратор?
- Типовые приемы работы с хранилищем из макросов. Считывание/изменение одиночного значения. Считывание/изменение группы значений. События экранных форм: LoadSettingsAfterCreate и SaveSettings.
Занятие 11
- Знакомство с регулярными выражениями. Использование регулярных выражений для поиска информации в таблице (автофильтр).
- Использование объекта VBScript.RegExp в макросах. Свойства и методы объекта:
- Global
- MultiLine
- IgnoreCase
- Pattern
- Test
- Execute
- Работа с коллекциями Matches и SubMatches.
- Пример создания макроса импорта банковской выписки с использованием регулярных выражений.