Автор работы: Пользователь скрыл имя, 18 Января 2015 в 23:26, курсовая работа
Целью курсовой работы является рассмотрение основных особенностей СУБД Postgre SQL и оценивание возможностей этой системы управления базами данных
В связи с этим, необходимо решить следующие задачи:
• проследить историю развития;
• рассмотреть основные особенности СУБД Postgre SQL;
• изучить работу
• оценить современные возможности Postgre SQL.
Введение………………………………………………………….…………3
1. Краткая история POSTGRE SQL. 6
1.1. Проект Postgre SQL департамента Беркли. 6
1.2. . Postgres95. 7
1.3. . PostgreSQL. 9
2. Основные возможности и функциональность. 11
2.1. Типы данных. 12
2.1.1. Числовые типы. 12
2.1.2. Символьные типы. 13
2.1.3. Бинарные типы. 13
2.1.4. Типы даты/времени. 13
2.1.5. Логические типы. 14
2.1.6. Остальные стандартные типы. 15
2.1.7. Определение пользовательских типов. 15
2.2. Функции. 17
2.2.1. Хранимые процедуры. 17
2.2.2. Триггеры. 20
2.2.3. Правила. 22
2.3. Индексы. 22
2.4. Целостность данных. 24
2.4.1. Транзакции. 24
2.4.2. Ограничения. 25
2.4.3. Блокировки. 26
3. Сферы применения Postgre SQL сегодня. 27
Заключение 30
Список использованной литературы 31
Транзакция —это единый блок операций, который нельзя разорвать. Либо совершается весь блок, либо всё отменяется. PostgreSQL в условиях параллельного доступа распространяет информацию об операциях только по завершению транзакции. Транзакция начинается с оператора BEGIN и заканчивается оператором COMMIT (подтверждение транзакции) или ROLLBACK (отмена транзакции). Возможен режим, когда каждый запрос сам себе транзакция, например, такой режим по умолчанию используется в psql. Для отмены этого режима достаточно набрать BEGIN;. Неудобством при использовании транзакций является то, что в случае ошибки какого-то из запросов приходится отменять всю транзакцию. Для устранения этого недостатка в 8ой версии PostgreSQL были добавлены точки сохранения (savepoints).
db=> −− начинаем транзакцию db=> BEGIN; db=> −− здесь идёт блок операторов , который удачно завершается db=> −− ставим метку db=> SAVEPOINT savepoint_one ; db=> −− здесь идёт блок операторов , в котором произошла ошибка db=> −− откатываемся до установленной метки , db=> −− а не отменяем всю транзакцию db=> ROLLBACK TO savepoint_one ; db=> −− повторяем последний блок db=> −− завершаем транзакцию db=> COMMIT; db=> −− всё , теперь изменения доступны всем |
Целостность данных обеспечивается не только многоверсионностью PostgreSQL, но и «архитектором» таблиц базы данных. При создании таблицы (CREATE TABLE) или позже можно всегда создать ограничение (CONSTRAINT) на диапазон записываемых в таблицу данных. Это может могут простые арифметические условные выражения, требования уникальности (UNIQUE или PRIMARY KEY), так и более сложные ограничения в виде внешних ключей (FOREIGN KEY).
Если какой-то столбец A является внешним ключом (FOREIGN KEY) по отношению к столбцу B (REFERENCES), то это означает, что только данные представленные в столбце B могут появиться в качестве значений столбца A. В случае внешних ключей PostgreSQL осуществляет автоматический контроль ссылочной целостности3. Это довольно интересный механизм, который, например, позволяет моделировать иерархические структуры.
Так как пользователь в условиях параллельного доступа к базе данных работает со своим мгновенным снимком (следствие MVCC), то в принципе можно придумать ситуацию, когда полученные данные устаревают, так как во время получения, они были изменены. Если это важно, то PostgreSQL предоставляет полный ассортимент блокировок. С помощью команды LOCK можно заблокировать таблицу, а инструкция SELECT FOR UPDATE позволяет заблокировать отдельные записи. Следует учитывать, что использование блокировок увеличивает шанс взаимной блокировки (deadlock). PostgreSQL умеет определять случаи возникновения взаимной блокировки и разрешать их путём прекращения одной из транзакций, но на это уходит время.
Если изначально POSTGRES использовался в основном в академических проектах для исследования алгоритмов баз данных, в университетах как отличная база для обучения, то сейчас PostgreSQL применяется практически повсеместно. Например, зоны .org, .info полностью обслуживаются PostgreSQL, известны многотерабайтные хранилища астрономических данных, Lycos, BASF. Из российских проектов, использующих PostgreSQL, наиболее известными является портал Рамблер, федеральные порталы Минобразования.
Впрочем, ничто не мешает использовать эту СУБД и для web-приложений, например, форума или галереи изображений.
В 2005 году выпущена версия PostgreSQL
v8 , которая стала значительным событием
в мире баз данных, так как количество
новых возможностей добавленных в этой
версии, позволяет говорить о возникновении
интереса крупного бизнеса как в использовании,
так и его продвижении. Так, крупнейшая
компания в мире, Fujitsu поддержала работы
над версией 8, выпустила коммерческий
модуль Extended Storage Management. Либеральная BSD-лицензия позво
Версия 8.1 является новым шагом в сторону больших и нагруженных систем, предназначенных для непрерывной работы в режиме 24x7x365. Это подтверждается тем, что большие компании начинают использовать PostgreSQL в реальном бизнесе. Так, Sony Online Entertainment объявила [SOE05] об инвестировании 1.5 млн. USD в Enterprise DB для перехода с Oracle на PostgreSQL 8.1.
В России крупнейший оператор сотовой связи компания Вымпелком (Beeline) тестирует ПО работающее с PostgreSQL и находится на стадии заключения контракта на поддержку кластера PostgreSQL. Компания Sun Microsystem объявила [SUN05] об официальной поддержке PostgreSQL (входит в Solaris 10), "beta" версия пакетов, оптимизированных для Solaris, уже доступна [SUN06]. Кроме этого, Sun поддерживает PostgreSQL в режиме 24x7.
PostgreSQL поддерживается на всех современных Unix системах (34 платформы), включая наиболее распространенные, такие как Linux, FreeBSD, NetBSD, OpenBSD, SunOS, Solaris, DUX, а также под Mac OS X. Начиная с версии 8.X PostgreSQL работает в "native" режиме под MS Windows NT, Win2000, WinXP, Win2003. Известно, что есть успешные попытки работать с PostgreSQL под Novell Netware 6 и OS2.
PostgreSQL неоднократно признавалась базой года, например, Linux New Media AWARD 2004, 2003 Editors' Choice Awards, 2004 Editors' Choice Awards.
Традиционно, PostgreSQL широко используется в научных проектах. Так был запущен проект SAI CAS (Catalog Access Service), в рамках международной программы Virtual Observatory (Виртуальная Обсерватория), как часть проекта Астронет, ориентированного на профессиональное астрономическое сообщество и где в качестве СУБД для работы с очень большими астрономическими каталогами (1Tb), используется PostgreSQL 8.1. Сервер БД HP rx1620 (Itanium2) был предоставлен HP Russia
PostgreSQL используется как полигон для исследований нового типа баз данных, ориентированных на работу с потоками данных - это проект TelegraphCQ, стартовавший в 2002 году в Беркли после успешного проекта Telegraph (название главной улицы в Беркли). Интересно, что компания Streambase, которая была основана Майком Стоунбрейкером в 2003 году (изначально "Grassy Brook") для коммерческого продвижения этого нового поколения баз данных, никаким образом не ассоциируется с проектом Беркли.
Заключение
Завершая работу, можно прийти к выводу,
что SQL - это высокоуровневый язык запросов,
предназначен для работы с базами данных.
Она позволяет модифицировать данные,
составлять и выполнять запросы, выводить
результаты в виде отчетов.
В данном курсовом проекте была рассмотрена система управления базами данных PostgreSQL, которая является одной из самых развитых в своей категории, позволяет полноценную реализацию баз данных на основе SQL, обеспечивает все стандарты SQL, и кроме того позволяет использование собственных дополнительных возможностей.
Также было выяснено, что сильными сторонами PostgreSQL считаются:
дополнительно можно использовать PL/Java, PL/PHP, PL/Py, PL/R,
а также имеется поддержка загрузки C совместимых модулей[];
Рассмотрев особенности и возможности СУБД Postgre SQL, можно сделать вывод, что PostgreSQL - это свободно распространяемая объектно-реляционная система управления базами данных (ORDBMS), наиболее развитая из открытых СУБД в мире и являющаяся реальной альтернативой коммерческим базам данных.
Список использованной
литературы
1. http://www.postgresql.org/
2. Клим Б.В. Конспект лекций по предмету
“Базы данных”
3. В.В. Кириллов Основы проектирования
реляционных баз данных. Учебное пособие.
- СПб.: ИТМО, 1994.
4. М. Мейер Теория реляционных баз данных.
- М.: Мир, 1987.
5. PostgreSQL Reference Manual - Volume 1: SQL Language Reference
The PostgreSQL Global Development Group, 2007.
Информация о работе СУБД Postgre SQL. История, современные возможности