Реферат: Основные сведения о СУБД - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Основные сведения о СУБД

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 252 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Системы управления базами данных Введени е Системы управления базами данных (СУБД ) играют исключительную роль в организации современных промышленных , инструментальных и исследовательских информационных систем . Тематика СУБД поистине безгранична. Можно выделить следующие основные функции СУБД : - управление данными во внешней памяти ; - управление буферами оперативной памяти ; - управление транзакциями ; - журнализация и восстановление БД после сбоев ; - поддержание языков БД. Если какая-либо прикладная информационная сист ема опирается на некоторую систему управления данными , обладающую этими функциями , то эта система управления данными является системой управления базами данных (СУБД ). Логически в современной реляционной СУБД можно выделить наиболее внутреннюю часть – ядр о СУБД (часто его называют Data Base Engine), компилятор языка БД (обычно SQL), подсистему поддержки времени выполнения , набор утилит . В некоторых системах эти части выделяются явно , в других – нет , но логически такое разделение можно провести во всех СУБ Д . Ядро СУБД отвечает за управление данными во внешней памяти , управление буферами оперативной памяти , управление транзакциями и журнализацию . Соответственно , можно выделить такие компоненты ядра (по крайней мере , логически , хотя в некоторых системах эти к омпоненты выделяются явно ), как менеджер данных , менеджер буферов , менеджер транзакций и менеджер журнала . Как можно было понять из первой части этой лекции , функции этих компонентов взаимосвязаны , и для обеспечения корректной работы СУБД все эти компонен т ы должны взаимодействовать по тщательно продуманным и проверенным протоколам . Ядро СУБД обладает собственным интерфейсом , не доступным пользователям напрямую и используемым в программах , производимых компилятором SQL (или в подсистеме поддержки выполнения таких программ ) и утилитах БД . Ядро СУБД является основной резидентной частью СУБД . При использовании архитектуры "клиент-сервер " ядро является основной составляющей серверной части системы . Основной функцией компилятора языка БД является компиляция опера торов языка БД в некоторую выполняемую программу . Основной проблемой реляционных СУБД является то , что языки этих систем (а это , как правило , SQL) являются непроцедурными , т.е . в операторе такого языка специфицируется некоторое действие над БД , но эта спе ц ификация не является процедурой , а лишь описывает в некоторой форме условия совершения желаемого действия (вспомните примеры из первой лекции ). Поэтому компилятор должен решить , каким образом выполнять оператор языка прежде , чем произвести программу . Прим е няются достаточно сложные методы оптимизации операторов , которые мы подробно рассмотрим в следующих лекциях . Результатом компиляции является выполняемая программа , представляемая в некоторых системах в машинных кодах , но более часто в выполняемом внутренн е м машинно-независимом коде . В последнем случае реальное выполнение оператора производится с привлечением подсистемы поддержки времени выполнения , представляющей собой , по сути дела , интерпретатор этого внутреннего языка . Наконец , в отдельные утилиты БД об ычно выделяют такие процедуры , которые слишком накладно выполнять с использованием языка БД , например , загрузка и выгрузка БД , сбор статистики , глобальная проверка целостности БД и т.д . Утилиты программируются с использованием интерфейса ядра СУБД , а иног д а даже с проникновением внутрь ядра . Постановка задачи Организационно-экономическая сущность задачи Эффективность использования электроэнергии определ яется энергоемкостью потребителей . Одним из основных путей ее снижения является рационализация режимов электропотребления , включающая вопросы учета и контроля поступления и расхода электроэнергии , анализа ее использования , а также планирования и прогнозир о вания уровней электропотребления . Успешное решение указанных вопросов возможно только при автоматизации учета и контроля электропотребления , которую можно произвести на базе информационно-измерительных систем . Границы применения таких систем , область реша е мых ими задач , эффективность практического использования во многом определяются возможностями их программного обеспечения . Эти возможности должны обеспечивать простоту и оперативность доступа к собранной информации , гибкость ее использования и наглядность представления , а также позволять решать основные задачи рационализации режимов электропотребления . Данным требованиям отвечает разрабатываемый программный комплекс “Расчет стоимости электроэнергии” , включающий следующие функции : Расчет стоимости пользовани я электроэнергией частных энергопотребителей. Предоставить возможность работы с информацией по заданному месяцу. Обеспечить расчет стоимости электроэнергии с учетом предоставляемых льгот (налагаемых штрафов ), количества жильцов по существующим тарифам. Пре доставить возможность работы с информацией о домах (добавление , удаление , модификация произвольного номера дома ). Предоставить возможность работы с информацией по выбранным квартирам для конкретного дома (добавление , удаление , сортировка , модификация ). Для каждого потребителя обеспечить задание произвольного набора электроприборов , а также времени их работы. При изменении данных , влияющих на расход электроэнергии за месяц , происходит перерасчет вычислимых полей в окне данных с информацией по квартирам дома. Обеспечить формирование отчетов по заданным параметрам. Обеспечить автоматическое обновление и сохранение измененных данных. Обеспечить просмотр информации о структуре БД (содержимого ее таблиц и связей между ними ). Программа должна иметь интуитивно понят ный графический интерфейс. Входная информация Входной информацией программы является база данных в формате Sybase SQL Anywhere 5.5 (п . 0 ). Ее структура которой была создана в Power Designer 6.1, а триггеры и используемые хранимые процедуры – при помощи утилиты Sybase SQL Anywhere под названием Sybase Central. Сами данные хранятся в шести таблицах (со отношения между ними приводятся в 0 ). Постоянная информация задачи Постоянной информацией являю тся : - стандартные диалоговые окна , пиктограммы и сообщения средства разработки приложений Power Builder 7.0, хранящиеся в распостраняемых вместе с программой библиотеках Power Builder; - стандартные диалоговые окна и сообщения подсистемы ODBC и драйвера СУБД Sybase SQL Anywhere. - Вышеуказанные окна и сообщения возникают в ответ на следующие события : - передача некорректной информации базе данных (нарушения ссылочной целостности , типов и допустимыз значений данных ); - ввод некорректных данных в поля р едактирования ; - исключительные системные ситуации. - Выходная информация - Выходной информацией задачи являются : - диаловые окна и формы для редактирования содержимого базы данных ; - сообщения о воз никновении нестандартных ситуаций , а также запросы пользователю на подтверждение выполнения тех или иных действий. Подробно выходная информация рассмотрена в пунктах 0 и 0 . Вычислительная система Sybase SQL Anywhere – это новое название СУБД Watcom SQL фирмы Watcom. Такое название данная СУБД получила , начиная с версии 5.0. Переименование произошло после объединения компаний Sybase и Powersoft в 1995 году , в результате чего фирма Watcom, как с оставная часть компании Powersoft, вошла в состав корпорации Sybase Inc Sybase SQL Anywhere представляет собой полнофункциональную СУБД на Intel-платформе для мобильных и небольших групп пользователей Данная СУБД позволяет разрабатывать приложения на осно ве технологии "клиент-сервер " на платформах Windows NT, Windows 95/98, Windows 3.x, OS/2, NetWare, Solaris/Sparc, HP-UX, AIX, DOS и QNX. Рассматриваемая СУБД предназначена для разработки приложений по технологии “клиент-сервер” . СУБД SYBASE SQL Anywhere я вляется составным элементом системы SYBASE System 11 и ее последующей версии SYBASE System 11.5 Adaptive. Основным элементом этих систем является мощная СУБД SYBASE SQL. Server. Она позволяет хранить огромные объемы информации и обрабатывать запросы к баз а м данных с применением технологии клиент-сервер . СУБД SYBASE SQL. Server и SYBASE SQL Anywhere взаимно дополняют друг друга . Разработчики SYBASE SQL Anywhere старались достичь максимальной совместимости баз данных , создаваемых этой СУБД , с базами данных S Y BASE SQL Server. Именно этим объясняется включение в SQL Anywhere некоторых элементов SYBASE SQL Server. SYBASE SQL Anywhere может поставляться как в сетевом варианте СУБД , так и автономном варианте . В последнем случае все компоненты СУБД функционируют на том же компьютере , что и приложение . Для приложений не имеет значения , какой вариант СУБД они используют . В рамках локальных сетей взаимодействие с приложениями-клиентами осуществляется посредством таких сетевых протоколов как NetBIOS, TCP/IP и IPX. Базы данных , созданные средствами SQL Anywhere, совместимы с последующими версиями и переносимы между платформами , на которых может функционировать данная СУБД . SYBASE SQL Anywhere имеет встроенный интерфейс с рядом программных систем , например таких как Power soft PowerBuilder, Optima С ++ и Power Designer. Взаимодействие с другими системами и приложениями осуществляется при помощи следующих программных интерфейсов : Спецификация ODBC . Данная спецификация предоставляет пользователям унифицированный интерфейс меж ду приложениями и реляционными базами данных , в том числе и базами данных SQL. Этот интерфейс представляет собой совокупность функций . Эти функции организуют взаимодействие приложений с базами данных в операционных системах Windows 3.x, Windows 95/98, OS/ 2 и Windows NT. Спецификация ODBC представляет собой интерфейс нижнего уровня . Встроенный SQL (Embedded SQL interface) позволяет "встраивать " SQL-операторы прямо в тексты программ-приложений на языках C или C++. Впоследствии такие приложения подвергаются о бработке специальным препроцессором , который заменяет SQL-операторы на вызовы соответствующих функций и процедур . После этого преобразованные тексты приложений представляют собой тексты программ на языке программирования C или C++. DDE-интерфейс . Это техн ология динамического связывания объектов используемая в операционной системе Windows 3.x.. С ее помощью осуществляется взаимодействие приложений-клиентов , которым требуются данные , с приложениями-серверами эти данные предоставляющие . Для применения этой т е хнологии требуется использование соответствующих программных средств , поддерживающих функционирование DDE-клиента . С другой стороны в качестве серверов необходимо использовать приложения , обеспечивающие режим DDE-сервера . К числу последних относятся такие программные приложения , как Microsoft Access, Microsoft Excel и ряд других . В СУБД SYBASE SQL Anywhere роль DDE-сервера выполняет WSQL (Watcom SQL) DDE Server. Высокоуровневый собственный интерфейс WSQL HLI (Watcom SQL High-level interface) обеспечивает н а "высоком " уровне взаимодействие между SQL Anywhere и приложениями в средах операционных систем Windows 3.x, Windows 95/98, OS/2 и Windows NT. Данный интерфейс реализован для систем программирования аналогичных Visual Basic (для Windows 95/98 и Windows N T ) и REXX (для OS/2). СУБД SYBASE SQL Anywhere имеет в своем составе сетевой и автономный варианты СУБД .. Эти варианты реализованы в виде компонентам SQL Anywhere server/client и SQL Anywhere engine. SQL Anywhere server/client представляет сетевой вариант СУБД . Он организует взаимодействием приложений с базами данных в рамках локальной вычислительной сети по технологии "клиент-сервер ". ПРИМЕЧАНИЕ Кроме локальной сети , СУБД SYBASE SQL Anywhere предоставляет вам возможность использовать технологию "клиент-се рвер " и в рамках сети Internet. Для этого необходимо , чтобы на компьютере с сервером базы данных был организован Web-сервер и в состав его программного обеспечения входило приложение SYBASE Netlmpact Dynamo. Сетевой вариант включает в себя удаленный серве р и клиентскую компоненту ; SQL Anywhere server и SQL Anywhere client, соответственно . Функционирование СУБД в рамках сети заключается в следующем . На одной ЭВМ , играющей роль сервера базы данных , запускается удаленный сервер – SQL Anywhere server. Его зад а ча состоит в ожидании запросов от клиентских ЭВМ , их обработке и отправлении результатов клиентов . Во время работы сервера на клиентских ЭВМ функционирует компонента SQL Anywhere client. Она принимает от клиентских приложений запросы .. Эти запросы предста в ляют собой операторы языка SQL, например , SELECT (выбрать данные ), UPDATE (модифицировать данные ), CALL (вызвать хранимую процедуру ) и другие . Полученные запросы компонента SQL Anywhere client отправляет по сети серверу базы данных и ожидает возвращение от него результатов этих запросов . Компонента SQL Anywhere engine является автономным вариантом рассматриваемой СУБД и представляет собой локальный сервер баз данных . Он реализует технологию "клиент-сервер " в условиях , когда сервер и клиенты функционирует н а одной ЭВМ . База данных хранится на этой же ЭВМ . Сервер принимает запросы непосредственно от приложений , обрабатывает их и отправляет приложениям результаты запросов . Наличие такого варианта позволяет проводить автономную отладку приложений . Это имеет бо л ьшое значение , так как на этапе автономной отладке приложения находятся еще в "сыром " состоянии . Данное обстоятельство может сыграть плохую службы при их отладке в сетевом варианте СУБД , когда используемая база данных является общим ресурсом большого коли ч ества пользователей . Клиентские приложения не различают с каким вариантом СУБД они работают . Одни и те же запросы выполняются для пользователя совершенно одинаково по одним и тем же правилам . ПРИМЕЧАНИЕ С точки зрения пользователя функции удаленного (SQL Anywhere engine) и локального (SQL Anywhere server) серверов идентичны . В связи с этим в дальнейшем в рамках данного разделом под термином "сервер " будем понимать компоненту SQL Anywhere server или SQL Anywhere engine, если не требуется подчеркнуть и х различие . Схема взаимодействия приложений с базой данных в СУБД SYBASE SQL Anywhere приведена на рис . 1. Рис . 1 . Взаимодействие приложений-клиентов с базой данных в различных вариантах СУБД SYBASE SQL Anywhere : а ) Автономный вариант ; б ) Сетевой вариант . Компоненты SQL Anywhere server/client и SQL Anywhere engine составляют основу СУБД . Однако наряду с ними в состав СУБД входит и ряд других компоненто в . Все вместе эти компоненты составляют комплект поставки SQL Anywhere, в который входят : SQL Anywhere server/client – сетевой вариант СУБД .. SQL Anywhere engine – автономный вариант СУБД ; SQL Remote – компонента поддержания режима репликаций ; Sybase S QL Central – утилита администрирования баз данных ; ISQL (Interactive SQL ) – утилита интерактивного взаимодействия с базами данных ; набор дополнительных утилит для создания баз данных , их сжатия , уничтожения и т.д . Приведенные компоненты являются элемент ами стандартной поставки . Кроме стандартной , рассматриваемая СУБД может предлагаться в виде профессиональной поставки . Она имеет еще большее число составляющих . Компоненты стандартной поставки будут рассмотрены далее . Базы данных , создаваемые СУБД SYBASE SQL Anywhere, представляют собой реляционные базы данных . Эти базы данных состоят из совокупности объектов . Такими объектами являются : Таблицы данных – хранят данные , составляющие основное содержание базы данных . Ключи – совокупности атрибутов , образующи х ключи (первичные и внешние ), предназначенные для осуществления ускоренного поиска данных и обеспечения ограничений ссылочной целостности . Индексы – специальные таблицы , предназначенные для быстрого поиска требуемой информации в таблицах данных . Предста вления (Views ) – связанные совокупности подмножеств таблиц данных , предоставляемых пользователям для ограничения их доступа к таблицам данных . При этом , к одним таблицам доступ запрещается совсем , а в других таблицах доступ разрешается только к некоторым з аписям этих таблиц . Хранимые процедуры и функции - хранимые в базе данных подпрограммы на языке SQL, воспользоваться которые может любой пользователь , имеющий на это право . ПРИМЕЧАНИЕ В СУБД SYBASE SQL Anywhere используется диалект языка SQL – Watcom SQL. Он соответствует стандартам ANSI SQL/89 Level 2 и IBM SAA. Кроме того , используемый диалект SQL поддерживает новые возможности и расширения стандартов ANSI SQL/92 и IBMs DB2 Триггеры – подпрограммы , активизирующиеся при наступлении определенных событий , например , удаление записи из таблицы , модификация записей и т.д . Триггеры являются мощным средством обеспечения целостности данных . Пользовательские типы данных – типы данных , создаваемые пользователем на основании базовых типов данных СУБД . Системные та блицы – хранят всю информацию о схеме базы данных и содержащихся в ней объектах . Вся информация базы данных может размещается в нескольких областях . Область представляет собой файл с расширением db , в которой хранится вся база данных или один из ее фрагме нтов . Каждая область характеризуется своим именем и файлом , соответствующим этой области . Первоначально база данных занимает только одну область с именем SYSTEM , которой соответствует базовый файл (root file). Затем по мере необходимости пространство внешн ей памяти базы данный может расширяться за счет добавления новых областей . Эти файлы областей могут быть размещены в любом каталоге на любом диске и любом узле локальной сети . Физически каждый файл (область ) состоит из страниц фиксированного объема . Разме р страниц устанавливается при создании базы данных . В страницах размещаются объекты базы данных . В зависимости от размера объектов каждая страница может содержать несколько экземпляров объектов или фрагмент одного из объектов . Наряду с файлами областями в состав базы данных входит файл для хранения журнала изменений БД – файл с расширением log . Наличие журнала изменений является основой манипулирование данными в рассматриваемой СУБД с использованием механизма транзакций . Такой подход обеспечивает высокую з ащиту баз данных от возникающих программных и аппаратных сбоев и отказов . Характеристики аппаратных средств Программа разрабатывалась на ПК со следующей конфигурацией : МП Pentium II 233 RAM 32 Mb Video A SUS V300 4Mb HDD Seagate 3.2 Mb Тестирование осуществлялось на вычислительных системах с МП Pentium 133 – Pentium 200 MMX с объемом памяти 16-32 Mb. При этом не наблюдалось значительного замедления работы приложения по сравнению с конфигурацией компьютера разработчиков. Минимальные аппаратные требования для работы программы : МП Pentuim 90 RAM 16 mb Video 1 Mb. Объем необходимого дискового пространства следует из таблицы : Компонент программы Размер (в К b) Исполняемый модуль 283 База даннных 466 (начальный размер ) Библиотеки Power Builder 6,284 ODBC- драйвер Sybase SQL Anywhere 2,154 Всего : 9,187 Характеристики программных средств Среда разработки приложений “клиент-сервер” Power Builder предлагает про граммисту средства объектно-ориентированного программирования для реализации поставленной перед ним задачи . Этот подход является в настоящее время наиболее актуальным вследствие своей гибкости и естественности концепции , его определяющей , т.к . он дает воз м ожность представить задачу в виде совокупности объектов и связей между ними , т.е . фактически в виде модели реального мира . Основными понятиями Power Builder являются следующие : объект – некоторая сущность , характеризующаяся набором характеристик и методов их обработки ; сценарий – программный код обработки объектов. Язык Power Builder имеет черты сходства со следующими языками программирования – C++, Pascal и FoxPro. Он является типизированным , что означает принадлежность данных к определенной группе – типу. Замечательной особенностью языка обработки сценариев Power Builder является наличие встроенного SQL. Реализация этого языка в Power Builder основана на спецификации SQL, используемой в СУБД Sybase SQL Anywhere. Это означает наличие таких возможностей , ка к вызов хранимых процедур , обмен данными с БД через параметры , динамические SQL-запросы и др. Существенным недостатком Power Builder можно считать отсутствие средств формирования листинга программы , как объединения всех используемых сценариев. Ключевым пон ятием , которое необходимо усвоить для работы с Power Builder, является понятие объекта . Power Builder позволяет не только использовать уже существующие объекты среды , но и создавать свои собственные , либо делая их потомками уже существующих , делая их “инт е ллектуальнее” , либо путем конструирования полностью нового объекта , не имеющего предка : Пользовательский – объект , не имеющий визуального представления ; Стандартный – объект-потомок от любого стандартного невидимого класса Power Builder (“Транзакция” , “Соо бщение” , “Ошибка” , “Объект” и др .); Пользовательский визуальный – видимый объект , состоящий из любых визуальных стандартных или пользовательских объектов ; Внешний визуальный – объект , содержащий элементы управления , созданные вне Power Builder; Стандартный визуальный – объект , являющийся потомком от стандартного визуального объекта (“Текст” , “Кнопка” , “Список” и др .) и расширяющий его функциональность . Эти объекты , в основном , используются для переопределения свойств стандартного визуального объекта с цель ю приспособления его для нужд решаемой задачи ; Окно – объект-потомок от класса “Окно” , который , как и пользовательский визуальный , может содержать любые элементы управления . Отличие между ними состоит в том , что в потомке окна уже реализованы некоторые функ ции работы с элементами управления , и , кроме того , доступен набор методов стандартного элемента управления “Окно” ; Меню – объект , являющийся потомком от стандартного класса “Меню” ; Структура – объект , состоящий только из данных любого типа ; Функция – объек т , являющийся функцией , которая может принимать любое число аргументов , передаваемых по ссылке или по значению , и возвращать значение любого типа ; Окно данных – объект , являющийся главным достоинством Power Builder, благодаря которому , собственно , он и име ет свой круг пользователей и имеет право называться средством разработки приложений клиент-сервер. Окно данных (DataWindow) – основное средство работы с данными . Работая с ним , пользователь может определять способ представления информации и ее тип . Создани е DataWindow состоит из четырех этапов : а ) выбор типа окна данных ; б ) выбор источника данных и определение критериев и способа их выборки ; в ) моделирование окна данных – работа с макетом DataWindow. При этом оно представляется в виде обычного окна , разделе нного на несколько частей в зависимости от его типа и способа группировки данных . В режиме моделирования программист размещает в окне данных элементы управления , в число которых входят столбцы таблиц БД и вычисляемые поля , определяя их свойства и параметр ы вывода ; г ) работа с элементом управления DataWindow, размещаемом в окне или другом визуальном объекте как обычный элемент управления . На этом этапе можно определять обработчики событий окна данных , добавлять к нему пользовательские свойства и методы и т.п. Приложение – объект , с которого начинается выполнение программ . Все остальные объекты создаются из методов приложения. Операционная система Программа предназначена для функционирования под управлением О С семейства Windows 4.x – Windows NT 4.0, Windows 95, Windows 98. Эти ОС являются общепризнанными стандартами как для настольных систем , так и для небольших локальных сетей как однорангового типа , так и с выделенным сервером (хотя , справедливости ради , сл е дует заметить , что в последнем случае оптимальным решением все же является Novell Netware 4.2 и выше ). Для доступа к БД используется встроенный в вышеперечисленные ОС механизм ODBC (Open Database Connectivity). И хотя в последнее время с ним небезуспешно к онкурируют такие средства доступа к БД , как BDE и OLE DB, ODBC по-прежнему применятся при разработках , т.к . он зарекомендовал себя с самой лучшей стороны как с точки зрения удобства работы , так и скорости доступа и обработки данных. Для работы с БД через O DBC на компьютере должен быть установлена специальная программа – ODBC-драйвер . Его назначение – обработка запросов от ODBC-менеджера , к которому , в свою очередь , обращаются с запросами функции ODBC API. Т.к . используемая в программе БД создана в СУБД Syba se SQL Anywhere 5.5, то для работы приложения необходим соответствующий драйвер – Sybase SQL Anywhere Database Engine и необходимые ему библиотеки . Разработчиками программы создан инсталляционный пакет , выполняющий установку драйвера и вносящий необходимы е изменения в реестр. Также для работы приложения необходимы некоторые библиотеки Power Builder 7.0 – Power Builder Virtual Machine (файл pbvm70.dll), Power Builder ODBC (pbodb.dll), Power Builder DataWindow Extension (pbdwe.dll). Эти файлы также поставляют ся вместе с программой в архиве redist.rar. Объектно-ориентированный анализ задачи Объектно-ориентированное программирование – это подход к разработке программного обеспечения , основанный на объектах , а не на процедурах . Этот подход позволяет максимизировать принципы модульности и "сокрытия информации ". Объектно-ориентированное программирование базируется на связывании или инкапсуляции структур данных и процедуры , которая работает с данными в структуре , с модулем. Объектно-ориентированные (ОО ) системы управления данными привлекают все большее внимание как исследователей и разработчиков , так и потенциальных пользователей из прикладных областей . С одной стороны это объясняется развитием и внедрением в практи ку объектно-ориентированного подхода (ООП ) в целом (ОО программирование и проектирование программных систем , ОО технологии организации пользовательских интерфейсов , распределенные объектные системы и т.д .). Но с другой стороны интуитивно ясно , что максима л ьный эффект можно получить именно от использования ОО баз данных , преодолев наконец , известный конфликт между структурной и поведенческой частями информационных систем. Вместе с тем , несмотря на существование ряда коммерческих реализаций ООСУБД , доступных в настоящее время на рынке , уровень технологии таких систем существенно уступает уровню развитых реляционных систем . Это касается и модельных характеристик систем (например , языков запросов ) и реализационных аспектов (например , оптимизации запросов ). Часто возникает впечатление , что хотя ограничения существующих систем пытаются объяснять некими принципиальными соображениями (например , что развитые возможности конструирования классов , подкрепленные средствами наследования классов позволяют ограничиться запр о сами только на одном классе объектов ), на самом деле эти ограничения являются следствием недостаточно развитой технологии . Кажется , что в условиях отсутствия признанного лидера в области ООСУБД (каким была , например , компания IBM со своим проектом System R в области РСУБД ), единственным путем к выработке такой технологии является продолжающаяся (иногда дублирующая ) работа исследователей. Несложно показать принципиальную возможность построения ненавигационного языка запросов к ООБД на основе усиления теорети ко-множественного смысла понятия класс и предложить общую концепцию языка программирования ООБД , который естественно (без потери импеданса ) включает в себя язык запросов. Описание задачи Практически все с овременные средства разработки используют языки , которые если и не являются чисто объектно-ориентированными , то , по крайней мере , имеют средства для работы с объектами (C++, Pascal, Lisp, Fortran, Basic). Это говорит о том , что сегодня объектно-ориентиров а нное программирование практически вытеснило собой процедурный подход к разработке программ , хотя для решения некоторых специфических задач , как правило , системных , последний все еще применяется . Основные понятия , использующиеся при описании объектов и свя зей между ними : Объект – сущность , являющаяся частью модели реального мира , состоящая из структуры данных и связанных с ней методов ее обработки . Объекты , как правило , образуют иерархию по принципу наследования. Базовый объект – объект , являющийся “родител ем” данного . Это означает , что последний наследует от него его данные и способы их обработки , при необходимости добавляя новые или изменяя существующие. Дочерний объект – объект , наследующий от базового его свойства и методы. Свойство – характеристика объе кта , определяющая его индивидуальность . Отличия между объектами состоят либо в наличии /отсутствии каких-либо свойств. Метод – совокупность действий , воздействующих на объект в целом и его свойства в частности. Сообщение – принятый между объектами способ ув едомления о возникновении в них каких-либо событий – ситуаций , следствием которых является измение состояния объекта Свойства объектно-ориентированного подхода : - расширяемость – если какой-нибудь объект не устраивает программиста , то он может расширить е го , дополнив новыми свойствами или методами , а также изменитьсуществующие методы . При этом не надо модифицировать исходный текст библиотек , в которых хранятся объекты , а потребуется лишь обьявить потомка от существующего объекта , модифицировав его в соотв е тствии с требованиями задачи ; - модульность – объекты представляют собой не изолированные сущности , а иерархическую структуру , отражающую степень их подобия . Кроме того объекты различных типов (например , объекты “окно” и “приложение” имеют средства для вз аимодействия между собой . Свойство модульности также позволяет добиться того , что при объединении корректно работающих подпрограмм в единое целое можно быть уверенным в том , что и оно будет работать без ошибок ; - унификация – способы взаимодействия любых объектов стандартизированы и основаны на принципах невмешательства во внутреннюю структуру объекта . Т.е . взаимодействие возможно через уведомление посредством сообщения или вызова объектных методов ; - защищенность – сокрытие информации от объектов , не нах одящихся в “родственных” отношениях с данным . Однако это не означает невозможность влияния объектов друг на друга , т.к . для этого существуют внутренние методы объекта , в которых разрешен доступ к его внутренней структуре ; - инкапсуляция – связывание в еди ное целое данных объекта (его свойств ) и методов их изменения , воздействующих на состояние объекта . Это свойство позволяет устранить в коде программы внутренние зависимости , которые приведут к тому , что его будет трудно понять постороннему человеку и , тем более , модифицировать ; - полиморфизм – свойство , проявляющееся в том , что объекты на разных уровнях иерархии по-разному реагируют на посылаемые им сообщения и вызовы функций . Т.е . концепция объектно-ориентированного программирования включает в себя автома тическое определение объекта-приемника сообщения или вызова функции . Это означает то , что посылая сообщение или вызывая функцию с одним и тем же именем , программист может быть уверен , что адресат будет точно определен. В рамках поставленной задачи основным и объектами являются : - прибор – он характеризуется своим именем и мощностью , которая вносит свой вклад в расход электроэнергии квартиры ; - квартира – характеризуется своим собственным номером , а также номером дома , в котором она находится . Другие свойст ва квартиры – число жильцов и скидка (в процентах ), определяющая на сколько уменьшается плата за электроэнергию для данной квартиры , а также список приборов , формирующих расход энергии ; - дом – характеризуется своим номером , типом плиты (электрическая или газовая ), которая применяется во всех квартирах дома , нормой расхода энергии на одного человека , а также тарифом за 1 кВ /ч. Описание интерфейса классов Ввиду невозможности предс тавления в данной работе листинга программы (что является особенностью Power Builder), описание интерфейса классов изложено в подробной форме . При этом немалое внимание уделено и реализации тех или иных методов. Класс приложения maxx: содержит обработчик с обытия Open. При этом создается объект типа “Транзакция” sqlca, с помощью которого будет производится доступ к БД средствами ODBC. В обработчике инициализируются глобальные переменные и создается главное окно – w_main. Классы окон данных. 1) flats_of_month _h_num: содержит информацию о всех квартирах дома за указанный месяц . При получении информации серверу БД передаются 2 параметра – номер дома и месяц , которые присутствуют в выражении SELECT. В описываемом окне данных поля , зависящие от месяца , являются вы числимыми , т.к . они не присутствуют физически в БД , т.к . в противном случае последняя не удовлетворяла бы второй нормальной форме. 2) house_of_month_h_num: содержит информацию о доме , не зависящую от месяца. 3) pribors_1: содержит список приборов , являющий ся источником данных для выпадающего списка выбора приборов , появляющегося в окне изменения информации о потреблении энергии квартирой в заданном месяце. 4) report_house: окно отчета о расходе энергии для заданных домов в указанном диапазоне месяцев . Инфор мация в окне группируется по полям house_c_num и house_v_month. Аргументами для получения данных являются диапазоны домов и месяцев. 5) pribors_1: содержит даные для редактирования списка приборов , которые формируют расход электроэнергии для квартиры . Неиз меняемым полем является поле идентификатора прибора , идентифицирующего его. 6) temp_edit: содержит данные для модификации списка приборов в указанной квартире , использующихся в ней в заданном месяце . Эта информация берется из временной таблицы temp, данные в которую записываются из текстовой строки PRIBORS, хранящейся в таблице FLAT_V и содержащей список приборов , потребляющих энергию в данной квартире за определенный месяц , с указанием их количества и среднего времени работы за сутки. Классы функций. 1) fo rmhouselist: функция , формирующая выпадающий список , передаваемый как аргумент , номерами домов , имеющихся в БД . Для этого создается динамический курсор , с помощью которого осуществляется выборка данных из БД. 2) getdaycount: возвращает количество дней в ук азанном месяце. Класс меню menu_1: содержит определение главного меню программы , которое встраивается в окно w_main. Кроме того , класс содержит описание реакций пользователя на событие выбора пунктов меню . При этом , как правило , осуществляется открытие тех или иных окон с передачей им требуемых параметров. Класс проекта maxx: - содержит описание способа построения исполняемого файла , являющегося реализацией класса приложения maxx. Библиотека , содержащая описания классов программы , может включаться в формир уемый EXE-файл , либо генерироваться , как библиотека динамической компоновки . При этом возможны следующие варианты , в зависимости от ее содержимого : - в ней содержится машинный код (расширение DLL); - в ней содержатся макроопределения используемых объекто в (расширение PBD). - В объекте “проект” также перечисляются файлы с описанием используемых ресурсов. Классы пользовательских объектов. 1) u_closebutton: кнопка для закрытия родительского окна. 2) u_editmask_g0: маскируемое окно ввода , которое воспринимае т только большие нуля целые значения . При нарушении этого правила , что проверяется в при обработке события LoseFocus, выдается сообщение об ошибке и фокус ввода отстается у окна ввода. 3) u_waitwindow: представляет собой пользовательский визуальный объект, состоящий из индикатора прогресса , рамки , текстовой строки подсказки и строки состояния процесса . Объект служит для отображения информации о протекании какого-либо потенциально продолжительного процесса. Классы окон. 1) w_db_struct: окно с информацией о с труктуре используемой БД , представляемой в виде графа отношений между логическими сущностями . При этом отображаются все поля таблиц с указанием связей между ключевыми полями. 2) w_flatpribors: окно для модификации данных по квартире для заданного месяца . Э ти данные представляют собой список приборов с указанием их числа по состоянию на указанный месяц , а также среднего времени работы в сутки . Выбор прибора осуществляется по его идентификатору. Окно позволяет редактировать данные для указанной квартиры в одн ом доме . Список в верхней части окна позволяет выбрать месяц , применительно к которому будут рассматриваться приборы. Окно использует объект DataWindow temp_1. При модификации информации в нем производится пересчет количества энергии в кВ /ч , потребляемого квартирой за сутки. 3) w_flats: окно модификации данных о домах . В верхней его части располагается список домов , присутствующих в БД , а также месяцы года . В окне производятся операции добавления /удаления /редактирования как самих домов , так и квартир , содер жащихся в них. Модификация информация о доме производится в DataWindow house_of_month_h_num (постоянная информация о доме ) и пользовательском элементе управления u_editmask_g0 (информация , зависящая от месяца – тариф ). Редактирование данных о квартирах в в ыбранном доме осуществляется в DataWindow flats_of_month_h_num. При изменении любой модифицируемой информации в этом окне , а также изменении текущего месяца или месячного тарифа , происходит автоматическое обновление вычисляемых полей , относящихся к кварти р ам. Из этого окна также осуществляется вызов окна w_flatpribors для редактирования списка приборов квартиры. 4) w_main: главное окно программы , содержащее меню и рабочую область (в программе не используется ). 5) w_params: окно модификации параметров , прини маемых по умолчанию (в данной версии программы это – тариф оплаты одного кВ /ч ). 6) w_pribors_edit: окно редактирования списка приборов , которые могут быть заданы в качестве потребителей электроэнергии . При удалении прибора либо изменении мощности уже суще ствующего происходит модификация информация в БД : при выходе из окна выполняется сравнение текущих данных о мощности с хранимыми в БД . Если для какой-либо записи обнаружено несоответствие , то происходит изменение данных о количестве потребляемой энергии к в артирой и перерасчет суммы для дома путем вызова хранимой процедуры GetHouseSum. 7) w_report_house: - окно просмотра отчета о суммарных материальных затратах , которые несут жильцы всех квартир дома за месяц . Отчет можно просматривать в нескольких формах : - информация об одном доме и одном месяце ; - информация о всех домах и одном месяце ; - информация о всех домах и всех месяцах ; - информация об одном доме и всех месяцах. Описание программы Доступ ко всем функциям программы осуществляется либо через меню , либо через панель инструментов , кнопки которой дублируют к основные пункты меню. Модификация данных осуществляется , как правило , через элементы управления DataWindow. Их реали зация предусматривает изменение текущих данных только при выходе из поля редактирования . Поэтому , в некоторых ситуациях , реакция программа на модификацию данных может отличаться от ожидаемой. Описание главного меню : 1) “Программа” а ) “Структура БД” – просм отр информации о структуре БД (содержимого ее таблиц и связей между ними ); б ) “Выход” – завершение работы с программой ; 2) “Данные” а ) “Дома” – работа с информацией о домах . При этом появляется диалоговое окно , содержащее элементы управления для задания кр итериев отбора данных , и , непосредственно , сами данные. Критерии отбора – это номер дома и месяц . Эти параметры задаются путем выбора значений из списков в верхней части экрана . При изменении текущих дома или месяца происходит автоматическое сохранение пре дыдущих данных в БД , после чего обновляется содержимое некоторых элементов управления. При изменении номеров домов и квартир в случае , если такой номер уже имеется в БД , пользователь извещается об этом , и ему предлагается изменить значение поля. При измене нии данных , влияющих на расход электроэнергии за месяц , происходит перерасчет вычислимых полей в окне данных с информацией по квартирам дома. Операции над домами : - модификация . При изменении номера дома происходит немедленное автоматическое сохранение да нных и обновление списка домов ; - удаление . При этом у пользователя запрашивается подтверждение на выполнение этой операции ; - добавление . При этом месяный тариф устанавливается равным значению по умолчанию (меню “Вид” ->“Параметры” ). Активным становится окно данных для ввода постоянной информации о доме . При выходе из него , т.е . когда оно теряет фокус ввода , производится запрос на сохранение введенных данных , т.е . добавление записей в соответствующие таблицы. Операции над квартирами : - модификация ; - уд аление ; - добавление . При этом квартире присваивается номер , равный максимальному номеру среди всех остальных квартир плюс единица ; - сортировка . Выполняются при щелчке мышью на одном из заголовков столбцов в таблице квартир . Первый щелчок на заголовке п риводит к выполнению сортировки по возрастанию данных (Ascending), а повторный – по убыванию (Descending). Рядом с каждой записью с информацией по квартире находится кнопка “Приборы” , нажатие которой вызывает диалог редактирования приборов данной квартиры : - в верхней его части отображаются номера квартиры и дома , а также месяц , для которого приводятся данные . В данном окне изменять можно только текущий месяц ; - при изменении месяца или выходе из диалога выводится запрос для подтверждения сохранения данны х (если они были изменены ); - при модификации данных по приборам автоматически обновляется поле “кВ /ч в день” , отображающее суточное потребление энергии квартирой ; - кнопка “Копировать” осуществляет копирование информации о приборах в квартире для текуще го месяца во все остальные месяцы года ; - кнопка “ Undo” отменяет все изменения , сделанные в списке приборов текущего месяца . “Приборы” – работа со списком приборов , которые могут иметься в квартирах . Каждый прибор идентифицируется своим именем и потребляе мой мощностью. При удалении прибора из списка происходит перерасчет информации в БД , зависящей от расхода электроэнергии . Это необходимо делать потому , что удаляемый прибор может влиять на эти данные , если он имеется в списках приборов для квартир. При вых оде из этого диалогового окна программа проверяет , были ли сделаны изменения мощности имеющихся в БД приборов . В случае обнаружения такой ситуации также производится перерасчет данных для квартир (и , соответственно , домов ), содержащих такие приборы. 3) “От чет” а ) “Дома” – отчет по домам . Пользователь выбирает из списков в верхней части окна дом и месяц , по которым он желает получить отчет . Возможно также задание всех домов и (или )всех месяцев одновременно . В этом случае просмотр отчетных данных , которые в д анный момент не отображаются , осуществляется с помощью полосы прокрутки. Отображаемые данные : информация о доме (его номер , число квартир и жильцов ); тариф и сумма , необходимая для погашения расходов на электроэнергию для дома в указанном месяце. 4) “Вид” а ) “ Toolbar” – управление видимостью панели инструментов ; б ) “Параметры” – изменение месячного тарифа , устанавливаемого по умолчанию при добавлении нового дома. Программа и методика испытаний Отладка программы Простая истина состоит в том , что человек несовершенен , поэтому все мы допускаем ошибки , что является совершенно нормальным явлением как в повседневной жизни , так и в программировании . Редко кому уд ается с первого раза написать программу без ошибок . Их появление в программе заставляет программиста многократно проверять все с самого начала . Совокупность действий по обнаружению и устранению ошибок в программировании называется отладкой. Процесс отладки в общем случае можно разделить на четыре этапа : Обнаружение ошибки Этот этап является наиболее очевидным . Компьютер либо "зависает " во время работы программы , либо происходит сбой , который проявляется в выдаче на экран бессмысленной информации . Однако , в некоторых случаях ошибка не проявляется так очевидно . Программа может работать хорошо до тех пор , пока не будет введено некоторое число ( например , 0 или отрицательное число ), или пока не будет тщательно проверена выдаваемая ею информация . Только после т а кой проверки можно обнаружить , что результат отличается от ожидаемого. Поиск ее местонахождения Этот этап иногда является самым трудным . Он заключается в том , чтобы найти место в программе , где находится ошибка . Просто невозможно держать в голове всю прогр амму сразу ( если эта программа не очень маленькая ). Лучший подход – это "разделяй и властвуй ", т.е.разбивать программу на части и отлаживать их отдельно друг от друга. Определение причины ошибки Этот этап , выяснение причины ошибки , возможно , является вто рой наиболее трудной стадией отладки . После того , как будет определено местонахождение ошибки , обычно становится несколько проще определить причину неправильной работы программы . Например , если программист определил , что ошибка находится в какой-то конкре т ной функции , то ему достаточно просмотреть текст только этой процедуры , а не всей программы . Но даже в этом случае ошибка может оказаться настолько "неуловимой ", что придется немного поэкспериментировать , прежде удасться ее локализовать. Исправление ошибки Этот этап заключается в исправлении ошибки . Вооружившись знанием языка программирования и знанием местонахождения ошибки , разработчик устраняет ее . После этого он снова запускает программу , с трепетом ожидая появления следующей ошибки. Отладка программы в елась в течение в течение всего срока разработки . Возникавшие в ее ходе ошибки можно разделить на три группы : - ошибки в алгоритмах вычислений ; - ошибки , заключающиеся в неправильном выборе критериев для получения информации из БД ; - ошибки , связанные с некорректным взаимодействием элементов управления между собой. Средством отладки являлся интегрированный отладчик среды разработки приложений Power Builder 7.0. Его возможности отладки не , безусловно , не могут сравниться с полноценными отладчиками , такими как Turbo Debugger, Soft-Ice, Codeview, но , при этом , он реализует набор отладочных функций , позволяющих достаточно быстро локализовать и устранить ошибку : - просмотр программных объектов в виде дерева с возможностью выбора текста сценария обработки собы тия или пользовательской функции ; - возможность просмотра значений переменных , как объектов , т.е . с иерхическим представлением их структуры ; - автоматическое отображение переменных следующих типов : - глобальные ; - локальные ; - переменные экземпляра об ъекта ; - переменные родительского класса ; - разделяемые переменные – данные , которые доступны всем объектам , содержащимся внутри объекта-контейнера (например , окна ); - объекты в памяти ; - средства просмотра значений выражений , а также модификация значе ний переменных ; - возможность просмотра стека вызовов и переключения контекста для просмотра значений переменных на любом уровне вложенности вызовов функций ; - установка точек останова , а также задание условий для их срабатывания ; - при возникновении ош ибки отладчик выдает на экран сообщение о ее местонахождении в коде программы ; - возможность удаленной отладки. Тестирование программы По окончании разработки , программное средство подверглось тщательном у тестированию . Оно заключалось в следующем : а ) Выполнение стандартных действий по работе с данными. С помощью программы выполнялись операции добавления – удаления – редактирования данных о расходе электроэнергии . При этом не было замечено никаких отклонен ий от нормального хода выполнения программы , т.е . все ее действия были предсказуемы . Также не наблюдалось никаких неточностей , касающихся вычислительных алгоритмов , т.е . суммы расходов электроэнергии в кВ /ч и денежное их выражение соответствовали предвари т ельно вычисленным. Тестирование выполнялось на довольно значительном массиве данных – количество домов достигало 20-ти , и количество квартир в них варьировалось от 10 до 30-ти . При этом каких-то значительных временных задержек при загрузке или сохранении ин формации в БД замечено не было. Однако при редактировании списка приборов (изменении мощности или их удалении ) время обработки иногда доходило до 7-8 сек . Это можно объяснить особенностями формата представления данных о приборах в таблице FLAT_V. б ) Создан ие нестандартных ситуаций , требующих особой обработки. Создавались исключительные ситуации типа ввода неправильных данных в поля числового типа , ввода отрицательных значений и т.п . При этом программа корректно обрабатывала эти ситуации , выдавая пользовател ю сообщения об ошибке и передавая фокус ввода тому элементу управления , который содержит неправильные данные. Другой исключительной ситуацией является оставление незаполненными тех полей данных , которые должны содержать информацию . Это событие обрабатывает ся аналогичным образом. При вводе номеров дома и квартиры пользователь , умышленно или случайно , может ввести значения , которые уже содержатся в БД . При этом он будет предупрежден о возникшей ситуация и программа оставит данные без изменения , даже если поль зователь сразу после изменения значения поля захочет выйти из диалогового окна. В ходе испытаний проверке подвергались рабочие характеристики программы , такие как скорость выполнения операций над данными , время их обработки и т.п . При этом их значения не в ыходили за разумные пределы . Здесь следует заметить , что временные параметры работы зависят , прежде всего , от характеристик сервера БД , обрабатывающих запросы , а также от способа обработки данных – с помощью хранимых процедур или программного кода . Разраб о тчик , где это возможно , старался выполнять обработку данных с помощью хранимых процедур , что вполне себя оправдало , т.к ., например , время вычисления суммы , расходуемой всеми квартирами дома за месяц , сократилось в 2.5-3 раза по сравнению с реализацией это й операции в тексте программы. В ходе испытаний была доказана полная совместимость и правильность работы программного средства с Windows NT 4.0, Windows 95, Windows 95 OSR2, Windows 98. Описание применения Разработанная программа может работать и как средство для расчета стоимости электроэнергии и как система анализа и прогнозирования потребления электроэнергии потребителями. Программа позволяет вести учет потребления электроэнергии по группам потребителей с учетом различных параметров (льготы , штрафы ). В связи с этим она может применяться не только конечными пользователями , но и организациями , занимающимися начислением платы за пользование электроэнергией. Заключение В заключение приведем обзор программ , распространенных на рынке программных средств по учету электропотребителей. ASODES+K – универсальная система учета абонентов электросети и квартиросъемщиков , начисления квартплаты , коммунальных платежей и у чета поступлений платежей как за квартплату , так и за электроэнергию квартиросъемщиком . Задача может работать как при применении единой платежной книжки , так и при раздельном расчете различными организациями . ASODES учитывает любые льготы , субсидии за ква р тплату , категории домов . Изменения тарифов и перерасчеты производятся автоматически . Ввод платежей за электроэнергию может производиться по различным тарифам . Выдается широкая гамма документов как на экран , так и , при необходимости , на печать . Выписывают с я счета за начисленные платежи по квартплате и коммунальным услугам . Для освоения системы не требуется специальной компьютерной подготовки . Система устанавливается на любом IBM-совместимом компьютере ХТ , АТ -386 и далее. BANKEL – удобный , гибкий комплекс программ для учета , накопления и расчета стоимости электроэнергии предприятием . BANKEL работает с электросчетчиками как активной , так и реактивной энергии . Расчет по э /счетчикам активной энергии производится по мощности , по процентам и по показаниям . Расч е т реактивной энергии c учетом экономического значения и по процентам от счетчика активной энергии . Имеется возможность создания групп потребителей и расчет по ним . Осуществляется ввод текущих показаний объектов , замена счетчика , ввод лимитов абонентов , вв о д заявленной мощности , ввод расхода по акту , ввод поступлений из банка и из кассы . Выходные документы выдаются в полном объеме : сводки и платежки , полная оборотная ведомость , реализация , текущие поступления из банка , ведомость расхода по группам , реестр , с писки дебиторов , платежка на пени , списки названий и реквизитов абонентов , объектов , выдача статистики по годам проверки счетчика . Существует возможность архивного накопления поступлений по абоненту . Возможна самостоятельная настройка текста в платежке и НДС . Для освоения системы не требуется специальной компьютерной подготовки . Система устанавливается на любом IBM совместимом компьютере ХТ , АТ -386 и далее. ПРОГРЭС – (программа расчета , оптимизации городских распределительных электрических сетей ) – предна значена в помощь инженеру электросети , работающему на городском электросетевом предприятии , при решении задач анализа потерь в электросети 6-10 кв ., разработке мероприятий по снижению этих потерь , поиска точек оптимального деления электросети по критерию м инимума потерь мощности и энергии . Весьма полезна для моделирования нагрузок при подготовке технических условий на присоединение новых мощностей. Программа производит : · расчет токораспределения на основе нагрузок , замеренных персоналом ; · расчет напряже ния в узлах сети ; · расчет загрузки элементов сети (линий , трансформаторов ); · расчет токов короткого замыкания ; · расчет потерь мощности и энергии в линиях , трансформаторах и н /в сети 0,4 кв. Программа доступна к освоению и работе персоналом , не имеющи м специальной компьютерной подготовки , снабжена курсом обучения , обеспечивает моделирование сети при проработке технических условий по включению новых абонентов. ЭКЗАМЕН – весьма полезная программа , позволяющая проводить проверку знаний по любым тематикам. Например : проверку знаний по безопасности при работе в электроустановках , проверку знаний при работе с грузоподъемными механизмами и др. Пользователь может сам создать тему , набор вопросов и подобрать несколько возможных ответов . Программа чрезвычайно про ста в обращении . Она выставляет оценку и ведет протокол . Программа снабжена курсом обучения и может работать на компьютер любой конфигурации. Формы входных и выходных документов Распечатка экранных форм Рисунки , графики , схемы , диаграммы Структура данных Сообщения системы
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Я бросил бросать курить.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Основные сведения о СУБД", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru