SQLсервер в Linux -самостоятельное освоение пакета


           

SQLсервер в Linux -самостоятельное освоение пакета

PostgreSQL заслуженно считается одной из лучших СУБД, распространяемых с открытыми текстами, а по своим возможностям PostgreSQL успешно конкурирует со многими коммерческими пакетами.
Настоящая книга была задумана как практическое руководство по PostgreSQL версии 7.1.x, хотя большая часть материала в равной степени относится как к предыдущим, так и к будущим версиям PostgreSQL. При подборе материала авторы стремились к тому, чтобы читатель как можно быстрее освоил практические навыки работы с PostgreSQL. Хотя в книге затрагиваются некоторые теоретические аспекты функционирования СУБД, подобные теоретические отступления будут относительно короткими. Прежде всего, мы стремились к тому, чтобы полученные знания позволили читателю самостоятельно создать работоспособную базу данных PostgreSQL и обеспечить ее дальнейшее сопровождение. Надеемся, книга поможет всем, кто хочет ближе познакомиться с СУБД PostgreSQL и ее возможностями.
Книга ориентирована на широкий круг читателей, интересующихся объектно-реляционной системой управления базами данных (ОРСУБД) PostgreSQL. Предполагается, что читатель знаком с системами Linux и Unix, хотя и не является экспертом в области баз данных. Хотя все примеры тестировались в системе Red Hat Linux, практически весь материал относится к большинству систем семейства Unix.

Введение
Книга ориентирована на широкий круг читателей, интересующихся объектно-реляционной системой управления базами данных (ОРСУБД) PostgreSQL. Предполагается, что читатель знаком с системами Linux и Unix, хотя и не является экспертом в области баз данных. Хотя все примеры тестировались в системе Red Hat Linux, практически весь материал относится к большинству систем семейства Unix.

Платформа и версия PostgreSQL
Принятые обозначения

Что такое PostgreSQL?
PostgreSQL - - объектно-реляционная система управления базами данных (ОРСУБД), разработка которой в различных формах ведется с 1977 года. Работа началась с проекта Ingres в Калифорнийском университете (Беркли). Затем проект Ingres был переведен на коммерческую разработку в корпорации Relational Technologies/Ingres.

Что такое PostgreSQL?
Бесплатная версия
Коммерческие продукты семейства PostgreSQL
Продукты бесплатные и коммерческие
Выводы
Поддержка сообщества PostgreSQL
Возможности PostgreSQL
Что дальше?

Краткий курс SQL
В этой главе описывается история SQL и основные концепции языка. На базе материала строится следующая глава, посвященная использованию SQL в Post-greSQL. В частности, в ней изложены основные принципы работы реляционных баз данных, описаны объектно-реляционные расширения и структура команд SQL, а также приводится краткий обзор поддерживаемых в PostgreSQL типов данных, операторов и функций.

Символьные типы
Символьные типы
Числовые типы
Числовые типы PostgreSQL
Тип money
Использование типа numeric вместо money
Тип serial
Использование типа serial
Решение задачи вручную
Дата и время

SQL в PostgreSQL
Наше знакомство с языком SQL продолжается. На этот раз основное внимание мы уделим практическим аспектам его применения. В этой главе будет показано, как при помощи команд SQL создавать таблицы, заполнять их данными и модифицировать эти данные.

Сортировка записей
Использование секции ORDER BY
Показывает что записи
Секция ORDER BY с несколькими выражениями
Использование секции DISTINCT с ORDER BY
Выбор интервалов записей
Использование секций LIMIT и OFFSET
Сравнение наборов записей
Использование секции UNION
Использование секции INTERSECT

Операторы и функции
В PostgreSQL поддерживаются стандартные операторы и функции SQL, определенные в стандартах ANSI/ISO, — математические операторы, основные функции форматирования текста, выделение компонентов даты/времени и т. д. Кроме того, в PostgreSQL реализованы многочисленные нестандартные расширения, в том числе операторы поиска по регулярным выражениям и универсальная функция форматирования данных to_char().

Операторы и функции
Использование функций
Математические функции
Математические функции PostgreSQL
Пример 1
Пример 2
Пример 3
Пример 4
Пример 5
Пример 6

Нетривиальные возможности
Рассматриваются нетривиальные возможности PostgreSQL, в том числе оптимизация доступа к таблицам с использованием индексов, наследование и установка ограничений для таблиц, практическое применение массивов в значениях полей, работа с транзакциями и курсорами. Все перечисленные возможности выгодно отличают PostgreSQL от других реляционных СУБД.

Индексы
Создание индекса
Построение индекса
Автоматическое построение индекса
Уникальные индексы
Создание уникального индекса
Типы индексов
Выбор типа индекса
Функциональные индексы
Построение функционального индекса

Структуры данных и модели вычислений

Наряду с получением верхних и нижних оценок и оценок в среднем, часто используются так называемые амортизационные оценки.
Амортизационный анализ применяется при оценке времени выполнения корректной последовательности, состоящей из однотипных или разнотипных операций с некоторой структурой данных. Если верхнюю оценку времени выполнения одной операции умножить на , получим верхнюю оценку выполнения всех операций. Часто такая оценка бывает сильно завышенной. Иногда длительное время выполнения очередной операции влечет за собой малое время выполнения следующих операций. Более того, такая ситуация может создаваться искусственно, то есть при выполнении очередной операции мы можем готовить почву для более эффективного выполнения следующей. Поэтому возникает задача изучения асимптотического поведения гарантированной оценки для среднего времени выполнения одной операции.
При амортизационном анализе определяется некоторая так называемая учетная (амортизационная) стоимость одной операции, которая может быть как больше, так и меньше реальной стоимости конкретной операции. Но при этом для любой корректной последовательности операций фактическая суммарная длительность всех операций не должна превосходить суммы их учетных стоимостей.

Классы функций, используемые для оценки сложности алгоритмов
Метод потенциалов. Этот метод является обобщением метода предоплаты. Здесь резерв определяется функцией состояния структуры данных в целом. Эта функция называется потенциалом. Общая схема метода такова. Пусть над структурой данных предстоит произвести операций, и пусть — состояние структуры данных после -й операции ( — исходное состояние).

Амортизационный анализ
Амортизационный анализ - 2
Анализ работы двоичного счетчика
Анализ работы двоичного счетчика - 2
Классы функций для оценки сложности
Амортизационный анализ
Амортизационный анализ - 2
Анализ работы счетчика

