Проектирование базы данных «Магазин компьютерной техники» с использованием программного продукта Microsoft SQL Server 2008 R2

Курсовой проект

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

В современном мире информация или данные представляют из себя реляционные базы данных, которые состоят из таблиц со своими колонками, строками, связями между ними.

Язык

Целью данного курсового проекта являются создание структурированной информации и возможность обработки этой информации.

Задачи курсового проекта:

  • построение нормализованной базы данных «Магазин компьютерной техники»;

  • создание в рамках данной БД отношений (таблицы), связей между ними, наполнить их необходимой информацией, создание различных пользователей, с различными уровнями доступа;

  • создание внешнего пользовательского интерфейса, который будет позволять работать с этой БД обычному пользователю, который не обладает знаниями в области SQL языка и программирования.

Выполнение курсового проекта связано непосредственно с использованием таких программных продуктов, как Microsoft SQL Server 2008 R 2, AllFusion ERwin Data Modeler и Microsoft Visual Studio.

Microsoft SQL Server — система управления реляционными базами данных, разработанная корпорацией Microsoft . Основной используемый язык запросов — TransactSQL , создан совместно Microsoft и Sybase . TransactSQL является реализацией стандарта ANSI /ISO по структурированному языку запросов (SQL ) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.

12 стр., 5546 слов

Форматы данных, представление и кодирование информации в компьютере

... развитие способов представления и кодирования различных видов информации в компьютере. Объектом изучения , представленным в теоретической части являются данные в компьютере. Цель работы – рассмотреть форматы данных их представление и кодирование в компьютере. Для достижения ... - не светится), а для его кодирования достаточно одного бита памяти: 1 - белый, 0 - черный. Пиксель на цветном дисплее ...

Microsoft

В SQL Server 2008 R2 имеется поддержка структурированных и частично структурированных данных, включая цифровые форматы для изображений, звуков, видео и других типов мультимедиа. Поддержка мультимедиа-форматов внутри СУБД позволила специализированным функциям взаимодействовать с этими типами данных.

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

Кроме этого, присутствуют специализированные форматы даты и времени и пространственный тип для пространственно зависимых данных. Для неструктурированных данных были добавлены специализированные типы, например, тип File.

Для повышения эффективности администрирования в SQL Server включены библиотеки Declarative Management Framework, позволяющие распределять полномочия для баз данных или отдельных таблиц. Были улучшены методы компрессии данных.

AllFusion ERwin Data Modeler

Microsoft Visual Studio

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов цикла разработки программного обеспечения.

Разработаем структуру базы данных (БД)

ERwin позволяет создавать логическую, физическую модели и модель, совмещающую логический и физический уровни.

Логический уровень

Объекты модели, представляемые на логическом уровне, называются сущностями и атрибутами. Логическая модель данных является универсальной и никак не связана с конкретной реализацией СУБД.

Физический уровень

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

Нормализация

Теория нормализации реляционных баз данных была разработана в конце 70-х годов 20 века. Согласно ей, выделяются шесть нормальных форм, пять из которых так и называются: первая, вторая, третья, четвертая, пятая нормальная форма, а также нормальная форма Бойса-Кодда, лежащая между третьей и четвертой.

12 стр., 5869 слов

Разработка базы данных поликлиники

... вкладок; 4 - Таблица базы данных Рисунок 2 - Главное окно программы «Учет пациентов» Для дальнейшей работы с проектируемой базой данных поликлиники необходимо дать ... работы поликлиники; Провести обзор программ-аналогов; Ознакомиться с понятием база данных, изучить ее Ознакомиться со средствами среды программирования; Спроектировать базу данных, отвечающую теме курсовой работы; Написать код ...

Первая нормальная форма, Вторая нормальная форма

в третьей нормальной форме

База данных считается нормализованной, если ее таблицы (по крайней мере, большинство таблиц) представлены как минимум в третьей нормальной форме. Часто многие таблицы нормализуются до четвертой нормальной формы, иногда, наоборот, производится денормализация. Использования таблиц в пятой нормальной форме встречается крайне редко.

Главная цель нормализации базы данных — устранение избыточности и дублирования информации. В идеале при нормализации надо добиться, чтобы любое значение хранилось в базе в одном экземпляре, причем значение это не должно быть получено расчетным путем из других данных, хранящихся в базе [1].

Разработаем логическую и физическую модели нашей базы данных

Первая нормальная форма 1

Рисунок 1 – Логическая модель

Первая нормальная форма 2

Рисунок 2 – Физическая модель

Первоначально необходимо создать базу данных

На вкладке

Файловая группа

  • пользовательские таблицы, которые постоянно изменяются пользователями;

  • таблицы справочника, которые меняются очень редко.

Таким образом, при создании БД создадим дополнительные файловые группы

Файловая группа 1

Рисунок 3 – Файловые группы

Файловая группа 2

Рисунок 4 – Создание файлов

2.2 Создание таблиц, Ограничения целостности

  • PRIMARY KEY (первичный ключ) — уникально идентифицирует каждую строку таблицы. Значение в этом столбце либо в упорядоченном наборе столбцов не могут повторяться в более чем одной строке. Столбец PRIMARY KEY определен только с атрибутом NOT NULL. Таблица может иметь только один PRIMARY KEY, который может быть определен на одном или более столбцов;

  • ограничения FOREIGN KEY задают и обеспечивают связи между таблицами. Справочные ограничения гарантируют, что значения в наборе столбцов, которые определены в FOREIGN KEY принимают те же самые значения, которые присутствуют в столбце PRIMARY KEY в справочной таблице.

    11 стр., 5056 слов

    Курсовая работа создание базы данных mysql

    ... машине, накладные расходы по работе с сетевыми средствами незначительны (установка и поддержание соединения с MySQL-сервером обходится довольно дешево). Cтруктура MySQL трехуровневая: базы данных — таблицы — записи. Базы данных и таблицы MySQL физически представляются файлами ...

Создание таблиц возможно несколькими способами:

  • самостоятельно прописать скрипт языка T SQL , используя команду CREATETABLE ;

  • используя case – средство ERwin Data Modeler , после построения логической и физической моделей автоматически сгенерировать SQL код создания таблиц;

  • с помощью графической оболочки Microsoft SQL Server Management Studio.

При работе над данным курсовым проектом использовался второй способ. С помощью

 <a href=создание таблиц 1">

Рисунок 5 – Авто генерация

CREATETABLE

 создание таблиц 2

Рисунок 6 – Измененный скрипт создания таблиц

После запуска скрипта «

 создание таблиц 3

Рисунок 7 – Структура БД

Заполнение таблиц осуществим с помощью оператора INSERT INTO . Ниже представлен пример заполнения таблицы « Tovar ».

Листинг 1 – Заполнение таблиц

INSERT INTO Dolgnost

VALUES ( N ‘1’, N ‘администратор’, N ‘20000’),

17 стр., 8469 слов

Защита баз данных

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

( N ‘2’, N ‘продавец’, N ‘18000’);

Аналогичным образом заполняются все остальные таблицы. Скрипты на заполнение оставшихся таблиц представлены в файле insert data.sql

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

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

Существует три типа триггеров:

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

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

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

Скрипт на создание триггера и скрипты для проверки работоспособности этих триггеров представлены в файле triggers . sql .

Для базы данных

  1. Триггер типа insert для таблицы Prodagi . Когда в данную таблицу будут внесены новые данные, т.е. будет совершена новая продажа, будет выводиться сообщение «Записи о продаже успешно внесены в базу данных» Код скрипта представлен в листинге 2.

Листинг

CREATE TRIGGER [insert]

ON Prodagi

AFTER INSERT

AS

BEGIN

9 стр., 4247 слов

Реляционная модель данных в системах управления базами данных

... элементом реляционной модели данных. Она поддерживается внешними ключами (foreign key). Рассмотрим пример, в котором база данных хранит информацию о рядовых служащих (таблица Служащий ) и руководителях (таблица Руководитель ) в некоторой организации (Рисунок 2). ...

SET NOCOUNT ON; — запрет вывода количества строк, на которые влияет инструкция T-SQL или хранимая процедура, в составе результирующего набора

PRINT ‘Записи о продаже успешно внесены в базу данных’

END

GO

Что бы проверить работоспособность данного триггера внесем в таблицу

Листинг 3 – Проверка работы скрипта

INSERT INTO Prodagi

VALUES ( N ‘1’, N ‘1’, N ‘1’, N ‘10000’, GETDATE (), N ‘1’, N ‘1’);

Результат показан на рисунке 8.

 создание таблиц 4

Рисунок 8 – Результат работы триггера

  1. Триггер типа update для таблицы Dolgnost . Если произойдет обновление в этой таблице (например оклад сотрудника изменится), то должно появиться сообщение «Изменения сохранены в таблице». Скрипт этого триггера представлен в листинге 4.

Листинг 4

CREATE TRIGGER [update]

ON Dolgnost

AFTER UPDATE

AS

BEGIN

SET NOCOUNT ON;

PRINT ‘Изменения сохранены в таблице’

END

GO

Скрипт для проверки триггера

Листинг 5 – Проверка триггера

UPDATE Dolgnost

SET oklad = N’25000′

WHERE ID_dolgnost = N’1′;

После выполнения вышеизложенного скрипта мы увидим следующее уведомление:

 создание таблиц 5

Рисунок 9 – Результат работы триггера

18 стр., 8617 слов

Защита баз данных

... создана система безопасности, может быть как вся база данных целиком, так и любой объект внутри базы данных. Эти два подхода отличаются - В случае избирательного управления некоторый пользователь обладает раз ... или уничтожения, а также от несанкционированного их чтения. В данной работе я затрагиваю основные аспекты защиты баз данных, их реализацию на примерах конкретных СУБД, а так же ...

  1. Триггер типа delete для таблицы Tovar. Если из этой таблицы будет удален товар (например устаревшая модель удалится из списка товаров, которые продает данный магазин), то система выдаст сообщение «Товар был успешно удален». В листинге 6 описан код этого триггера:

Листинг 6 – Триггер

CREATE TRIGGER [delete]

ON Tovar

AFTER DELETE

AS

BEGIN

SET NOCOUNT ON;

PRINT ‘Товар был успешно удален’

END

GO

Скрипт для проверки работы триггера

Листинг

DELETE FROM Tovar

WHERE ID _ tovar = N ‘1’

Результат проверки работы триггера

 создание таблиц 6

Рисунок 10 – Результат работы триггера

Пуск – администрирование – управление компьютером.

Пуск администрирование управление компьютером  1

Рисунок 11 – Создание нового пользователя

Введем имя нового пользователя Manager . Зададим для него пароль « Pa $$ w 0 rd », убираем галочку «требовать смену пароля при следующем входе в систему» и нажмем OK . Пользователь Seller с заданным паролем будет успешно создан. Аналогично создадим пользователя Admin с паролем « Pa $$ w 0 rda ». В результате получается:

Пуск администрирование управление компьютером  2

Рисунок 12 – Созданные локальные пользователи

14 стр., 6820 слов

Задачи и средства резервного копирования и хранения данных

... инкрементального резервного копирования, резервные копии занимают меньше места. Меньшее время резервного копирования и восстановления - Инкрементальное резервное копирование занимает меньше времени, чем полное и дифференциальное резервное копирование. Недостаток метода: - Данные резервного копирования сохраняются на нескольких носителях - Поскольку резервные копии расположены ...

Процесс создания пользователей внутри

  1. создание логина — учетной записи для подключения к SQL Server;

  2. затем создание пользователя базы данных, которому соответствует этот логин;

  3. предоставление пользователю необходимых разрешений.

Первое, что нужно сделать при предоставлении разрешений пользователю на информацию в SQL Server 2008 R2 — это предоставить ему логин, т. е. учетную запись, которая будет использоваться для подключения к серверу SQL Server. Прежде, чем создать логин, определим, какой тип будем использовать.

В SQL Server 2008 R2 существует два типа логина:

  • логин Windows . При использовании логинов Windows в системные таблицы базы данных master записывается информация об идентификаторе учетной записи Windows (но не пароль).

    Аутентификация производится обычными средствами Windows при входе пользователя на свой компьютер.

  • логин SQLServer . При использовании логина SQL Server пароль для этого логина хранится вместе с идентификатором логина в базе данных master. При подключении пользователя к серверу ему придется указать имя логина и пароль.

Для работы с БД

Для этого откроем контейнер

Пуск администрирование управление компьютером  3

Рисунок 13 – Создание пользователя

Вкладку

Перейдем на вкладку

Пуск администрирование управление компьютером  4

Рисунок 14 – Вкладка

Пропустим вкладку

  • Permission to connect to database engine (Разрешение на подключение к ядру баз данных) — по умолчанию для всех логинов устанавливается значение Grant, т. е. подключаться к SQL Server разрешено;

    9 стр., 4272 слов

    Программы по восстановлению данных

    ... рисунок 2 «Предупреждение об угрозе потери данных»). В этом случае дорогостоящую операцию по спасению ценных данных стоит поручить профессионалам из лаборатории по восстановлению информации. 4.1 Восстановление данных с ... на новый жесткий диск. Лучший метод – архивирование важных данных с помощью программ резервного копирования. Они позволяют выбирать папки и файлы для регулярного сохранения. ...

  • Logine nabled/disabled (Логин включен/отключен) — по умолчанию все логины включены (рисунок 15)

Пуск администрирование управление компьютером  5

Рисунок 15 – Вкладка

Разграничение прав пользователей позволяет защитить данные, как от несанкционированного доступа, так и от случайных действий определенного круга пользователей. Теперь подключимся к нашему серверу, используя логин Seller и попробуем создать таблицу в БД ComputerShop , система выдаст нам ошибку:

Пуск администрирование управление компьютером  6

Рисунок 16 – Ошибка доступа при создании таблицы в БД

Аналогичным образом создадим пользователя

На вкладке

Пуск администрирование управление компьютером  7

Рисунок 17 – Настройка прав на БД

На вкладке Роли сервера выберем

Пуск администрирование управление компьютером  8

Рисунок 18 – Вкладка серверные роли

2.6 Резервное копирование базы данных, Резервная копия

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

Различают три вида резервного копирования:

  • полное резервное копирование (fullbackup);

  • разностное (differentialbackup);

  • резервное копирование журналов транзакций (transactionlogbackup).

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

Разностное резервное копирование основано на последней полной резервной копии данных. Эта резервная копия обозначается как базовая копия для разностного копирования или основа разностного копирования. Базовая копия для разностного копирования является полной резервной копией данных, доступных для записи и чтения. Основа для разностной резервной копии содержит только те данные, которые изменились со времени создания базовой копии для разностного копирования. Обычно разностное резервное копирование, проводимое вскоре после создания основы для разностной копии, происходит быстрее и занимает меньше места, чем основа для разностной копии. Таким образом, использование разностных резервных копий может ускорить процесс частого создания резервных копий и уменьшить риск потери данных. Обычно базовая копия для разностного копирования используется при создании нескольких успешных разностных резервных копий. Во время восстановления сначала восстанавливается полная резервная копия, а затем самая последняя разностная резервная копия [2].

Со временем при обновлении базы данных количество содержащихся в разностных резервных копиях данных увеличивается. При этом резервное копирование и восстановление происходят медленнее. Рано или поздно появится необходимость создания другой полной резервной копии для обеспечения новой базовой копии для серии разностных резервных копий.

При настройке резервного копирования можно настроить расписание, по которому будет производиться резервное копирование. Для базы данных ComputerShop определим следующее расписание: раз в неделю — полное резервное копирование, раз в месяц – копирование файловых групп.

Tasks — Backup

 резервное копирование базы данных 1

Рисунок 19 – Параметры резервного копирования

Далее перейдем на вкладку

  • Overwrite media (Перезаписать носитель) — параметры, позволяющие определить режим перезаписи носителя, выберем Append to the existing media set (Добавить к существующему набору носителя).

  • Reliability: Verify backup then finished (Проверить резервную копию после завершения) — проверка целостности резервной копии после завершения резервного копирования.

Остальное оставляем без изменения.

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

 резервное копирование базы данных 2

Рисунок 20 – Настройка параметров авто резервирования БД

Далее нажимаем ОК и у нас создается плановое резервирование всей БД ComputerShop раз в месяц в 22:57 утра начиная с 01.01.2013 г.

Теперь надо создать плановое копирование файловой группы

 резервное копирование базы данных 3

Рисунок 21– Выбор файловой группы

Далее отмечаем те же пункты, что и при резервировании всей БД. Временные параметры немного изменяем. Уменьшаем время между копированиями с месяца до недели. На рисунке 22 представлены временные параметры.

 резервное копирование базы данных 4

Рисунок 22 – Временные параметры копирования файловой группы

Поскольку повседневная работа с БД

Запускаем Visual Studio 2010, выбираем вкладку Файл , затем Создать и Проект . Прописываем путь, куда хотим сохранить проект, а также указываем имя проекта. Данный проект называется «Магазин компьютерной техники».

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

 резервное копирование базы данных 5

Рисунок 23 – Авторизация пользователя

На этой форме пользователи буду вводить свои данные, и в зависимости от этих данных система будет выводить различные таблицы.

Затем необходимо подключить базу данных ComputerShop созданную в SQL Server . В данном случае понадобится компонент B inding Source . Далее выбираем Добавить источник данных проекта

[Электронный ресурс]//URL: https://liarte.ru/kursovoy/po-bazam-dannyih-sql/

. В результате откроется окно Мастер настройки источника данных (рисунок 24).

 резервное копирование базы данных 6

Рисунок 24 —

База данных

База данных 1