Автор работы: Пользователь скрыл имя, 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
При определении столбца для индекса следует выбирать ключевые столбцы, которые задают критерии выборки данных. Не следует использовать столбцы с очень длинными данными.
В MS SQL Server 2000 реализованы следующие типы индексов:
При определении кластерного
Некластерные индексы являются наиболее типичными. Они не требуют перестройки физической структуры таблицы, а лишь реализуют ссылки на соответствующие строки. Эти ссылки имеют следующую структуру:
При создании в таблице первичного ключа с помощью слов Primary Key сервер автоматически создает для него кластерный индекс, если он не был задан ранее или для первичного ключа не задан NONEKLUSTERED.
Уникальные индексы
При определении индекса надо задавать параметр факта заполнения (fill factor).
Право на создание индекса имеет только владелец таблицы. Индекс можно создать тремя способами:
SQL (Structured Query Language — язык структурированных
запросов) — универсальный компьютерный
язык, применяемый для создания,
модификации и управления
Запросы необходимы для выборки данных из таблиц созданной базы данных. Выборка данных из базы данных производится с помощью команды 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 сравнивает два логических значения и возвращает 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 предоставляет несколько агрегатных функций:
Функции SUM и AVG применимы только к числовым полям. С COUNT, MAX, MIN могут использоваться числовые или символьные поля. При использовании с символьными полями MAX, MIN сравнивают значения в алфавитном порядке. Агрегатные функции при своей работе игнорируют значения NULL.
Параметры ASC и DESC определяют метод сортировки ключевых элементов – соответственно по возрастанию или по убыванию
Часто разработчикам приходится реализовывать сложные алгоритмы поддержки целостности данных. Использование ограничений целостности Primary Key, Foreign Key и других предоставляют разработчикам достаточно эффективные механизмы обеспечения целостности данных. Однако их бывает недостаточно. Например, с помощью упомянутых механизмов нельзя разрешить изменение данных в том случае, если в одном из столбцов находится определенное значение.
Описанная ситуация является простейшим примером того, какие проверки нередко приходится выполнять перед изменением, удалением или вставкой данных в таблицу. В реальной ситуации применяются гораздо более сложные алгоритмы предварительной проверки данных. Помимо выполнения простых проверок, при модификации данных одной таблицы иногда бывает необходимо соответствующим образом модифицировать данные одной или нескольких таблиц. Решением описанной задачи является использование триггеров.
Триггеры (triggers) в SQL Server 2000 представляют собой набор команд Transact-SQL, выполняемых автоматически при осуществлении тех или иных модификаций данных в таблице. Физически триггеры являются ни чем иным, как хранимыми процедурами специального типа. Каждый триггер связан с конкретной таблицей и запускается сервером автоматически каждый раз, когда пользователи пытаются произвести вставку, изменение или удаление данных. Триггер получает всю информацию о выполняемых пользователем изменениях в таблице. Разработчик реализовывает в триггере необходимые проверки и изменения данных в других таблицах базы данных.
Когда пользователь начинает изменение данных, сервер автоматически начинает транзакцию, в которой и выполняется триггер. В теле транзакции разработчик может реализовывать произвольные алгоритмы, которые могут выполнять как проверку, так и изменения данных. В конце концов, работа триггера сводится либо к фиксации, либо к откату транзакции, которая осуществляет изменение данных. Если выполняется откат транзакции, то попытка пользователя изменить данные отменяется. При этом также отменяются все исправления, сделанные самим триггером в различных таблицах (если они выполнялись). При фиксации транзакции производится как фиксирование изменений, выполненных пользователем, так и изменений, сделанных самим триггером.
Триггеры различаются по типу команд, на которые они реагируют:
Использование хранимых процедур позволяет снизить стоимость сопровождения системы и дает возможность избавиться от необходимости изменять клиентские приложения. Если понадобится изменить логику обработки данных, чтобы она отразилась для всех приложений сети, количество которых может насчитывать десятки и сотни, то достаточно будет изменить только хранимую процедуру.
Кроме того, использование хранимых процедур также позволяет значительно повысить безопасность данных. Приложение или пользователь получают лишь специальное право на выполнение хранимой процедуры, которая и будет обращаться к данным. Доступа же к самим данным пользователь не получает. В хранимой процедуре можно реализовать проверки на правильность выполняемых изменений, что обеспечит логическую целостность данных. Также можно реализовать проверки на права пользователя выполнять те или иные действия.
В SQL Server 2000 различают несколько типов хранимых процедур:
Система управления базами данных SQL Server 2000 предоставляет пользователям широкие возможности по разработке и сопровождению баз данных. Для этого в составе системы имеется набор графических средств (Enterprise Manager, Query Analyzer), языковых средств (язык Transact-SQL), набор хранимых процедур.
Основными задачами в процессе разработки и сопровождения баз данных в среде SQL Server 2000 являются создание, модификация и удаление баз данных, таблиц, а также объектов баз данных, таких как индексы, представления, запросы, хранимые процедуры и триггеры.
В результате выполнения курсового проекта была создана база данных обслуживания фирмы, проводящей аукционны. На основе полученных знаний о MS SQL Server 2000 сделали вывод, что эта программа позволяет не только создавать базы данных, но обработку данных и выдачу ответов на запросы.
Приложение №1
Таблица «Аукционы»
Приложение №2
Таблица «Покупатели»
Приложение 3
Таблица «Продавцы»
Приложение 3