МІНІСТЕРСТВО НАУКИ І ОСВІТИ УКРАЇНИ
ОДЕСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
ім. І.І.Мечникова
ІНСТИТУТ МАТЕМАТИКИ, ЕКОНОМІКИ І МЕХАНІКИ
В В В В В
курсова робота
На тему
В
В«Реалізація високоуровнего інтерфейсу для роботи з базою даних 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.Основні відомості з баз даних
В
База даних - це пойменована сукупність структурованих даних, які стосуються певної предметної області. p> У сучасній технології баз даних передбачається, що їх створення, підтримка та забезпечення доступу користувачів здійснюються централізовано за допомогою спеціального програмного інструментарію - систем управління базами даних.
Система управління базами даних (СУБД) - це комплекс програмних і мовних засобів, необхідних для створення баз даних, їх підтримки в актуальному стані та організації в них пошуку необхідної інформації. Іншими словами, СУБД надає інтерфейси для доступу до даними, їх модифікації, а також зберігання.
До основних функціям СУБД прийнято відносити наступні:
В· управління даними у зовнішній пам'яті;
В· управління буферами оперативної пам'яті;
В· управління транзакціями;
В· журналізація і відновлення БД після збоїв;
В· підтримка мов БД;
Будь СУБД забезпечує як мінімум дві послуги.
Перша послуга є доступом д...