Общие сведения о списках
Остановимся на наиболее часто используемых структурах данных, называемых списками. Списки лежат в основе многих более сложных структур данных. В простейшем случае списки используются для представления кортежей. Кортеж — это конечная последовательность, возможно с повторениями, элементов некоторого множества . Элементами кортежа могут быть числа, символы некоторого алфавита, точки плоскости и т.д. В более сложных случаях элементами кортежа, в свою очередь, могут быть также кортежи

Общие сведения о списках
Общие сведения о списках - 2
Общие сведения о списках - 3
Общие сведения о списках - 4
Списки с прямым доступом
Списки с последовательным доступом
Списки с последовательным доступом - 2
Некоторые операции со связными списками
Моделирование списков при помощи массивов
Деревья и графы

Операции над разделенными множествами
Как правило, в таких задачах вычисления начинаются с пустой коллекции подмножеств (). Затем по мере вычислений формируются новые подмножества, включаемые в коллекцию. Формирование новых подмножеств происходит либо путем создания одноэлементного подмножества, либо путем объединения уже существующих в коллекции подмножеств. Для осуществления таких действий используются имена включенных в коллекцию подмножеств.

Примеры использования разделенных множеств
Представление разделенных множеств
Реализация операций с помощью массива
Представление множеств древовидной структурой
Реализация операций древовидной структуры
Представление множеств - ранги вершин
Операции с использованием рангов вершин
Операции с использованием рангов вершин - 2
Представление с рангом вершин и сжатия путей
Анализ трудоемкости

Представление приоритетной очереди с помощью d-кучи
Приоритетная очередь — это абстрактный тип данных, предназначенный для представления взвешенных множеств. Множество называется взвешенным, если каждому его элементу однозначно соответствует число, называемое ключом или весом. Основными операциями над приоритетной очередью являются следующие операции: ВСТАВИТЬ в множество новый элемент со своим ключом.НАЙТИ в множестве элемент с минимальным ключом. Если элементов с минимальным ключом несколько, то находится один из них. Найденный элемент не удаляется из множества.УДАЛИТЬ из множества элемент с минимальным ключом. Если элементов с минимальным ключом несколько, то удаляется один из них.

Операции с d-кучей
Операции с d-кучей - 2
Применение в задаче сортировки
Бесхитростная сортировка в памяти
Сортировка методом "разделяй и властвуй".
Сортировка "слиянием".
Сортировка с помощью d-кучи.
Нахождение кратчайших путей в графе
Алгоритм Дейкстры
Основные определения

Левосторонние кучи
Левосторонняя куча — это представление приоритетной очереди с помощью так называемого левостороннего бинарного дерева. При реализации приоритетных очередей левосторонними кучами предусматривается возможность их объединения.

Левосторонние кучи
Свойства левостороннего дерева
Операции с левосторонними кучами
Данные о трудоемкости операций с кучами
Левосторонние кучи
Свойства левостороннего дерева
Операции с левосторонними кучами
Операции с левосторонними кучами - 2
Операции с левосторонними кучами - 3
Операции с левосторонними кучами - 4

Ленивая левосторонняя куча
Ленивая левосторонняя куча — это представление приоритетной очереди левосторонним деревом, но при этом, в отличие от обычной левосторонней кучи, каждый узел может содержать, а может и не содержать в себе (быть пустым) элемент приоритетной очереди. Для реализации ленивой левосторонней кучи к каждому узлу добавляется еще одно поле, для хранения признака, содержит ли данный узел элемент или является пустым.

Ленивая левосторонняя куча
Трудоемкость операций с ленивыми кучами
Самоорганизующаяся куча
Трудоемкость операций с самоорганизующимися
Ленивая куча
Операции с левосторонними кучами
Самоорганизующаяся куча
Самоорганизующаяся куча - 2

Биномиальные кучи
Для каждого биномиальное дерево определяется следующим образом: — дерево, состоящее из одного узла высоты ; далее при дерево высоты формируется из двух деревьев , при этом корень одного из них становится потомком корня другого

Биномиальные кучи
Свойства биномиальных деревьев
Фибоначчиевы кучи
Фибоначчиевы кучи - 2
Биномиальные кучи
Свойства биномиальных деревьев

Представление тонкой кучи в памяти компьютера
Рассматриваемые здесь тонкие и, в следующей лекции, толстые кучи предложены М.Фредманом и Х.Капланом как альтернатива фибоначчиевым кучам. Долгое время фибоначчиевы кучи считались рекордными по производительности. Оценки операций над фибоначчиевыми кучами имеют амортизационный характер, а скрытые в них константы велики настолько, что реальный выигрыш во времени работы с ними достигался только на данных "астрономических" размеров.

Основные определения
Основные определения - 2
Представление тонкой кучи в памяти компьютера.
Реализация основных операций
Основные определения
Основные определения - 2
Представление тонкой кучи в памяти компьютера.
Оценка трудоемкости

Избыточное представление чисел
Рассматриваемое в этой лекции представление приоритетной очереди основано на использовании так называемых избыточных счетчиков, позволяющих за время O(1) инкрементировать любой разряд. Заметим, что использованные здесь счетчики — лишь один из способов реализации толстых куч. На самом деле, для их реализации подойдет произвольный d-арный счетчик, при условии, что трудоемкость инкрементирования любого его разряда является константной.

Толстые деревья
Толстая куча
Вспомогательные структуры
Вспомогательные структуры - 2
Вспомогательные процедуры
Вспомогательные процедуры - 2
Основные операции
Основные операции - 2
Избыточное представление чисел
Толстые деревья

Представление двоичных деревьев поиска
Деревья поиска предназначены для представления словарей как абстрактного типа данных. Как и приоритетные очереди, они представляют взвешенные множества, но с другим набором операций, а именно: Search — поиск элемента с заданным ключом.Minimum — поиск элемента с минимальным ключом.Maximum — поиск элемента с максимальным ключом.Predecessor — поиск элемента с предыдущим ключом.

Представление двоичных деревьев поиска
Операции с двоичным поисковым деревом
Добавление элемента.
Удаление элемента
Упражнения
Случайные двоичные деревья поиска
Красно-черные деревья
Свойства красно-черных деревьев
Упражнения
Упражнения - 2

Исторические сведения
Пусть задано диофантово уравнение с произвольными неизвестными и целыми рациональными числовыми коэффициентами. Указать способ, при помощи которого возможно после конечного числа операций установить, разрешимо ли это уравнение в целых рациональных числах

Тьюрингова модель переработки информации
Тьюрингова модель переработки информации - 2
Алгебра тьюринговых программ
Начальное математическое обеспечение
Методика доказательства правильности программ
Вычислимость и разрешимость
Вычисление числовых функций
Частично-рекурсивные функции
Частично-рекурсивные функции - 2
Универсальная тьюрингова программа

Абак
Абак наряду с машинами Тьюринга является одной из простейших универсальных моделей вычислений. Это числовая модель; элементами информации являются целые неотрицательные числа. Память представляет собой потенциально бесконечный набор ячеек, каждая ячейка может содержать любое целое неотрицательное число. Считается, что ячейки пронумерованы числами

Примеры неразрешимости
Примеры неразрешимости - 2
Алгорифмы Маркова
Равнодоступная адресная машина
Равнодоступная адресная машина - 2
Абак
Примеры неразрешимости
Примеры неразрешимости - 2
Алгорифмы Маркова
Равнодоступная адресная машина

Способы задания формальных языков
Алфавит — конечное множество абстрактных символов, как правило, упорядоченное в так называемом алфавитном порядке. Слово (в алфавите ) — конечная последовательность символов (алфавита). Длина слова— количество вхождений символов в слово. Длина слова , обычно обозначается . Пустое слово — пустая последовательность, то есть последовательность, не содержащая ни одного символа. Пустое слово, соблюдая традиции, часто обозначают греческой буквой , полагая при этом, что она не является символом рассматриваемого алфавита.

Способы задания формальных языков
Регулярные выражения
Решение уравнений в словах
Автоматное задание языков
Автоматное задание языков - 2
Конечные автоматы в программировании
Конечные автоматы в программировании - 2
Основные понятия и обозначения
Способы задания формальных языков
Регулярные выражения

Язык предикатов Теоретические исследования математических моделей вычислений играют важную роль в формировании технологии использования компьютерной техники. Каждая такая модель вносит свой вклад в реальную технологию. Развитие технологии в обход теоретических исследований часто приводит к неуклюжим, трудным для восприятия и, в конечном счете, малопроизводительным видам деятельности.

Язык предикатов
Язык предикатов - 2
Некоторые сведения из математической логики
Некоторые сведения из математической логики - 2
Элементы языка Пролог
Элементы языка Пролог - 2
Язык предикатов
Язык предикатов - 2
Язык предикатов - 3
Язык предикатов - 4

Серверы корпоративных баз данных

Как правило, термины серверы рабочих групп и сетевые серверы используются взаимозаменяемо. Сервер рабочей группы может быть сервером, построенным на одном процессоре компании Intel, или суперсервером (с несколькими ЦП), подобным изделиям компаний Compaq, HP, IBM и DEC, работающим под управлением операционной системы Windows NT. Это может быть также UNIX-сервер начального уровня компаний Sun, HP, IBM и DEC.
По мере постепенного вовлечения локальных сетей в процесс создания корпоративной вычислительной среды, требования к серверам рабочих групп начинают включать в себя требования, предъявляемые к серверам масштаба предприятия. Для этого прежде всего требуется более мощная сетевая операционная система. Таким образом, в настоящее время между поставщиками UNIX-систем, а также систем на базе Windows NT, увеличивается реальная конкуренция.
Рынок северов локальных сетей/рабочих групп представляет собой быстро растущий сегмент рынка. В период 1995-1996 годов мировой рынок серверов локальных сетей вырос на 32% по количеству поставок и на 39% по прибыли. Аналитическая компания IDC считает, что в период 1995-2000 года ежегодные темпы роста в этом секторе рынка будут составлять 16.1% по числу поставок и 16.9% - по прибыли. При этом IDC прогнозирует ежегодные темпы роста количества поставок мало масштабируемых UNIX-систем в 13%, а темпы роста количества поставок UNIX ПК в 8.9%.

Основы конфигурирования серверов баз данных
Появление в 80-х годах персональных компьютеров (ПК) и локальных сетей ПК самым серьезным образом изменило организацию корпоративных вычислений. Однако и сегодня освоение сетевых вычислений в масштабе предприятия и Internet продолжает оставаться не простой задачей. В отличие от традиционной, хорошо управляемой и безопасной среды вычислений предприятия, построенной на базе универсальной вычислительной машины (мейнфрейм) с подсоединенными к ней терминалами, среда локальных сетей ПК плохо контролируется, плохо управляется и небезопасна. С другой стороны, расширенные средства сетевой организации делают возможным разделение бизнес-информации внутри групп индивидуальных пользователей и между ними, внутри и вне корпорации и облегчают организацию информационных процессов в масштабе предприятия.

Основы конфигурирования серверов баз данных
Характеристики рабочей нагрузки (тесты TPC)
Что такое TPC
Типовая среда обработки транзакций и тесты TPC
Выбор конфигурации сервера СУБД
Предпосылки выбора
Выбор вычислительной модели
Сравнение модели клиент/сервер
Мониторы обработки транзакций
Гибкость доступа к данным

Серверы компании IBM
Несмотря на пережитые в последние годы финансовые трудности, корпорация IBM остается самой большой и мощной компьютерной компанией в мире. Ее присутствие ощущается буквально на всех направлениях развития компьютерного рынка: от чисто научно-исследовательских работ до разработки и производства кристаллов, от производства персональных компьютеров до создания самых мощных систем класса "мейнфрейм".

Семейство RS/6000
Модели C10 и C20 RISC System/6000
Серверы серии 500 RISC System/6000
Модели G40 Server RS/6000
Модели J40 Server RS/6000
Системы SP1 и SP2
Серверы компании Silicon Graphics
Challenge S
Challenge DM
Challenge L

Самоучитель по Delphi 7 для профессионалов

Несколько лет назад книгу по Delphi 2 или 3 надо было начинать с азов объектно-ориентированного программирования (ООП). Многие только переходили к Delphi из DOS, многие использовали Borland Pascal for Windows и работали с Windows API напрямую. Объекты еще были в диковинку, и полное разъяснение новых принципов было просто обязательно.
Но и сейчас писать об этом вполне актуально. Конечно, выросло поколение программистов, которые "с молоком матери" впитали новые понятия. Но от понимания объектов до их грамотного использования — дистанция огромного размера. Для создания более или менее сложных приложений нужны навыки объектно-ориентированного дизайна, а для приложений в свою очередь — четкое знание возможностей вашей среды программирования. Поэтому в данной главе мы постараемся акцентировать внимание читателя на применение ООП в среде Delphi 7.
По сравнению с традиционными способами программирования ООП обладает рядом преимуществ. Главное из них заключается в том, что эта концепция в наибольшей степени соответствует внутренней логике функционирования операционной системы (ОС) Windows. Программа, состоящая из отдельных объектов, отлично приспособлена к реагированию на события, происходящие в ОС. К другим преимуществам ООП можно отнести большую надежность кода и возможность повторного использования отработанных объектов.

