Новый учебный план

Материал из GedeminWiki
Перейти к: навигация, поиск

Содержание

Занятие 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.
  • Пример создания макроса импорта банковской выписки с использованием регулярных выражений.

Занятие 12

Динамическое создание компонентов.

Занятие 13

Управление кадрами.

  • Знакомство со справочниками по зарплате и отделу кадров:
    • Заполнение справочников различных категорий.
    • Создание графика рабочего времени.
  • Структура документов отдела кадров:
    • График отпусков.
    • Журнал больничных листов.
    • Трудовой договор (контракт).
    • Штатное расписания.
    • Документы кадрового движения сотрудника (приказы):
      • Приказ о приеме на работу.
      • Приказ о переводе.
      • Изменение условий работы.
      • Приказ об увольнении.
    • Приказы о предоставлении отпуска:
      • Трудовой отпуск.
      • Социальный отпуск.
    • Личная карточка и ее справочники.

Занятие 14

Основные принципы работы подсистемы "Заработная плата". Её настройка.

  • Настройка подситемы:
    • Документ "Параметры".
    • Справочник виды начислений.
    • Справочник групп начислений.
    • Переменные.
  • Принцип итогового расчета.
    • Функции расчета и проверки.
    • Быстрый итоговый расчет.
  • Заполнение начальных данных.
    • Начальное формирование.
    • Налогообложение.
    • Пособия на детей.
    • Алименты.
    • Необлагаемые суммы.

Занятие 15

  • Документы расчета заработной платы.
    • Табель отработанного времени.
    • Документы начислений:
      • Начисление по окладу.
      • Начисление за повременную работу.
      • Бригадный наряд.
      • Начисление отпусков.
      • Начисление больничных.
      • За выслугу лет.
      • Начисление доплаты за период.
      • Индивидуальный наряд.
      • Ручной ввод.
    • Итоговое начисление.
    • Ведомость выдачи зарплаты.
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты