База данных фирмы, проводящей аукционы

Автор работы: Пользователь скрыл имя, 20 Января 2013 в 16:13, курсовая работа

Описание работы

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

Содержание работы

Содержание 3
1. Анализ предметной области 4
2. Концептуальное проектирование базы данных 5
2.1 Разработка схемы базы данных 5
2.2 Разработка структуры таблиц 5
2.3 Описание атрибутов таблиц 6
3. Реализация базы данных в среде СУБД MS SQL Server 2000 9
3.1 Создание базы данных 9
3.2 Основные принципы создания таблиц 14
4. Доступ и обработка данных с помощью утилиты Enterprise Manager 20
4.1 Создание представлений для доступа к данным 20
4.2 Создание и управление индексами 22
4.3 Создание запросов 24
Список используемых источников 27
Приложения 1 – 15……………………………………………………………. 42

Файлы: 1 файл

auctionsDB.doc

— 1.61 Мб (Скачать файл)

При определении столбца для  индекса следует выбирать ключевые столбцы, которые задают критерии выборки  данных. Не следует использовать столбцы  с очень длинными данными.

В MS SQL Server 2000 реализованы следующие типы индексов:

  • кластерные индексы
  • некластерные индексы
  • уникальные индексы.

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

Некластерные индексы являются наиболее типичными. Они не требуют  перестройки физической структуры  таблицы, а лишь реализуют ссылки на соответствующие строки. Эти ссылки имеют следующую структуру:

  • идентификационный номер файла, в котором хранится строка
  • идентификационный номер страницы данных
  • номер строки на странице
  • содержимое столбца.

При создании в таблице первичного ключа с помощью слов Primary Key сервер автоматически создает для него кластерный индекс, если он не был задан ранее или для первичного ключа не задан NONEKLUSTERED.

Уникальные индексы гарантируют  уникальные значения в индексируемом  столбце. Он является надстройкой для  таблицы и может быть реализован как для кластерного, так и для некластерного индекса.

При определении индекса надо задавать параметр факта заполнения (fill factor).

Право на создание индекса имеет  только владелец таблицы. Индекс можно  создать тремя способами:

    1. мастером Create Index Wizard
    1. с помощью Enterprise Manager
    1. с помощью языка Transact-SQL

4.3 Создание запросов

SQL  (Structured Query Language — язык структурированных  запросов) — универсальный компьютерный  язык, применяемый для создания, модификации и управления данными  в реляционных базах данных. Вопреки  существующим заблуждениям, SQL является информационно-логическим языком, а не языком программирования.

Запросы необходимы для выборки  данных из таблиц созданной базы данных. Выборка данных из базы данных производится с помощью команды SELECT:

Select [Name]

From [Products]

Where [Date_D]='23.04.2008'

Order by [Type] DESC,

[Name] ASC

В общем случае команда SELECT начинается с ключевого слова SELECT, за ним идет список имен столбцов, которые Вы хотите видеть, или *(звездочка) если Вы хотите видеть все столбцы. За тем идет ключевое слово FROM, далее имя таблицы, к которой делается запрос.

DISTINCT - аргумент, который обеспечивает устранение двойных значений в Вашей команде SELECT. Предположим, что Вы хотите знать какие агенты в настоящий момент имеют заказы в таблице заказов. Вам не нужно знать сколько заказов имеет каждый, Вам нужен только список кодов агентов (snum). Поэтому Вы можете ввести

WHERE - предложение команды SELECT, которое позволяет задавать условие, которое может быть верным или неверным для любой строки таблицы. Команда извлекает только те строки из таблицы, для которых это условие верно. Предположим, что Вы хотите видеть имена и комиссионные всех агентов в Москве

Логические операторы:

  • AND логическое "И"
  • OR логическое "ИЛИ"
  • NOT логическое отрицание

Оператор AND сравнивает два логических значения и возвращает TRUE (истина), если оба значения истинны (т.е. равны TRUE), в остальных случаях - FALSE (ложь). Оператор OR возвращает TRUE, если хотя бы один из аргументов равен TRUE. Оператор NOT возвращает TRUE, если его аргумент равен FALSE и наоборот.

Использование логических операторов значительно увеличивает  возможности команды SELECT.

Рассмотрим теперь специальные  операторы: IN, BETWEEN, LIKE, IS NULL.Оператор IN определяет список значений, в который должно входить значение поля

SELECT *

FROM Salespeople

WHERE city = 'Москва' OR

   city = 'Хабаровск'

Но есть есть более  простой способ:

SELECT *

FROM Salespeople

WHERE city IN ( 'Москва', 'Хабаровск' )

Результат этого запроса:

SNUM  SNAME   CITY       COMM

1001  Иванов  Москва     12.0

1002  Петров  Хабаровск  13.0

Набор значений для оператора IN заключается в круглые скобки, значения разделяются запятыми.

Оператор BETWEEN похож на оператор IN. В отличие от списка допустимых значений BETWEEN определяет диапазон значений. В запросе Вы должны указать слово BETWEEN затем начальное значение, ключевое слово AND и конечное значение

Оператор LIKE применим только к символьным полям, с которыми он используется, чтобы находить подстроки. Т.е. он ищет поле символа, чтобы видеть совпадает ли с условием часть его строки. В качестве условия он использует специальные символы:

