МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ УКРАИНЫ
ОДЕССКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ
им. И.И.Мечникова
ИНСТИТУТ МАТЕМАТИКИ, ЭКОНОМИКИ И МЕХАНИКИ
курсовая работа
На тему
«Реализация высокоуровнего интерфейса для работы с базой данных Berkeley DB »
студента 5 курса
кафедры математического
обеспечения компьютерных систем
Трофимова Бориса
Научный руководитель:
доц. Каменева А. В.
Одесса 2004
Содержание
1. Введение
2. Основные сведения из баз данных
· основные определения и классификация
· типы пользователей к БД
· механизм транзакций и курсоров
3. Основные сведения из Berkeley DB
4. Основные сведения по программной системе генерации языков программирования YAPP
5. Структура разрабатываемой программы
· Ядро, включающее в себя библиотеку классов и все необходимые для работы стаба инструменты
· Лексический анализатор, его структура
· Синтаксический анализатор, его структура
· Семантика, генерация С++ стабов (автоматически сгенерированный программный код)
6. Пример работы программы
7. Заключение
8. Список используемой литературы
9. Приложения
1.Введение
В современном информационном мире, пожалуй, нет места, где бы не использовались информационные хранилища данных – базы данных. Они нужны во всех отраслях информационного хозяйства, в них хранится информация про курсы валют, бронирование авиабилетов, координаты спутника и т. д. Естественно, доступ к таким данным может осуществляться в режиме реального времени, следовательно время, скорость реакции программной системы - это один из самых существенных критериев.
На сегодняшний день в результате естественной эволюции чаще используются реляционные, сетевые, объектно-ориентированные, а также объектно-реляционные базы данных. Наибольшее распространение получила реляционная модель. Этому способствовало несколько причин:
1. Реляционная модель является универсальной, то есть с ее помощью в принципе можно реализовать любую схему данных.
2. Реляционная модель имеет под собой математический аппарат реляционной алгебры, она более формализована, нежели остальные модели.
3. Реляционная модель имеет универсальный язык доступа к данным SQL , с помощью которого можно конструировать запросы уже после создания базы данных, и структура которых ограничена только лишь фантазией пользователя (кстати, необязательно программиста).
Однако за универсальность нужно платить. И одним из слабых мест у реляционных СУБД является скорость выполнения запроса! Конечно, создаются интеллектуальные препроцессоры, оптимизирующие запрос, а также время его выполнения (так, например, такой есть в InterBase , Oracle , Informix ), но проблема заключается в самой модели. Были проведены эксперименты, в ходе которых работа с навигационно-сетевой СУБД( Berkeley DB ) была эффективней на порядок, чем с реляционной СУБД( Informix ).
Таким образом, сетевые СУБД работают быстрей, однако они более запутанней, их семантика более сложная, чем реляционная, практически недоступная для понимания конечного пользователя. Интерфейс к такой базе данных обычно является низкоуровневым. Возникает вопрос, а нельзя ли как-нибудь поднять уровень абстракции, сделать интерфейс к ней более понятным и простым для программиста. Это послужило основой для данной работы.
Итак, постановка задачи:
Сформировать транслятор генерации объектно-ориентированного интерфейса на С++ для работы с низкоуровневой СУБД BerkeleyDB по заданной пользователем схеме данных.
2.Основные сведения из баз данных
База данных – это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
В современной технологии баз данных предполагается, что их создание, поддержка и обеспечение доступа пользователей осуществляются централизованно с помощью специального программного инструментария — систем управления базами данных.
Система управления базами данных (СУБД) - это комплекс программных и языковых средств, необходимых для создания баз данных, их поддержания в актуальном состоянии и организации в них поиска необходимой информации. Другими словами, СУБД предоставляет интерфейсы для доступа к данным, их модификации, а также хранения.
К основным функциям СУБД принято относить следующие:
· управление данными во внешней памяти;
· управление буферами оперативной памяти;
· управление транзакциями;
· журнализация и восстановление БД после сбоев;
· поддержка языков БД;
Любая СУБД обеспечивает как минимум две услуги.
Первая услуга является доступом к данным. Она означает, что пользователь должен иметь возможность добавлять, удалять, модифицировать данные. Все современные СУБД обеспечивают эти услуги.
Вторая услуга является управлением данных. Управление Данных более сложное, чем доступ к данным. Например, услуги управления данными включают возможность параллелизма. Параллелизм означает, что многочисленные пользователи могут работать с БД в одно и тоже время.
Базы данных по доступу к данным можно разделить на следующие
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.