Построение базы данных

Автор работы: Пользователь скрыл имя, 12 Мая 2012 в 19:48, курсовая работа

Краткое описание

В данной курсовой работе затронуты проблемы, возникающие при параллельной работе, т.е. при выполнении логических единиц работы -транзакций.
Кроме этого рассмотрены современные методы и подходы для исправления и избегания данных проблем.
В практической части (Глава 3 Построение базы данных) описывается создание базы данных на примере футбольных матчей (БД «Футбольные матчи»). Данная база была построена с нуля, и в ней отображены все шаги при строительстве БД, начиная от создания таблиц и кончая сложными многотабличными формами и макросами. Имеется подробная иллюстрация различных шагов при создании этой базы данных.

Содержание

Введение
2
Глава 1. Транзакции
4
1.1. Понятие и сущность транзакций
4
1.2. Двухфазная фиксация транзакций
8
Глава 2. Проблемы параллельности и их решение
12
2.1. Проблемы параллельности
12
2.2. Решение проблем параллельности
23
Глава 3. Построение базы данных
46
3.1. Разработка и создание таблиц

3.2. Создание форм

3.3. Проектирование запросов

3.4. Создание кнопочной формы

3.5. Работа с макросами

Заключение
55
Список литературы

Вложенные файлы: 1 файл

Копия Содержание.doc

— 760.50 Кб (Скачать файл)

Для этого строим запрос в режиме Конструктора.

 

 

SQL запрос будет выглядеть так: SELECT Игроки.Игрок, Игроки.[Дата рождения], Игроки.Амплуа

FROM Игроки

WHERE (((Игроки.[Дата рождения])<#1/1/1986#) AND ((Игроки.Амплуа)="Нападающий" Or (Игроки.Амплуа)="Защитник"));

 

2.                 На добавление.

 

Допустим, было принято решение добавить еще несколько судей из списка кандидатов, обязательным критерием было, чтобы судьи были старше 1965 года рождения. Для этого с помощью конструктора или мастера запросов создаем запрос, поставим тип запроса Добавление -появится окно, в котором нужно выбрать таблицу для добавления данных.  Запрос будет иметь вид:

 

 

 

SQL запрос будет выглядеть так: INSERT INTO Судья ( Судья, [Дата рождения] )

SELECT [Кандидаты в судьи].Судья, [Кандидаты в судьи].[Дата рождения]

FROM [Кандидаты в судьи]

WHERE ((([Кандидаты в судьи].[Дата рождения])<#1/1/1965#));

 

3.                 На создание запроса с параметром.

 

Допустим, нужно создать запрос, при нажатии на который появлялось бы текстовое поле для ввода собственных значений для какого-нибудь поля запроса. Для этого создадим запрос в режиме Конструктора, и в условиях отбора для выбираемого поля поставим знаки [ ]. Внутри них можно написать подсказку или указания для ввода параметра. При запуске запроса появится окошко для вода параметра.

 

Пример SQL запроса с параметром:

SELECT Игроки.Команда, Игроки.Игрок, Игроки.[Дата рождения], Игроки.Амплуа

FROM Игроки

WHERE (((Игроки.Команда)=[Введите название команды]));

Создание кнопочной формы.

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

Установка пароля БД

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

Заключене

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

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

Одним из методов обеспечения сериальности графика запуска является протокол доступа к данным при помощи блокировок. В простейшем случае различают S-блокировки (разделяемые) и X-блокировки (монопольные).

Если все транзакции в смеси подчиняются протоколу доступа к данным, то проблемы параллелизма решаются (почти все, кроме "фантомов"), но появляются тупики. Состояние тупика (dead locks) характеризуется тем, что две или более транзакции пытаются заблокировать одни и те же объекты, и бесконечно долго ожидают друг друга.

Для разрушения тупиков система периодически или постоянно поддерживает графа ожидания транзакций. Наличие циклов в графе ожидания свидетельствует о возникновении тупика. Для разрушения тупика одна из транзакций (наиболее дешевая с точки зрения системы) выбирается в качестве жертвы и откатывается.

Для решения проблемы "фантомов", а также для уменьшения накладных расходов, вызываемых большим количеством блокировок, применяются более сложные методы. Одним из таких методов являются преднамеренные блокировки, блокирующие объекты разной величины - строки, страницы, таблицы, файлы и др.

Альтернативным является метод предикатных блокировок

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

С каждым годом увеличивается Интернет аудитория, соответственно увеличивается нагрузка на базы данных, без которых на сегодняшний день невозможна «жизнь» большинства современных сайтов, порталов. И совершенно справедливо признаем, что параллельная обработка транзакций является одним из важных при проектировании и эксплуатации баз данных. На мой взгляд, работа над совершенствованием баз данных для работы в параллельных режимах является одной из ключевых. Так как успехи в данной области позволили бы выполнять корректную обработку транзакций и ускорить работу БД. 

 

 

 

 

 

 

Список литературы.

Учебные пособия.

1.     К. Дж. Дейт  Введение в системы баз данных 8-е издание 1315 стр., с ил.; изд. Вильямс. 2005г.,

2.     А.В.Кузин, С.В.Левонисова Базы данных: учеб. пособие для студ. высш. учеб. Заведений, Издательство: М. : Издательский центр «Академия», 2008, 320стр.

3.     Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник, М.: Финансы и статистика, 2006

4.     Джен Л. Харрингтон Проектирование реляционных баз данных, изд. Лори, 2006г, 230стр.

5.     Райордан Р. Основы реляционных баз данных. М.: Издательско-торговый дом Русская Редакция, 2001. — 384 с.

6.     Кузнецов С. Д. Основы баз данных: учебное пособие, М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007г, 484 стр.

Интернет-источники

7.     www.wikipedia.org

8.     www.citforum.ru

9.     http://cmc.ksu.ru/books/Access-Web_1_1/index.html - Е.М.Карчевский, И.Е.Филиппов. Access в примерах

40

 



[1] http://ru.wikipedia.org/wiki/Транзакция

[2] К. Дж. Дейт  Введение в системы баз данных 8-е издание 1315 стр., с ил.; изд. Вильямс. 2005г., стр. 573.

[3] Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник, М.: Финансы и статистика, 2006

[4] Райордан Р. Основы реляционных баз данных. М.: Издательско-торговый дом Русская Редакция, 2001. — 384 с.

[5] Джен Л. Харрингтон Проектирование реляционных баз данных, изд. Лори, 2006г, 230стр.

[6] Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник, М.: Финансы и статистика, 2006


Информация о работе Построение базы данных