select * from seller where address_seller like '%Пенза%'

union all

select * from buyers where addres_buyer like '%Пенза%'

SQL Server предоставляет несколько агрегатных функций:

  • COUNT - производит подсчет строк, удовлетворяющих условию запроса
  • SUM - вычисляет арифметическую сумму всех значений колонки
  • AVG - вычисляет среднее арифметическое всех значений
  • MAX - определяет наибольшее из всех выбранных значений
  • MIN - определяет наименьшее из всех выбранных значений

Функции SUM и AVG применимы только к числовым полям. С COUNT, MAX, MIN могут использоваться числовые или символьные поля. При использовании с символьными полями MAX, MIN сравнивают значения в алфавитном порядке. Агрегатные функции при своей работе игнорируют значения NULL.

Параметры ASC и DESC определяют метод сортировки ключевых элементов – соответственно по возрастанию или по убыванию

4.3  Хранимые процедуры и триггеры

 

Часто разработчикам приходится реализовывать сложные алгоритмы поддержки целостности данных. Использование ограничений целостности Primary Key, Foreign Key и других предоставляют разработчикам достаточно эффективные механизмы обеспечения целостности данных. Однако их бывает недостаточно. Например, с помощью упомянутых механизмов нельзя разрешить изменение данных в том случае, если в одном из столбцов находится определенное значение.

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

Триггеры (triggers) в SQL Server 2000 представляют собой набор команд Transact-SQL, выполняемых автоматически при осуществлении тех или иных модификаций данных в таблице. Физически триггеры являются ни чем иным, как хранимыми процедурами специального типа. Каждый триггер связан с конкретной таблицей и запускается сервером автоматически каждый раз, когда пользователи пытаются произвести вставку, изменение или удаление данных. Триггер получает всю информацию о выполняемых пользователем изменениях в таблице. Разработчик реализовывает в триггере необходимые проверки и изменения данных в других таблицах базы данных.

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

Триггеры различаются  по типу команд, на которые они реагируют:

  • INSERT TRIGGER – запускаются при попытке вставить данные с помощью команды INSERT;
  • UPDATE TRIGGER – запускаются при попытке изменения данных с помощью команды UPDATE;
  • DELETE TRIGGER – запускаются при попытке удаления данных с помощью команды DELETE.

 

Использование хранимых процедур позволяет снизить стоимость сопровождения системы и дает возможность избавиться от необходимости изменять клиентские приложения. Если понадобится изменить логику обработки данных, чтобы она отразилась для всех приложений сети, количество которых может насчитывать десятки и сотни, то достаточно будет изменить только хранимую процедуру.

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

В SQL Server 2000 различают  несколько типов хранимых процедур:

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

 

 

Заключение

Microsoft SQL Server 2000 - это законченное предложение  в области баз данных и анализа  данных для быстрого создания  масштабируемых решений электронной  коммерции, бизнес-приложений и  хранилищ данных. Оно позволяет  значительно сократить время  выхода этих решений на рынок, одновременно обеспечивая масштабируемость, отвечающую самым высоким требованиям. В сервер SQL Server 2000 включена поддержка языка XML и протокола HTTP, средства повышения быстродействия и доступности, позволяющие распределить нагрузку и обеспечить бесперебойную работу, функции для улучшения управления и настройки, снижающие совокупную стоимость владения. Кроме того, SQL Server 2000 полностью использует все возможности операционной системы Windows, включая поддержку до 32 процессоров и 64 ГБ ОЗУ.

Система управления базами данных SQL Server 2000 предоставляет пользователям широкие возможности по разработке и сопровождению баз данных. Для этого в составе системы имеется набор графических средств (Enterprise Manager, Query Analyzer), языковых средств (язык Transact-SQL), набор хранимых процедур.

Основными задачами в процессе разработки и сопровождения баз данных в  среде SQL Server 2000 являются создание, модификация и удаление баз данных, таблиц, а также объектов баз данных, таких как индексы, представления, запросы, хранимые процедуры и триггеры.

В результате выполнения курсового  проекта была создана база данных обслуживания фирмы, проводящей аукционны. На основе полученных знаний о MS SQL Server 2000 сделали вывод, что эта программа позволяет не только создавать базы данных, но обработку данных и выдачу ответов на запросы.

 

Список используемых источников

 

 

  1. А.В.Сивохин, С.В.Шибанов, С.В.Самуилов. Разработка и сопровождение БД в среде MS SQL Server 2000 (Текстовый документ). - Пенза, 2004.
  2. Е. Мамаев. MS SQL Server 2000. - СПб.: Питер 2002.
  3. Л. Шкарина Язык SQL: учебный курс, - СПб.: Питер, 2001, - 592 с.
  4. Конноли Т., Бегг Л., Страчан А. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 2-е издание. – М.: Вильямс, 2000.

 

Приложение №1

Таблица «Аукционы»

 

 

 

 

 

 

 

 

Приложение №2

Таблица «Покупатели»

 

Приложение 3

Таблица «Продавцы»

 

 

 

 

Приложение 3

Информация о работе База данных фирмы, проводящей аукционы