Объектно-ориентированное программирование
Несколько лет назад книгу по Delphi 2 или 3 надо было начинать с азов объектно-ориентированного программирования (ООП). Многие только переходили к Delphi из DOS, многие использовали Borland Pascal for Windows и работали с Windows API напрямую. Объекты еще были в диковинку, и полное разъяснение новых принципов было просто обязательно.

Области видимости
Области видимости - 2
Области видимости - 3
Области видимости - 4
Объект изнутри
Объект изнутри - 2
Объект изнутри - 3
Резюме
Объект и класс
Объект и класс - 2

Библиотека визуальных компонентов VCL и ее базовые классы
Все классы библиотеки визуальных компонентов произошли от группы базовых классов, которые лежат в основе иерархии VCL. Самый общий предок компонентов — это класс TObject, инкапсулирующий простейший объект. Как известно (см. гл. 1), каждый объект наследует свойства и методы родительского класса. К объекту можно добавить новые свойства и методы, но нельзя удалить унаследованные. Объект-наследник в свою очередь может стать родительским для нового класса, который унаследует возможности всех своих предков.

Класс TWinControl
Класс TWinControl - 2
Класс TCustomControl
Класс TGraphicControl
Резюме
Иерархия базовых классов
Иерархия базовых классов - 2
Класс TObject
Класс TObject - 2
Класс TObject - 3

Обработка исключительных ситуаций
Любому, кто писал более или менее сложные программы, интуитивно ясно, что такое обработка исключительных ситуаций (ИС). Всякое взаимодействие с операционной системой на предмет получения ресурсов — места на диске, в памяти, открытие файла — может завершиться неудачно. Любое вычисление может закончиться делением на ноль или переполнением. Дополнительный фактор возникновения исключительных ситуаций содержится в данных, к которым могут обращаться программы. Особенно это актуально в приложениях баз данных.

Функция Assert
Резюме
Исключительная ситуация как класс
Исключительная ситуация как класс - 2
Исключительная ситуация как класс - 3
Исключительная ситуация как класс - 4
Защитные конструкции языка Object Pascal
Блок try..except
Блок try..except - 2
Блок try...finally

Кроссплатформенное программирование для Linux
Времена безраздельного господства операционных систем Windows для домашних компьютеров и корпоративных рабочих станций подходят к концу. Все большее число рядовых компьютеров работает под управлением других операционных систем. Среди них по праву выделяется операционная система Linux, сочетающая в себе открытость и хорошие возможности настройки.

Кросс программирование для Linux
Кросс программирование для Linux - 2
Проект CLX
Проект CLX - 2
Объектная концепция кросс программирования
Библиотека компонентов CLX
Сходства визуальных компонентов CLX и VCL
Сходства визуальных компонентов CLX и VCL - 2
Особенности программирования для Linux
Приложения баз данных для Linux

Элементы управления Win32
Элементы управления составляют суть пользовательского интерфейса Windows. Всеми программами нужно управлять более или менее единообразно, поэтому в составе ОС имеется набор типовых кнопок, редактирующих элементов, списков выбора и т. п., которыми вы можете "украсить" свои разработки. Перечень этот постоянно пополняется. Во-первых, не дремлет фирма Microsoft. С новыми версиями ее продуктов (главным образом с MS Internet Explorer) поставляются новые элементы управления; содержатся они в библиотеке ComCtl32.dll. Во-вторых, на ниве их создания подвизаются многочисленные сторонние фирмы, оформляющие свои элементы управления в виде элементов ActiveX (файлов OCX). И. в-третьих, достаточное количество элементов написано прямо в Delphi — как в фирме Borland, так и независимыми разработчиками.

Элементы управления Win32
Панель состояния TStatusBar
Комбинированный список TComboBoxEx
Новый компонент из библиотеки ComCtl32
Новый компонент из библиотеки ComCtl32 - 2
Новый компонент из библиотеки ComCtl32 - 3
Новый компонент из библиотеки ComCtl32 - 4
Новый компонент из библиотеки ComCtl32 - 5
Новый компонент из библиотеки ComCtl32 - 6
Резюме

Элементы управления Windows XP
В Delphi 7 впервые появилась возможность настраивать пользовательский интерфейс приложений для использования в Windows XP. Для этого в состав ресурсов приложения должен включаться манифест Windows XP. Это дополнение призвано обеспечить корректное взаимодействие элементов управления приложения с системной библиотекой ComCtl32.dll версии 6, используемой в Windows XP. Собственно все особенности работы приложений под управлением Windows XP вызваны именно появлением новой версии этой библиотеки. Впрочем, об этом подробно рассказывается ниже.

Пользовательский интерфейс Windows XP
Манифест Windows XP
Компонент TXPManifest
Включение манифеста Win XP в приложение
Визуальные стили и темы оформления
Визуальные стили в Delphi
Визуальные стили в Delphi - 2
Theme API
Theme API - 2
Компоненты настройки цветовой палитры

Списки и коллекции
Практически любое приложение должно уметь выполнять ряд стандартных операций по обработке каких-либо данных. К ним относятся загрузка данных при открытии приложения, представление данных в удобном виде для использования внутри приложения, сохранение данных при завершении работы. Перечисленные действия необходимы и приложениям баз данных, и играм, и научным программам.

Класс TCollectionltem
Резюме
Список строк
Класс TStrings
Класс TStringList
Класс TStringList - 2
Класс TStringList - 3
Класс TStringList - 4
Класс TStringList - 5
Класс TStringList - 6

Действия (Actions) и связанные с ними компоненты
С давних пор повелось, что стандарты на пользовательский интерфейс Windows-приложений Microsoft задает "явочным порядком". Первая громкая история на эту тему связана с появлением в 1994 г. Excel 2.0 for Windows, когда разработчики из Редмонда впервые применили интерфейс со многими документами (впоследствии широко известный как MDI) и даже не подумали задокументировать и опубликовать его. После справедливого возмущения широких кругов программистской общественности Microsoft исправился и теперь новые возможности интерфейса публикуются если не до выхода продукта, то, по крайней мере, ненамного позже. Вспомним, с Internet Explorer появилась панель CoolBar и кнопки, картинки, которые подсвечивались при прохождении над ними курсора мыши. Большинство же новинок связано с флагманским продуктом Microsoft — Office.

Категория File
Категория Dialog
Категория Window
Категория Tab
Категория List
Категория Internet
Категория Format
Категория Dataset
Категория Tools
Компонент TActionManager

Файлы и устройства ввода/вывода
Большинство приложений создаются для того, чтобы обрабатывать данные — это прописная истина. С развитием программных технологий мы имеем возможность получать и посылать все более крупные и сложные массивы данных; однако до сих пор 90% из них хранятся в файлах.

Класс TFileStream
Класс TMemoryStream
Класс TStringStream
Оповещение об изменениях в файловой системе
Использование отображаемых файлов
Использование отображаемых файлов - 2
Использование отображаемых файлов - 3
Резюме
Использование файловых переменных
Операции ввода/вывода

Использование графики
"Одно изображение стоит тысячи слов", — говорил древнекитайский император Сун; его слова верны и в наши времена. 80% информации мозг человека получает по зрительному каналу, и не удивительно, что программисты стараются придать внешнему виду своих программ максимум привлекательности.

Класс Tlcon
Класс TBitmap
Класс TBitmap - 2
Класс TBitmap - 3
Класс TBitmap - 4
Класс TBitmap - 5
Графический формат JPEG. Класс TJPEGImage
Графический формат JPEG. Класс TJPEGImage - 2
Графический формат JPEG. Класс TJPEGImage - 3
Компонент TImage

Архитектура приложений баз данных
Приложение баз данных, как следует уже из его названия, предназначено для взаимодействия с некоторым источником данных — базой данных (БД). Взаимодействие подразумевает получение данных, их представление в определенном формате для просмотра пользователем, редактирование в соответствии с реализованными в программе бизнес- алгоритмами и возврат обработанных данных обратно в базу данных.

Архитектура приложений баз данных
Архитектура приложений баз данных - 2
Как работает приложение баз данных
Как работает приложение баз данных - 2
Модуль данных
Подключение набора данных
Подключение набора данных - 2
Настройка компонента TDataSource
Отображение данных
Отображение данных - 2

Набор данных
Любое приложение баз данных должно уметь выполнять как минимум две операции. Во-первых, иметь информацию о местонахождении базы данных, подключаться к ней и считывать имеющуюся в таблицах БД информацию. Эта функция в значительной степени зависит от реализации конкретной технологии доступа к данным.

Описание индекса
Использование описаний индексов
Параметры запросов и хранимых процедур
Параметры запросов и хранимых процедур - 2
Класс TParams
Класс TParam
Состояния набора данных
Состояния набора данных - 2
Резюме
Абстрактный набор данных

Поля и типы данных
Каждая таблица БД и, следовательно, каждый набор данных приложения имеет собственную структуру, которая определяется совокупностью полей. Каждое поле набора данных представляет собой объект, содержащий описание типа данных, которому должно соответствовать значение, находящееся в записи на определенном месте. Иначе, полем можно назвать совокупность ячеек с данными конкретного типа, расположенных в одном и том же месте каждой записи набора данных, или попросту — это столбец в таблице.

Объектные поля
Типы данных
Типы данных - 2
Ограничения
Ограничения - 2
Ограничения - 3
Резюме
Объекты полей
Статические и динамические поля
Статические и динамические поля - 2

Механизмы управления данными
К ним относятся такие полезные функции, как быстрое перемещение по записям, поиск нужной записи по значениям полей, дополнительная фильтрация записей набора данных без использования возможностей СУБД и т. д. Большинство этих механизмов применяют в своей работе индексы таблиц БД.

Быстрый переход к помеченным записям
Быстрый переход к помеченным записям - 2
Диапазоны
Резюме
Связанные таблицы
Отношение "один- ко- многим"
Отношение "один- ко- многим" - 2
Отношение "многие- ко- многим"
Поиск данных
Поиск по индексам

Компоненты отображения данных
До этого момента мы рассмотрели аспекты создания приложений баз данных, касающиеся организации доступа к данным и создания в приложениях наборов данных. Теперь более подробно остановимся на вопросах отображения данных в приложениях (интерфейс приложений).

Компонент TDBRadioGroup
Компонент TDBListBox
Компонент TDBComboBox
Компонент TDBMemo
Компонент TDBImage
Компонент TDBRichEdit
Синхронный просмотр данных
Механизм синхронного просмотра
Механизм синхронного просмотра - 2
Компонент TDBLookupListBox

Процессор баз данных Borland Database Engine
Любое приложение баз данных имеет в своем составе или использует сторонний механизм доступа к данным, который берет на себя подавляющее большинство стандартных низкоуровневых операций работы с базами данных. Например, любое такое приложение при открытии таблицы БД должно выполнить примерно одинаковый набор операций.

Компонент TQuery
Компонент TStoredProc
Резюме
Архитектура и функции BDE
Архитектура и функции BDE - 2
Архитектура и функции BDE - 3
Псевдонимы баз данных и настройка ВDЕ
Псевдонимы баз данных и настройка ВDЕ - 2
Псевдонимы баз данных и настройка ВDЕ - 3
Псевдонимы баз данных и настройка ВDЕ - 4

Технология dbExpress
Одной из проблем различных технологий доступа к данным, используемым в приложениях Delphi, является трудность распространения готовых приложений. Для BDE требуется отдельная установка, которая занимает порядка 15 Мбайт дискового пространства, а также специальная настройка псевдонимов (см. гл. 16). ADO предустановлена в операционной системе, но нуждается в настраиваемых провайдерах данных (см. гл. 19). При необходимости обновить версию ADO, дистрибутив вашего приложения "потяжелеет" более чем на 2 Мбайт.

Технология dbExpress
Технология dbExpress - 2
Компонент TSQLQuery
Компонент TSQLStoredProc
Компонент TSimpleDataSet
Компонент TSimpleDataSet - 2
Способы редактирования данных
Способы редактирования данных - 2
Способы редактирования данных - 3
Интерфейсы dbExpress

Сервер баз данных InterBase и компоненты InterBase Express
С точки зрения разработчика, за исключением нескольких новых свойств, методика использования этих компонентов в приложениях БД не отличается от стандартной методики (см. часть III). Любой новый компонент, инкапсулирующий набор данных, совершенно обычным образом через компонент TDataSource можно подключить к любому стандартному компоненту отображения данных.

