Разработка информационной системы "Магазин компьютерных товаров"

Создание базы данных для ускорения продажи компьютерных товаров. Основные типы данных, используемые в Microsoft Server, команды Structured Query Language. Создание пользовательского интерфейса для работы с базой данных. Реализация информационных систем.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 05.10.2016
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Хабаровского края

КГБ ПОУ ХПЭТ

КУРСОВАЯ РАБОТА

Дисциплина: МДК 01.02 Методы и средства проектирования ИС

Тема: Разработка АИС «Магазин компьютерных товаров»

Выполнил: Черепнин А.П.

Студент группы ИС-31(11)

Проверил: Зайчук С. В.

Хабаровск 2016г.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. Теоретические основы баз данных

1.1 Основные термины теории баз данных

1.2 Нормализация Базы Данных

1.3 Типы данных и команды SQL

2. Реализация информационных систем

2.1 Реализация с помощью средств быстрой разработки

2.2 Реализация с помощью в СУБД SQL Server 2000(2014)

2.3 Создание пользовательского интерфейса для работы с базой данных

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

ВЕДЕНИЕ

В настоящее время трудно представить себе функционирование крупного предприятия без АИС, в частности баз данных, которые значительно упрощают хранение актуальной и самой точной информации. Базы данных помогают систематизировать данные, обеспечивают быстрый доступ к данным, с их помощью можно быстро составить самый подробный отчёт. А в сфере торговли хранилища данных, стали просто незаменимыми для крупных магазинов. Например, в наше время практически все крупные магазины используют такую АИС как «1С - торговля», в бухгалтериях большинства крупных предприятий используется АИС «1С - Бухгалтерия».

Цель моей курсовой работы - создание АИС «Магазин компьютерных товаров», которая призвана максимально ускорить процесс продажи компьютерных товаров.

Задачи АИС:

1. Хранение актуальной информации о наличии товаров на складе магазина, а также в других магазинах сети.

2. Быстрый поиск остатков товара в магазине.

3. Быстрое оформление чека на покупку.

Пояснительная записка к курсовой работе состоит из двух частей:

1. Теоретическая часть, в которой описаны основные термины теории баз данных, понятие нормализации баз данных, список основных команд языка SQL Server

2. Реализация информационной системы. В этой части работы подробно описаны способы реализации ИС с помощью CASE-средства dbForge Studio for SQL Server и сервера БД SQL Server, используя менеджер и программирование в SQL, таким образом у меня получится 3 варианта базы данных. А также описан процесс создания программного интерфейса для работы с базой данных.

1. Теоретические основы баз данных

1.1 Основные термины теории баз данных

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

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

· Реляционные (от англ. relation - «отношение», «зависимость», «связь») БД - совокупность отношений (таблиц) содержащих всю информацию, которая должна храниться. Таким образом реляционную базу данных можно рассматривать как хранилище данных, содержащее совокупность двумерных таблиц особого вида

· Таблицы (от лат. tabula - доска, таблица) - сведения, данные, представленные в виде упорядоченной системы, разделённые по строчкам и столбцам. В некоторых авторитетных источниках, таблицы в реляционных базах данных именуют сущностями.

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

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

Существует три вида связей между таблицами. Вид создаваемой связи зависит от того, как заданы связанные столбцы.

Связи «один ко многим»

Связь «один ко многим» - наиболее распространённый вид связи. При такой связи каждой строке таблицы “А” может соответствовать множество строк таблицы “Б”, однако каждой строке таблицы “Б” может соответствовать только одна строка таблицы “А”. Связь «один ко многим» созаётся в том случае, когда только на один из связываемых столбцов наложено ограничение уникальности или он является первичным ключом.

Связи «многие ко многим»

При установлении связи многие «многие ко многим» каждой строке таблицы “А” может соответствовать множество строк таблицы “Б” и наоборот. Такая связь создаётся при помощи третьей таблицы называемой «соединительной», первичный ключ которой состоит из внешних ключей, связанных с таблицами “А” и “Б”.

Связи «один к одному»

При установлении связи «один к одному» каждой строке таблицы “А” может соответствовать только одна таблицы “Б” и наоборот. Связь «один к одному» создаётся в том случае, когда оба связанные столбца являются первичными ключами или на них наложены ограничения уникальности. Этот вид связи используется редко, поскольку в такой ситуации связываемые данные обычно можно хранить в одной таблицы. Использовать связь вида «один к одному» можно в указанных ниже случаях.

§ Чтобы разделить таблицу, содержащую слишком много столбцов.

§ Чтобы изолировать часть таблицы по соображениям безопасности.

§ Для хранения данных кратковременного использования, удалить которые проще всего путём очистки таблицы.

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

Создание связей между таблицами

При установлении связей между таблицами связанные поля не обязательно должны иметь одинаковые названия. При этом у них должен быть один и тот же тип данных, если только поле, являющееся первичным ключом, не относится к типу «Счётчик». Поле типа «Счётчик» можно связать с полем типа «Числовой», если для свойства FieldSize каждого из них установлено значение «Длинное целое». Даже если оба связываемых столбца относятся к типу «Числовой», значение свойства FieldSize для обоих полей должно быть одинаковым.

· Индексы (англ. index) - объект базы данных, создаваемый с целью повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному критерию путем последовательного просмотра таблицы строка за строкой может занимать много времени. Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы и, таким образом, позволяет искать строки, удовлетворяющие критерию поиска. Ускорение работы с использованием индексов достигается в первую очередь за счёт того, что индекс имеет структуру, оптимизированную под поиск -- например, сбалансированного дерева.

Некоторые СУБД расширяют возможности индексов введением возможности создания индексов по столбцам представленийhttps://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_(%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85) - cite_note-1 или индексов по выражениям. Например, индекс может быть создан по выражению upper(last_name) и соответственно будет хранить ссылки, ключом к которым будет значение поля last_name в верхнем регистре. Кроме того, индексы могут быть объявлены как уникальные и как не уникальные. Уникальный индекс реализует ограничение целостности на таблице, исключая возможность вставки повторяющихся значений.

· Триггеры (англ. trigger) - это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено наступлением определённого события (действием) - по сути добавлением ISERT или удалением DELETE строки в заданной таблице, или модификации UPDATE данных в определённом столбце заданной таблицы реляционной базы данных. Триггеры применяются для обеспечения целостности данных и реализации сложной бизнес-логики. Триггер запускается сервером автоматически при попытке изменения данных в таблице, с которой он связан. Все производимые им модификации данных рассматриваются как выполняемые в транзакции, в которой выполнено действие, вызвавшее срабатывание триггера. Соответственно, в случае обнаружения ошибки или нарушения целостности данных может произойти откат этой транзакции.

Момент запуска триггера определяется с помощью ключевых слов BEFORE (триггер запускается до выполнения связанного с ним события; например, до добавления записи) или AFTER (после события). В случае, если триггер вызывается до события, он может внести изменения в модифицируемую событием запись (конечно, при условии, что событие - не удаление записи).

Некоторые СУБД накладывают ограничения на операторы, которые могут быть использованы в триггере (например, может быть запрещено вносить изменения в таблицу, в которой «висит» триггер, и т.п.).

Кроме того, триггеры могут быть привязаны не к таблице, а к представлению (VIEW). В этом случае с их помощью реализуется механизм «обновляемого представления». В этом случае ключевые слова BEFORE и AFTER влияют лишь на последовательность вызова триггеров, так как собственно событие (удаление, вставка или обновление) не происходит.

1.2 Нормализация Базы Данных

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

В результате нрмализации обеспечивается:

· регулярность описаний данных;

· возможность присоединения новых полей, записей, связей без изменения существующих подсхем (или внешних моделей) и, соответственно, ПП. это обычно требует больших дополнительных затрат по сопровождению;

· максимальная гибкость при обработке произвольных запросов с рабочих мест пользователей.

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

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

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

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

1 избыточность данных; 2 аномалии обновления; 3 аномалии удаления; 4 аномалии ввода;

Можно легко представить себе пример ненормализованной таблицы, с которой будет очень неудобно работать:

Таблица 1 - Пример ненормализованной таблицы

Чек

Магазин

Дата покупки

Время покупки

Продавец

Товар

Цена товара

Количество товара

Сумма покупки

Скидка %

Вид оплаты

Маг. 1

01.01.01

13:12

Иванов

ПК

25000

1

25000

5

нал

Маг. 1

01.01.01

13:12

Иванов

Мышь

1000

1

1000

5

нал

Маг. 1

01.01.01

13:12

Иванов

Колонки

2500

1

2500

5

нал

В нескольких записях таблицы повторяется одна и та же информация, следовательно, возникает избыточность данных. Такая таблица не может использоваться в магазине, т.к. на каждую единицу товара, купленную одним покупателем, нужно будет выбивать отдельный чек. Из таблицы видно, что в полях «Магазин», «Продавец» повторяются одни и те же данные, этого можно избежать созданием отдельных таблиц «Магазины» и «Продавцы», а в чеке указывать только коды продавцов и магазинов. Избавиться от необходимости выбивать отдельный чек на каждую единицу товара, можно путём создания таблиц «Товар», «Категории товара», «Скидки» и «Позиции в чеке». Поля «Сумма покупки» и «Сумма покупки с учётом скидки» должны заполняться расчётными данными, это можно реализовать с помощью компонентов интерфейса, который я разработал в Delphi (это я описал в пункте 2.3 Создание пользовательского интерфейса для работы с базой данных) - в среде Delphi добавить компоненты, которые позволят вывести данные о стоимости покупки и стоимости покупки со скидкой на напечатанный чек. Этим мы значительно сократим размеры базы данных в будущем, при введении её в эксплуатацию, т.е. заполнении таблиц.

Первая нормальная форма (1NF).

Первая нормальная форма - это основа реляционной системы. Для соответствия этой форме требуется чтобы таблица был двумерной и не содержала ячеек, включающих несколько значений (значения должны быть атомарными). Для того чтобы привести таблицу к 1NFнам необходимо исключить дублирование строк. Электронные таблицы часто включают третье измерение, но в таблицах баз данных оно использоваться не должно. Рассмотреть эту проблему можно также с помощью отношения «один ко многим», тогда совет можно сформулировать следующим образом: не включайте в одну таблицу элементы, представляющие обе стороны данного отношения. Вместо этого создайте другие таблицы в первой нормальной форме, устранив повторяющиеся группы.

Таким образом таблицы «Магазины», «Продавцы», «Товары», «Скидки», «Позиции в чеке», «Категории товаров», «Чек» в 1NF, будут выглядеть следующим образом:

Таблица 3 - 1NF "Магазины"

Магазины

Код

Название

Адрес

1

«Кибертрон»

Ул. Центральная 1

2

«Кибертрон мини»

Ул. Южная 5

3

«Кибертрон сервис»

Ул. Северная 13

Таблица 4 - 1NF "Продавцы"

Продавцы

Код

Фамилия

Имя

Отчество

1

Иванов

Пётр

Сергеевич

2

Сидорова

Елена

Александровна

3

Василенко

Артём

Михайлович

Таблица 5 - 1NF "Товары"

Товары

Код

Наименование

Код категории

Цена за единицу

Остаток на складе

1

ASUS ER8596

1

15000

15

2

Defender 85

2

1000

41

3

GeForce k560

3

26000

9

Таблица 6 - 1NF "Скидки"

Скидки

Код

Вид скидки

Размер скидки %

1

Карта клиента

7

2

Сезонная акция

5

Таблица 7 - 1NF "Категории товаров"

Категории товаров

Код

Название

1

Материнские платы

2

Клавиатуры

Таблица 8 - 1NF "Позиции в чеке"

Позиции в чеке

Код

Код чека

Код товара

Количество купленного товара

1

1

1

1

2

1

2

3

Таблица 9 - 1NF "Чек"

Чек

Код

Код магазина

Дата покупки

Время покупки

Код продавца

Сумма покупки

Код скидки

Сумма покупки со скидкой

1

1

19.03.2016

11:35

1

2

2

1

19.03.2016

11:35

3

1

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

Вторая нормальная форма (2NF): устранение избыточных данных

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

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

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

от части составного потенциального ключа.

Вторая нормальная форма по определению запрещает наличие не ключевых

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

. Процесс приведения к 2NF позволяет избавиться от большей части повторяющихся данных.

При приведении базы данных к 2 NF таблицы преобразовались:

Рисунок 2 - показывает, что все таблицы соответствуют второй нормальной форме. Следовательно, можно приступить к формированию третьей нормальной формы.

Третья нормальная форма (3NF)

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

1) Определить все поля, от которых зависят другие поля.

2) Создать новую таблицу для каждого такого поля или группы полей и группы зависящих от него полей переместить в другую таблицу.

3) Удалить перемещенные поля из исходной таблицы.

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

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

1.3 Типы данных и команды SQL

Microsoft SQL Server поддерживает большинство типов данных SQL 2003. Также SQL Server поддерживает дополнительные типы данных, используемые для однозначной идентификации строк данных в таблице и на многих серверах, например, UNIQUEIDENTIFIER, что соответствует аппаратной философии «роста в ширину», исповедуемой Microsoft (т. е. внедрение базы на множестве серверов на платформах Intel), вместо «роста в высоту» (т. е. внедрение на одном огромном мощном UNIX-сервере или Windows Data Center Server).

Основные типы данных используемые в Microsoft SQL Server:

1) Символьные типы данных - содержат буквы, цифры и специальные символы.

· CHAR или CHAR(n) -символьные строки фиксированной длины. Длина строки определяется параметром n. CHAR без параметра соответствует CHAR(1). Для хранения таких данных всегда отводится n байт вне зависимости от реальной длины строки.

· VARCHAR(n) - символьная строка переменной длины. Для хранения данных этого типа отводится число байт, соответствующее реальной длине строки.

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