Компонент TIBStoredProc
Компонент TIBDataSet
Компонент TIBSQL
Обработка событий
Информация о состоянии базы данных
Компонент TiBDatabaseinfo
Компонент TIBSQLMonitor
Резюме
Механизм доступа к данным InterBase Express
Компонент TIBDatabase

Использование ADO средствами Delphi
Технология ADO завоевала популярность у разработчиков, благодаря универсальности — базовый' набор интерфейсов OLE DB имеется в каждой современной операционной системе Microsoft. Поэтому для обеспечения доступа приложения к данным достаточно лишь правильно указать провайдер соединения ADO и затем переносить программу на любой компьютер, где имеется требуемая база данных и, конечно, установленная ADO.

Реализация ADO в Delphi
Компоненты ADO
Механизм соединения с хранилищем данных ADO
Компонент TADOConnection
Настройка соединения
Настройка соединения - 2
Настройка соединения - 3
Управление соединением
Управление соединением - 2
Управление соединением - 3

Технология DataSnap. Механизмы удаленного доступа
Палитра компонентов Delphi содержит специальную страницу DataSnap, на которой доступно большинство рассматриваемых в главах этой части компонентов. Однако при разработке многозвенных приложений нам понадобятся и многие другие компоненты, которым также уделено достаточное внимание.

Провайдеры данных
Провайдеры данных - 2
Провайдеры данных - 3
Компоненты — брокеры соединений
Компонент TSimpleObjectBroker
Компонент TLocalConnection
Компонент TSharedConnection
Компонент TConnectionBroker
Резюме
Структура многозвенного приложения в Delphi

Сервер приложения
Многозвенные распределенные приложения обеспечивают эффективный доступ удаленных клиентов к базе данных, так как в них для управления доступом к данным применяется специализированное ПО промежуточного слоя. В наиболее распространенной схеме — трехзвенном приложении — это сервер приложения, который выполняет следующие функции:

Главный удаленный модуль данных
Дочерний удаленный модуль данных
Регистрация сервера приложения
Резюме
Структура сервера приложения
Интерфейс IAppServer
Интерфейс IAppServer - 2
Интерфейс IProviderSupport
Удаленные модули данных
Удаленный модуль для сервера Автоматизации

Клиент многозвенного распределенного приложения
Клиентское ПО в распределенном многозвенном приложении имеет особенности архитектуры, продиктованные его ролью — ведь большая часть бизнес-логики и функций обработки данных сосредоточены в сервере приложений (см. гл. 21). Такая схема призвана обеспечить более высокую эффективность обработки запросов многочисленных удаленных клиентов, а также упрощает обслуживание клиентского ПО. Клиенты, выполняющие лишь необходимый минимум операций, называются "тонкими".

Работа с данными типа BLOB
Представление данных в формате XML
Агрегаты
Объекты-агрегаты
Агрегатные поля
Группировка и использование индексов
Вложенные наборы данных
Свойства полей клиентского набора данных
Обработка ошибок
Обработка ошибок - 2

Компоненты Rave Reports и отчеты в приложении Delphi
Компоненты QReport по-прежнему доступны разработчику — пакет DCLQRT70.BPL все так же занимает прочное место в папке \Delphi7\Bin и может быть установлен в Палитру компонентов обычным способом. Да и было бы странно ожидать другого от фирмы Borland, которая бдительно следит за обратной совместимостью приложений. Посмотрите к примеру на страницу Win 3.1 Палитры компонентов — новые поколения программистов никогда не видели "прабабушку" Windows XP, и все же исторические компоненты занимают свое исконное место!

Компоненты Rave Reports и отчеты в Delphi
Генератор отчетов Rave Reports 5.0
Компоненты Rave Reports и их назначение
Отчет в приложении Delphi
Компонент отчета TRvProject
Компонент отчета TRvProject - 2
Компонент управления отчетом TRvSystem
Резюме

Визуальная среда создания отчетов
Визуальная среда создания отчетов входит в состав генератора отчетов Rave Reports 5.0. В отличие от генератора отчетов Quick Report, который поставлялся с Delphi 6 и более ранними версиями, визуальная среда в Rave Reports значительно облегчает самый трудоемкий этап в процессе создания отчета и его включения в состав приложения — постраничную разработку шаблона отчета.

Штрихкоды
Обработка событий
Внешние источники данных в отчете
Соединение с источником данных и просмотры
Безопасность доступа к данным
Отображение данных в отчетах
Структурные элементы отчета
Структурные элементы отчета - 2
Элементы отображения данных
Резюме

Разработка, просмотр и печать отчетов
Рассматриваемые в данной главе примеры не отличаются изощренностью оформления и сложностью, но позволяют поэтапно проследить всю методику создания отчетов и использования их в приложениях и обладают основными атрибутами стандартных отчетов. В них имеются заголовки, нумерация страниц, выводится текстовая и графическая информация.

Компонент TRvNDRWriter
Компонент TRvNDRWriter - 2
Преобразование форматов данных
Резюме
Этапы создания отчета в приложении
Простой отчет в визуальной среде Rave Reports
Нумерация страниц отчета
Использование элемента FontMaster
Добавление страниц к отчету
Отчет в приложении

Отчеты для приложений баз данных
Генератор отчетов Rave Reports позволяет создавать отчеты, отображающие данные из различных источников данных. Для этого используются средства визуальной среды и компоненты со страницы Rave Палитры компонентов Delphi.

Аутентификация пользователя в отчете
Типы отчетов
Простой табличный отчет
26.5.
Отчет "один-ко-многим"
Отчет "один-ко-многим" - 2
Группирующий отчет
Использование вычисляемых значений
Вычисляемые значения по одному источнику
Значения по нескольким источникам

Стандартные технологии программирования
В этой главе обсуждаются вопросы использования стандартных для приложений Windows технологий программирования. С их помощью ваше приложение обретет законченный вид и будет соответствовать необходимым канонам и правилам пользовательского интерфейса.

Интерфейс переноса Drag-and-Drop
Интерфейс переноса Drag-and-Drop - 2
Интерфейс переноса Drag-and-Drop - 3
Интерфейс переноса Drag-and-Drop - 4
Интерфейс присоединения Drag-and-Dock
Интерфейс присоединения Drag-and-Dock - 2
Интерфейс присоединения Drag-and-Dock - 3
Интерфейс присоединения Drag-and-Dock - 4
Усовершенствованное масштабирование
Управление фокусом

Динамические библиотеки
Динамические библиотеки (DLL, Dynamic Link Library) играют важную роль в функционировании ОС Windows и прикладных программ. Они представляют собой файлы с откомпилированным исполняемым кодом, который используется приложениями и другими DLL. Реализация многих функций ОС вынесена в динамические библиотеки, которые используются по мере необходимости, обеспечивая тем самым экономию адресного пространства. DLL загружается в память только тогда, когда к ней обращается какой-либо процесс.

Инициализация и завершение работы DLL
Инициализация и завершение работы DLL - 2
Инициализация и завершение работы DLL - 3
Вызов DLL
Неявный вызов
Явный вызов
Явный вызов - 2
Ресурсы в DLL
Ресурсы в DLL - 2
Ресурсы в DLL - 3

Потоки и процессы
Работая с Delphi, нужно иметь в виду: этот замечательный продукт не только упрощает разработку сложных приложений, он использует при этом все возможности операционной системы. Одна из возможностей, которую поддерживает Delphi, — это так называемые потоки (threads) или нити.

Гонки
Средства синхронизации потоков
Событие
Взаимные исключения
Семафор
Критическая секция
Процесс. Порождение дочернего процесса
Поток
Консольный ввод
Оповещение об изменении в файловой системе

Многомерное представление данных
Помимо стандартных компонентов отображения данных в VCL Delphi имеются дополнительные компоненты, которые позволяют представлять данные в виде кросстаба. При этом заставить работать кросстаб с двумя и более полями почти так же просто, как и обычный компонент TDBGrid. Эти компоненты расположены на странице Decision Cube Палитры компонентов.

Компонент TDecisionGraph
Управление данными
Пример многомерного представления данных
Резюме
Понятие кросстаба
Взаимосвязь компонентов представления данных
Подготовка набора данных
Подготовка набора данных - 2
Подготовка набора данных - 3
Компонент TDecisionQuery

Использование возможностей Shell API
Разобравшись с механизмами СОМ, вам наверняка захочется "испытать радость общения" с объектами, имеющимися в составе ОС. Microsoft уверенно идет к тому, чтобы все составные части своих операционных систем, как и прочих продуктов, превратить в СОМ-объекты. В этом направлении сделаны большие шаги, и оболочка Windows, и ее файловая система предоставляют интерфейсы СОМ. В Windows 2000, судя по заверениям представителей фирмы, все новые возможности представлены и доступны в виде интерфейсов.

Понятие пространства имен
Размещение значка приложения на System Tray
Размещение значка приложения на System Tray - 2
Размещение значка приложения на System Tray - 3
Размещение значка приложения на System Tray - 4
Интерфейс IShellLink
Интерфейс IShellLink - 2
Интерфейс IShellLink - 3
Интерфейс IShellFolder
Интерфейс IShellFolder - 2

Статьи Королевства Дельфи

Статьи будут рассматривать отдельную тему с практическими примерами и надеюсь на уровне доступном для начинающих. Не знаю как получится, поскольку опыт писательской работы у меня не большой, зато есть приличный опыт работы в дискуссионных группах. Кроме того вся микропроцессорная техника и ее программирование прошли совместно с моей жизнью, начинал я с 8 разрядных машин, затем вплотную от самых первых персональных компьютеров и по текущие дни. Паскаль же от 4 версии до самой последней, а после уже Дельфи, начиная с первой версии.
Это было интересное время, все начинали с нуля, знаний и опыта у всех было мало, все учились друг у друга, в то же время начал развиваться Интернет, что позволило эффективно обмениваться знаниями. Не было обширного парка компонент, только потом развились файловые архивы уровня и Delphi Super Pages. Все это позволило наработать большой опыт и пришло время отдавать долги, что и делаю в виде серии этих статей для начинающих.

Еще раз о звуке
Несколько слов по поводу "железа". Необходимо четко различать, что звуковая плата -- это НЕ ОДНО устройство в системе. Есть устройство вывода звука, записи звука, микшер, синтезатор и т.д. по вкусу. Это важно понимать, т.к. каждое устройство имеет свой набор функций: waveOut***, waveIn***, midiOut***, midiIn***, mixer*** и др.

Архитектура микшера.
Про "железо".
Про "софт".
Запросы к микшеру.
Управление микшером.
Получение информации об аудиолинии
Получение информации об аудиолинии - 2
Получение контролов аудиолинии.
Получение контролов аудиолинии. - 2
Получение значений свойств контрола аудиолинии

Hooks - аспекты реализации
Напишем программу, которая будет устанавливать ловушку типа WH_KEYBOARD и записывать в файл значения нажатых клавиш во всех приложениях (программа будет накапливать в буфере значения нажатых клавиш и как только их количество превысит 40 - все значения будут выведены в соответствующее окно формы). Попутно, в данном примере, новички могут найти ответы на многие вопросы, часто задаваемые в различных форумах.

Выравнивание текста по ширине с автопереносом
Круг рассматриваемых вопросов
Введение и библиография
Решение
Решение - 2
Резюме
Преимущества технологии
Заключение
Использование Interenet-функций Win32® API
Использование Interenet-функций Win32® API - 2

Взгляд в будущее
Возможность отключения из поля видимости тех особенностей, которые обрабатывать не нужно и которые "мешают", загромождая рабочую область Инспектора. Создание и регистрация не только своих объектов, а и своих классов. Для каждого реального обрабатываемого объекта в "DesignTime" нашей программы автоматически создавать объект-оболочку. Методы GetParticuls и SetParticul сделать свойствами процедурного типа. Это позволит не создавать специальный класс для каждого редактируемого класса.

Описание архива
Определение кратчайшего пути между точками
Определение кратчайшего пути между точками - 2
Разбиение путём построения octree-дерева
Разбиение путём построения octree-дерева - 2
Разбиение путём построения octree-дерева - 3
Разбиение путём построения octree-дерева - 4
Просто и ясно о PageMaker и Delphi
Реализация передач команд серверу
Реализация приема данных из DDE сервера

XML сериализация объекта Delphi
Язык XML предоставляет нам чрезвычайно удобный и почти универсальный подход к хранению и передаче информации. Существует множество парсеров для разбора XML документов по модели DOM. На платформе Microsoft Windows - это, в первую очередь, парсеры MSXML от Microsoft.