· INTEGER или INT- целое, для хранения которого отводится, как правило, 4 байта. (Замечание: число байт, отводимое для хранения того или иного числового типа данных, зависит от используемой СУБД и аппаратной платформы, здесь приводятся наиболее "типичные" значения) Интервал значений от - 2147483647 до + 2147483648

· SMALLINT - короткое целое (2 байта), интервал значений от - 32767 до +32768

3) Вещественные типы данных - описывают числа с дробной частью.

· FLOAT и SMALLFLOAT - числа с плавающей точкой (для хранения отводится обычно 8 и 4 байта соответственно).

· DECIMAL(p) - тип данных аналогичный FLOAT с числом значащих цифр p.

· DECIMAL(p,n) - аналогично предыдущему, p - общее количество десятичных цифр, n - количество цифр после десятичной запятой.

4) Денежные типы данных - описывают, естественно, денежные величины. Если

в ваша система такого типа данных не поддерживает, то используйте DECIMAL (p, n).

· MONEY (p, n) - все аналогично типу DECIMAL (p, n). Вводится только потому, что некоторые СУБД предусматривают для него специальные методы форматирования.

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

· DATE - тип данных для хранения даты.

· TIME - тип данных для хранения времени.

· INTERVAL - тип данных для хранения временного интервала.

· DATETIME - тип данных для хранения моментов времени (год + месяц + день + часы + минуты + секунды + доли секунд).

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

· BINARY

· BYTE

· BLOB

7) Последовательные типы данных - используются для представления возрастающих числовых последовательностей.

· SERIAL - тип данных на основе INTEGER, позволяющий сформировать уникальное значение (например, для первичного ключа). При добавлении записи СУБД автоматически присваивает полю данного типа значение, получаемое из возрастающей последовательности целых чисел.

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

Основные команды Microsoft SQL Server:

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

Поэтому, в язык SQL в качестве составных частей входят:

· язык манипулирования данными (Data Manipulation Language, DML)

· язык определения данных (Data Definition Language, DDL)

· язык управления данными (Data Control Language, DCL).

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

Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:

SELECT

(выбрать)

INSERT

(вставить)

UPDATE

(обновить)

DELETE

(удалить)

Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются:

CREATE DATABASE

(создать базу данных)

CREATE TABLE

(создать таблицу)

CREATE VIEW

(создать виртуальную таблицу)

CREATE INDEX

(создать индекс)

CREATE TRIGGER

(создать триггер)

CREATE PROCEDURE

(создать сохраненную процедуру)

ALTER DATABASE

(модифицировать базу данных)

ALTER TABLE

(модифицировать таблицу)

ALTER VIEW

(модифицировать виртуальную таблицу)

ALTER INDEX

(модифицировать индекс)

ALTER TRIGGER

(модифицировать триггер)

ALTER PROCEDURE

(модифицировать сохраненную процедуру)

DROP DATABASE

(удалить базу данных)

DROP TABLE

(удалить таблицу)

DROP VIEW

(удалить виртуальную таблицу)

DROP INDEX

(удалить индекс)

DROP TRIGGER

(удалить триггер)

DROP PROCEDURE

(удалить сохраненную процедуру)

Язык управления данными используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать "язык управления доступом". Он состоит из двух основных команд:

GRANT

(дать права)

REVOKE

(забрать права)

С точки зрения прикладного интерфейса существуют две разновидности команд SQL:

· интерактивный SQL

· встроенный SQL.

Интерактивный SQL используется в специальных утилитах (типа WISQL или DBD), позволяющих в интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на сервер и получать результаты в предназначенном для этого окне. Встроенный SQL используется в прикладных программах, позволяя им посылать запросы к серверу и обрабатывать полученные результаты, в том числе комбинируя set-ориентированный и record-ориентированный подходы.

2. Реализация информационных систем

2.1 Реализация с помощью средств быстрой разработки

dbForge Studio for SQL Server -- среда разработки для БД SQL Server, создания отчетов по данным, их анализа, и основных задач администрирования. Данный инструмент ускоряет выполнение повседневных задач и позволяет вносить сложные изменения в БД. средство для разработки БД SQL Server позволяет:

- Ускорить написание SQL-кода в комфортной среде создания скриптов

- Создавать и пересоздавать таблицы без потери данных

- Сравнивать базы данных, синхронизировать схемы и данные

- Анализировать взаимные зависимости объектов при изменении БД со сложной структурой

- Автоматизировать развертывание баз данных на рабочем сервере

- Создавать отчеты и автоматизировать их рассылку

- Быстро и эффективно управлять безопасностью в базах данных
Написание SQL-кода может занимать много времени, но производительность помогут улучшить:

- Автоматическое дополнение кода -- для быстрого создания выражений SQL.

- Форматирование SQL -- для соблюдения принятого стиля написания кода.

- Шаблоны кода SQL -- для быстрого сохранения и повторного использования

фрагментов кода.

- Быстрая подсказка с информацией об объектах базы данных.

- Навигация по коду -- быстрый переход по F12 к описанию переменной, редактору объекта и т.д.

Незаменимое средство для переноса данных между серверами. Инструмент позволяет:

- Синхронизировать данные между серверами.

- Анализировать разницу в данных и создавать отчеты.

- Сравнивать базы данных с различной структурой.

- Планировать регулярную синхронизацию данных.

- Сравнивать табличные данные в резервных копиях SQL Server.

Использование dbForge Studio for SQL Server существенно облегчит работу с табличными данными. Инструмент предоставляет возможности для комфортного редактирования, фильтрования, сортировки и копирования произвольно выбранных ячеек, быстрого экспорта данных в запрос INSERT и множество других функций для большей эффективности.

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

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

Алгоритм работы с dbForge Studio for SQL Server.

1) Первым делом после запуска программы необходимо установить связь с SQL Server, для этого в проводнике dbForge Studio for SQL Server выбираем пункт «Новое соединение» в открывшемся окне выбираем наш сервер, даём имя соединению для удобства работы, проверяем соединение кнопкой «Проверить», если соединение установлено, то нажимаем «ОК». После этого нужно создать саму базу данных в dbForge Studio for SQL Server, для этого кликаем ПКМ по нашему соединению и выбираем пункт «Новая база данных», отроется окно создания базы данных в котором мы выбираем необходимые нам параметры базы данных. В нижней части окна автоматически генерируется SQL код базы данных.

Размещено на http://www.allbest.ru/

2) Теперь можно приступить к созданию таблиц базы данных. dbForge Studio for SQL Server имеет очень простой, удобный и интуитивно понятный интерфейс для создания таблиц. После установки связи с SQL Server и создания новой базы данных (в моём случае БД «АИС «Магазин компьютерных товаров»»), БД появляется в проводнике dbForge Studio for SQL Server. Кликом мыши по стрелке можно развернуть все компоненты, входящие в базу данных. Нас интересуют «Таблицы». Создать новую таблицу можно нажав правой кнопкой мыши на вкладке «Таблицы» вызвать контекстное меню, в котором выбрать первый пункт «Новая таблица». Открывается окно редактирования таблицы в котором, мы назначаем имя, поля, тип данных полей таблицы и назначаем ключевое поле таблицы.

Размещено на http://www.allbest.ru/

3) Теперь, когда у нас есть все таблицы, можно приступить к установлению связей (отношений) между таблицами. Для этого в меню dbForge Studio for SQL Server выбираем «База данных» --- «Диаграмма БД» Откроется окно редактирования связей, которое по умолчанию назовётся «Диаграмма 1». Процесс создания связей начинается с выбора таблиц, которые будут участвовать в отношениях. Для этого с помощью мыши перетаскиваем все необходимые таблицы на лист создания связей.

Рисунок 6 - Добавление таблиц для создания связей

Размещено на http://www.allbest.ru/

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

После установления всех связей у меня получилась следующая логическая схема данных:

база продажа интерфейс информационный

Рисунок 8 - Логическая схема.

Следует отметить, что dbForge Studio for SQL Server автоматически генерирует созданные таблицы в базу данных в Microsoft SQL Server.

2.2 Реализация с помощью СУБД SQL Server (2014)

Программное обеспечение сервера базы данных обрабатывает запросы, инициализированные программным обеспечением клиента, отправляя результат обратно в базу данных клиента, пославшего запрос. Ядро SQL Server - сервер баз данных.

Программное обеспечение клиента базы данных соединяется с программным обеспечением сервера баз данных, делает запрос, получает результаты и затем обрабатывает их. Microsoft SQL Server Management studio - программное обеспечение клиента базы данных.

С помощью Microsoft SQL Server Management Studio можно просмотреть базу данных, сгенерированную в dbForge Studio for SQL Server, а также создавать таблицы базы данных не используя CASE-средства, с помощью собственных средств. Готовая база данных у меня уже есть, но я считаю правильным показать, как те же самые операции выполняются в Microsoft SQL Server Management Studio:

Размещено на http://www.allbest.ru/

При первом запуске программы Microsoft SQL Server Management

Studio предложит нам соединиться с сервером.

1) Создание базы данных.

Для создания новой БД нужно в обозревателе объектов Microsoft SQL Server Management правым кликом мыши по каталогу «Базы данных» вызвать контекстное меню, в котором выбрать пункт «Создать базу данных». После этого появится окно создания базы данных.

Размещено на http://www.allbest.ru/

2) Создание таблиц.

После создания БД, она отображается в обозревателе решений в каталоге «Базы данных», развернув каталог с нашей БД мы увидим полный список компонентов БД. Для создания таблицы нужно нажав ПКМ на каталоге «Таблицы» вызвать контекстное меню, в котором выбрать первый пункт «Таблица…». Откроется окно создания таблиц.

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

3) Создание связей.

Для создания связей (отношений) между таблицами нужно щелчком ПКМ по каталогу «Диаграммы базы данных» вызвать контекстное меню, в котором выбрать пункт «Создать диаграмму базы данных». Откроется окно, в котором выбираются таблицы, между которыми необходимо создать связь

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

Таким образом создаём все необходимые связи между таблицами

Также можно создать базу данных используя язык запросов SQL. Для этого в Microsoft SQL Server Management нажимаем на кнопку панели инструментов «Создать запрос», откроется окно создания запроса, где будем вводить код на языке SQL.

Пример SQL кода для создания базы данных:

CREATE DATABASE [АИС "Магазин компьютерных товаров"]

ON PRIMARY (

NAME = N'АИС "Магазин компьютерных товаров"',

FILENAME = N'D:\SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\АИС _Магазин компьютерных товаров_.mdf',

SIZE = 5120 KB,

MAXSIZE = UNLIMITED,

FILEGROWTH = 1024 KB

)

LOG ON (

NAME = N'АИС "Магазин компьютерных товаров"_log',

FILENAME = N'D:\SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\АИС _Магазин компьютерных товаров__log.ldf',

SIZE = 1024 KB,

MAXSIZE = UNLIMITED,

FILEGROWTH = 10 %

)

GO

ALTER DATABASE [АИС "Магазин компьютерных товаров"]

SET

ANSI_NULL_DEFAULT OFF,

ANSI_NULLS OFF,

ANSI_PADDING OFF,

ANSI_WARNINGS OFF,

ARITHABORT OFF,

AUTO_CLOSE OFF,

AUTO_CREATE_STATISTICS ON,

AUTO_SHRINK OFF,

AUTO_UPDATE_STATISTICS ON,

AUTO_UPDATE_STATISTICS_ASYNC OFF,

CONCAT_NULL_YIELDS_NULL OFF,

CURSOR_CLOSE_ON_COMMIT OFF,

CURSOR_DEFAULT GLOBAL,

DATE_CORRELATION_OPTIMIZATION OFF,

DB_CHAINING OFF,

HONOR_BROKER_PRIORITY OFF,

MULTI_USER,

NESTED_TRIGGERS = ON,

NUMERIC_ROUNDABORT OFF,

PAGE_VERIFY CHECKSUM,

PARAMETERIZATION SIMPLE,

QUOTED_IDENTIFIER OFF,

READ_COMMITTED_SNAPSHOT OFF,

RECOVERY FULL,

RECURSIVE_TRIGGERS OFF,

TRANSFORM_NOISE_WORDS = OFF,

TRUSTWORTHY OFF

WITH ROLLBACK IMMEDIATE

GO

ALTER DATABASE [АИС "Магазин компьютерных товаров"]

SET DISABLE_BROKER

GO

ALTER DATABASE [АИС "Магазин компьютерных товаров"]

SET ALLOW_SNAPSHOT_ISOLATION OFF

GO

ALTER DATABASE [АИС "Магазин компьютерных товаров"]

SET FILESTREAM (NON_TRANSACTED_ACCESS = OFF)

GO

Пример SQL кода для создания таблиц со связями:

CREATE TABLE [АИС "Магазин компьютерных товаров"].dbo.Чек (

Код INT IDENTITY

,[Дата покупки] DATE NULL

,[Время покупки] TIME NULL

,[Код продавца] INT NULL

,[Код скидки] INT NULL

,[Код магазина] INT NULL

,CONSTRAINT PK_Чек PRIMARY KEY CLUSTERED (Код)/*Ключевое поле таблицы*/

,CONSTRAINT FK_Чек_Магазины_Код FOREIGN KEY ([Код магазина]) REFERENCES dbo.Магазины (Код) /*Установка связи (Внешний ключ таблицы)*/

,CONSTRAINT FK_Чек_Продавцы_Код FOREIGN KEY ([Код продавца]) REFERENCES dbo.Продавцы (Код) /*Установка связи (Внешний ключ таблицы)*/

,CONSTRAINT FK_Чек_Скидка_Код FOREIGN KEY ([Код скидки]) REFERENCES dbo.Скидка (Код) /*Установка связи (Внешний ключ таблицы)*/

) ON [PRIMARY]

GO

2.3 Создание пользовательского интерфейса для работы с базой данных

Программный интерфейс для базы данных я разрабатывал в объектно-ориентрованной среде Delphi, с помощью Embarcadero RAD Studio. Конструктор форм Delphi в Embarcadero RAD Studio предоставляет разработчику полный набор необходимых компонентов для создания программ любой сложности.

Для реализации поставленных задач мне потребуется 2 формы Delphi.

При запуске Embarcadero RAD Studio выбираем Project --- Add New Project…. Откроется окно выбора проекта. Выбираем каталог Delphi, справа появится выбор возможных для создания типов проектов Delphi, выбираем VCL Form Application.

1. После того как появилась наша пустая форма, размещаем на ней необходимые нам компоненты формы для нашего программного интерфейса:

1) Вкладка Win 32, компонент Page Control (компонент, с помощью которого можно создать несколько вкладок, у каждой из которых будут свои компоненты).

2) Вкладка Data Access, компонент Data Source (компонент, необходимый для связывания компонентов).

3) Вкладка dbGo, компонент ADO Table.

Теперь моя форма выглядит следующим образом:

2. Настраиваем компонент ADOTable1. Выделяем на форме компонент ADOTable1 и в инспекторе объектов выбираем свойство Connection String (подключаем к компоненту таблицу «Чек» нашей АИС). В открывшемся окне устанавливаем переключатель Use Connection String кнопка Build, в появившемся окне вкладка «Поставщик данных» выбираем «SQL Server Native Client 11.0», нажимаем «Далее», во вкладке «Соединение» в поле Select or enter a server name выбираем наш локальный сервер БД, включаем переключатель Use Windows NT Integrated security, с помощью выпадающего поля Select Database выбираем нашу БД.

В инспекторе объектов в поле Table Name выбираем имя интересующей нас таблицы, для открытия набора данных устанавливаем значение свойства Active в положение true.

3. Чтобы связать источник данных с набором данных используется свойство DataSet (Выбираем в нём ADOTable1) компонента Data Source1

4. Размещаем на форме необходимые элементы управления и выполняем их настройку:

1) Вкладка Standard, элемент управления Label (надпись), свойство Caption назначить «Код магазина» Аналогично настроить элементы Label для остальных полей таблицы.

2) Вкладка Data Controls, компонент DBEdit (строка ввода для просмотра и редактирования записей базы данных),

Свойство Data Source - DataSource1

Свойство DataField - выбрать поле «Код магазина», аналогично разместить на форме остальные поля ввода.

3) Вкладка Standard, элемент Memo (элемент хранения данных) - сюда программно будет выводиться полный список купленных товаров.

4) Вкладка Standard, элемент Button (кнопка), свойство Caption «Добавить товар»/«Отмена покупки»/«Печать чека»/«Проверить остаток». При нажатии на кнопку «Добавить товар», в поле Memo будет добавляться запись о товаре, на кнопку «Отмена покупки» - запись будет стираться, на кнопку «Печать чека» - готовый чек будет выводиться на печать, на кнопку «Проверить остаток» - будет открываться форма проверки остатка товара.

5) Так же следует добавить ещё две надписи Label в паре с компонентом Edit вкладки Standard в эти поля будет выводится общая стоимость покупки и стоимость покупки с учётом скидки, свойство Read Only компонентов Edit поставить true.Добавить компонент Combo Box вкладки Standard, с помощью которого будет выбираться способ оплаты.

5. Связывание таблиц «Чек» и «Позиции в чеке». Установка связи между наборами данных. Для этого в свойстве MasterSource, набора данных, связанного с таблицей «Позиции в чеке», задаём имя источника данных главной таблицы «Чек» (поле «Код»)

6. Установка связи между полями, воспользовавшись редактором связей полей общим является поле «Код чека».

Первая форма интерфейса выглядит так:

На рисунке 19 элементы Label - это «Код магазина», «Номер чека», «Дата покупки», «Время покупки», «Код продавца», «Код товара», «Сумма покупки», «Код скидки», «Сумма покупки со скидкой». Элементы Button - это «Добавить товар», «Отмена покупки», «Печать чека», «проверить остаток». Цифрой 1 отмечены элементы DBEdit, цифрой 2 - элементы Edit, цифрой 3 - элемент ComboBox, цифрой 4 - элемент Memo.

Создадим форму проверки остатка товара на складе для этого в меню Embarcadero RAD Studio выбираем File --- New --- VCL Form - Delphi. Создастся пустая форма. Разместим и настроим на ней аналогичные компоненты, как и для первой формы (Data Source, ADOTable, Page Control), в поле TableName компонента ADOTable1 выбираем таблицу «Товары». Добавим две надписи Label, в свойстве Caption изменим надписи на них на «Наименование товара» и «Остаток на складе», на против этих надписей разместим компоненты DBEdit (свойство DataSource - DataSource1, DataField - «Наименование товара»/«Остаток на складе»). Разместим кнопки Button для проверки остатков товара и для возврата к оформлению чека.

Вторая форма программного интерфейса выглядит так:

На рисунке 20 цифрой 1 отмечены элементы Label, цифрой 2 - элементы DBEdit, «Вернуться к оформлению чека», «Проверить остаток» - кнопки Button.

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

Продавец 1 раз заполняет поля «Код магазина», «Код продавца» и «Код скидки», поля «Дата покупки» и «Время покупки» заполняются автоматически сверяясь с системным временем/датой, поле «Номер чека заполняется автоматически по порядку. Поля «Сумма покупки» и «Сумма покупки со скидкой» рассчитываются программно исходя из суммы цен товаров и размера скидки на покупку. Если товар в чеке всего один, то продавец вбивает код товара в соответствующее поле, вбивает код скидки, и нажимает на кнопку «Печать

чека» (при нажатии на кнопку создаётся текстовый файл чека, который отправляется на печать), если товаров несколько, то для добавления товара в чек продавец должен нажать кнопку «Добавить товар», в элемент Memo добавится запись о товаре, который был указан в поле «Код товара», само поле «Код товара» станет снова доступным для ввода, после того как все товары добавлены, продавец выбирает код скидки и отправляет чек на печать. Для того чтобы проверить остаток товаров на складе, продавец, нажатием на кнопку «Проверить остаток», вызывает окно проверки остатков товара, в котором в поле «Наименование товара» вбивает наименование интересующего товара, нажимает на кнопку «Проверить остаток» (создаётся запрос к таблице «Товары» базы данных «АИС Магазин компьютерных товаров», который делает выборку товара по его наименованию) и в поле «Остаток на складе» выводится значение соответствующего поля из таблицы.

ЗАКЛЮЧЕНИЕ

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

В совокупности база данных и интерфейс пользователя представляют собой работоспособную АИС «Магазин компьютерных товаров», которая прекрасна реализует все поставленные задачи: с помощью базы данных осуществляется хранение актуальной информации о наличии товаров на складе магазина, а также в других магазинах сети, а программный интерфейс пользователя позволяет осуществить быстрый поиск остатков товара в магазине и быстрое и лёгкое оформление чека на покупку.

СПИСОК ЛИТЕРАТУРЫ

1. Бондарь А. - «Microsoft SQL Server 2012. Наиболее полное руководство» 2013г.

2. Дмитрий Осипов - «Базы данных и Delphi. Теория и практика» 2014г.

3. Культин Н.Б. «Основы программирования в Embarcadero Delphi» 2015г.

4. Осипов Д.Л. Delphi. «Программирование для Windows, OS X, iOS и Android» 2014г.

5. Фиайли К. «SQL. Руководство по изучению языка» 2013г.

6. Янк К. - «PHP и MySQL. От новичка к профессионалу» 2013г.

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [69,6 K], добавлен 30.11.2009

  • Изучение и анализ функциональных возможностей СУБД. Структура языка реляционных БД SQL (Structured Query Language). Типы данных SQL. Операторы DDL - операторы определения объектов базы данных. Примеры использования операторов манипулирования данными.

    курсовая работа [39,6 K], добавлен 21.07.2012

  • Понятие базы данных, её структура. Общие принципы хранения информации. Краткая характеристика особенностей иерархической, сетевой и реляционной модели организации данных. Structured Query Language: понятие, состав. Составление таблиц в Microsoft Access.

    лекция [202,8 K], добавлен 25.06.2013

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

    дипломная работа [417,5 K], добавлен 27.01.2009

  • Создание базы данных, планирование разработки и системные требования. Проектирование базы данных в среде Microsoft Access, элементы и типы данных. Создание таблицы и использование конструктора для их модернизации. Построение запросов и создание макросов.

    курсовая работа [2,0 M], добавлен 16.04.2011

  • Системы управления базами данных: сущность и характеристика. Типы данных и свойства полей СУБД Access. Объекты базы данных: таблицы, схемы данных, формы, запросы, отчеты. Разработка и проектирование базы данных "Продажи книг" в среде Microsoft Access.

    курсовая работа [1,8 M], добавлен 04.02.2013

  • Цель инфологического моделирования базы данных. Создание с помощью СУБД Microsoft SQL Server шести сущностей с определенными атрибутами, представлений, основанных на соединении столбцов нескольких таблиц и связей между ними. Создание процедур и запросов.

    курсовая работа [721,4 K], добавлен 29.11.2009

  • Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.

    курсовая работа [2,9 M], добавлен 29.06.2015

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

    курсовая работа [2,1 M], добавлен 17.06.2013

  • Программные продукты, используемые при проектировании базы данных. Разработка базы данных "Библиотека" с использование программного проекта Microsoft SQL Server. Создание таблиц, триггеров, пользователей, репликации, запросов, функций, процедур.

    курсовая работа [897,6 K], добавлен 21.11.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.