XML сериализация объекта Delphi
XML сериализация объекта Delphi - 2
XML сериализация объекта Delphi - 3
XML сериализация объекта Delphi - 4
Загрузка XML в объект
Загрузка XML в объект - 2
Загрузка XML в объект - 3
Создание DTD для объекта
Создание DTD для объекта - 2
Компонент для XML сериализации

Лицей
Я решил поделиться своим опытом, в основном по более старым, давно забытым темам. В конце восьмидесятых и в начале девяностых годов, в любой книжке по Паскалю можно было подробно прочитать о работе с битами, о работе с файлами, но в современной литературе эти вопросы или умалчиваются вообще или рассматриваются вскользь. Конечно подобной информации в Сети много, но ее надо еще найти

Лицей
Лицей - 2
Лицей - 3
Лицей - 4
Лицей - 5
Лицей - 6
Лицей - 7
Лицей - 8
Лицей - 9
Лицей - 10

Как заставить работать ActionList в формах, импортируемых из DLL
При использовании форм, импортируемых из DLL, вы столкнетесь с проблемой что ActionList работать не будет до тех пор, пока вы не активизируете его обновление самостоятельно. А следовательно, обновление всех компонентов управления работать не будет.

Ошибка в процедуре _AddRefArray в Delphi 5
Ошибка в процедуре _AddRefArray в Delphi 5 - 2
Компонент TADOUpdateSQL
Компоненты для работы с типовыми операциями
.Bat-файл в Группе проектов
Автоматизация создание BackUp-ов проектов
Использование буфера записей BDE
Список ошибок BDE
Bdetry
Определение занятости приложения

Создание системы голосовых сообщений из подручных средств
Смотря, очередной фантастический боевик, в котором “умная” система управления приятным женским или мужским голосом сообщает герою, что если он не выполнит какие-то важные действия то дальше ему (ей) придется передвигаться без удобств на своих двоих или вообще дожидаться завершения фильма в виде горстки атомов. Вы не раз задумывались, вот бы сделать себе подобную сообщалку о всяческих опасных ситуациях возникающих в вереной Вам компьютерной системе или сети.

Создание голосовых сообщений
Создание голосовых сообщений - 2
Параметры экрана из командной строки
Как выставить приоритет любому процессу
Функции для работы со строками
TRySharedSream — работа с файлом подкачки
TRySharedStream (версия 2)
Лицензионное соглашение.
Класс TRySharedSream.
Работа с файлом подкачки

Delphi 3 и создание приложений баз данных

Без баз данных сегодня невозможно представить работу большинства финансовых, промышленных, торговых и прочих организации. Потоки информации, циркулирующие в мире, который нас окружает, огромны. Во времени они имеют тенденцию к увеличению. Не будь баз данных, мы давно захлебнулись бы в информационной лавине. Базы данных позволяют информацию структурировать, хранить и извлекать оптимальным для пользователя образом.
Поскольку использование баз данных является одним из краеугольных камней, на которых построено существование различных организаций, пристальное внимание разработчиков приложений баз данных вызывают инструменты, при помощи которых такие приложения можно было бы создавать. Выдвигаемые к ним требования в общем виде можно сформулировать как: "быстрота, простота, эффективность, надежность".
В основе такой общепризнанной популярности Delphi лежит тот факт, что Delphi, как никакая другая система программирования, удовлетворяет изложенным выше требованиям. Действительно, приложения с помощью Delphi разрабатываются быстро, причем взаимодействие разработчика с интерактивной средой Delphi не вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает определенные правила (и часто - если не соблюдает). Эти приложения надежны и при эксплуатации обладают предсказуемым поведением.

Понятие баз данных. Степень детализации информации в базе данных
К сожалению, в существующей литературе о Delphi некоторые вопросы построения приложений баз данных изложены достаточно эклектично. Поэтому при изучении различных тонкостей приходится одновременно копаться в различных источниках. Осознавая насколько это неудобно, автор попытался собрать воедино информацию о возможностях, которые предоставляет Delphi для построения приложений баз данных.

Реляционные базы данных
Понятие первичного ключа
Реляционные отношения между таблицами
Отношение "один-ко-многим"
Отношение "один-к-одному"
Отношение "многие-ко-многим"
Связь между записями одной таблицы
Ссылочная целостность и воздействия
Понятие внешнего ключа
Индексы и методы доступа

Формируемые запросы
Часто один компонент TQuery используют для выполнения различных отстоящих друг от друга во времени запросов. Такой подход уменьшает число используемых компонентов, но может привести к возрастанию программного кода.

Понятие столбцов TDBGrid
TDBGrid и динамические свойства столбцов
Постоянные и динамические столбцы
Работа с редактором столбцов
Изменение свойств постоянных столбцов
Другие свойства TDBGridColumns
"Пустые" постоянные столбцы
Формирование списка возможных значений
Управление видом и поведением TDBGrid
Редактирование наборов данных из TDBGrid

Предложение WHERE : задание сложных условий поиска
Ранее были рассмотрены простые варианты задания условия поиска в предложении WHERE (сравнение столбца с константой и внутреннее соединение). Однако условия поиска могут быть достаточно сложными, чему способствует и сам синтаксис оператора SELECT. Рассмотрим основные конструкции для построения сложных условий поиска.

Использование логических выражений
Сравнение столбца с результатом вычисления
Использование BETWEEN
Tovar
Использование IN (список значений)
Использование STARTING
Использование CONTAINING
Использование функции UPPER
Использование LIKE
Использование функции CAST

Принудительная запись на диск
Записи таблиц при добавлении или изменении их в БД могут помещаться в буфер или немедленно физически записываться на диск В первом случае записи из буфера физически записываются на диск после заполнения буфера

Восстановление транзакций
Регистрация новых пользователей
Установка привилегий доступа
Привилегии доступа по умолчанию
Виды привилегий
Предоставление привилегий доступа к таблице БД
Предоставление нескольких привилегий
Привилегии нескольким пользователям
Назначение привилегий всем пользователям
Установка привилегий к столбцам таблицы


МТС пакета MetaStock - перейти
Экономика - перейти
Что такое финансы - перейти
Банки России - перейти
Статистика - перейти
Статистика - перейти
Биржевая статистика - перейти
Задачи статистики в пакете SPSS - перейти
История денег - перейти
История экономики - перейти
История экономических учений - перейти
Денежное обращение и регулирование - перейти
Безналичный денежный оборот - перейти
Международные деньги и расчеты - перейти
Экономические концепции - перейти





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий