Разработка базы данных на языке SQL (предметная область – «Магазин канцелярские товары»)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙУНИВЕРСИТЕТ

Факультет «Информационных и образовательных технологий»

Кафедра «Информационные технологии и системы»

Дисциплина «Управление Данными»

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

на тему: «Разработка базы данных на языке SQL

(предметная область – «Магазин канцелярские товары»)»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

ПензГТУ 2.230400.09.ПЗ

Пенза, 2015 г.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

База данных – это организованная структура, предназначенная для хранения информации. С понятием базы данных тесно связано понятие системы управления базой данных.

Такая система должна:

-обеспечивать получение общих и/или детализированных отчетов по итогам работы;

-позволять легко определять тенденции изменения важнейших показателей;

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

-выполнять точный и полный анализ данных. [1]

Целью данной курсовой работы является анализ предметной области - магазин «Канцелярские товары», проектирование и реализация учебной базы данных в указанной предметной области. В качестве СУБД для реализации базы данных была использована СУБД реляционного типа – MS SQL Server.

В рамках курсовой работы были поставлены следующие задачи:

-Анализ предметной области магазин «Канцелярские товары».

-Проектирование БД в исследуемой предметной области (включающее проектирование структуры таблиц, ключевых полей и схемы данных).

-Приобретение навыков по созданию запросов различных типов.


1.АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Общие сведения

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

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

1.2 Основные сведения о предметной области

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

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

1.3 Перечень хранимой информации: таблицы, поля, типы

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

Таблица 1 – Состав таблиц базы данных

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

Общие сведения о содержимом

Товар

Информация о товарах

Склад

Информация о количестве товара на складе

Поставщик

Информация о поставщиках

Поставка

Информация о поставках товаров поставщиками

Таблица Товар содержит информацию о номенклатуре товаров магазина, в данной таблице отображены следующие поля: Код товара, Название и Цена.

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

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

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

1.4 Необходимые предполагаемые запросы к БД

Примерными запросами данной базы данных являются:

-Удаление и вывод определенных товаров;

-Вывод на экран всей номенклатуры товаров;

-Отображение сведений о поставщиках;

-Вывод поставщиков, отгрузивших определенный товар;

-Удаление поставщика;

-Изменение информации о товарах/поставщиках;

-Вывод информации о поставках по определенной дате/поставщику/товару и т.д.

1.5Выводы по разделу

В данном разделе рассмотрена предметная область базы данных, определены необходимые таблицы, поля и запросы. В качестве СУБД для реализации базы данных планируется использоваться СУБД реляционного типа – MS SQL Server.


2. МОДЕЛИРОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

2.1 Общие сведения

В основе проектирования лежит моделирование предметной области (МПО). Предварительное моделирование предметной области позволяет сократить время исроки проведения проектировочных работ иполучить эффективный икачественный проект.

К МПО предъявляются следующие требования:

формализация, обеспечивающая однозначное описание структуры предметной области;

понятность для заказчиков иразработчиков на основе применения графических средств отображения модели;

реализуемость, подразумевающая наличие средств физической реализации модели предметной области вИС;

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

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

2.2 Выделение сущностей, атрибутов, ключей, связей

Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты)[2].

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

В разрабатываемой базе данных можно выделить 4 сущности: Товар, Склад, Поставщик и Поставка.

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

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

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

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

Таблица 2 – Сущности и атрибуты БД «Канцтовары»

Сущность

Обозначе-ние

Атрибут

Значение атрибута

Тип данных

Ключ

Товар

Tovar

InN

Naz

Cena

Код товара

Название

Цена

Integer

Text

Money

PK

Склад

Sklad

InN

Kol_vo

Код товара

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

Integer

Integer

FK(Товар)

Поставщик

Postavschik

ID

Nazvanie

Telefon

Код поставщика

Название орг.

Контактный телефон

Integer

Text

Integer

PK

Поставка

Postavka

Data

Kolich

InN

ID

Дата поставки

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

Код товара

Код поставщика

Date

Integer

Integer

Integer

FK(Товар)

FK(Поставщик)

2.3 Проектирование диаграммы сущность-связь в EA

Ранее были выделены следующие сущности:

-сущность «Товар»;

-сущность «Склад»;

-сущность «Поставщик»;

-сущность «Поставка».

Связь - это ассоциация, установленная между несколькими сущностями.

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

В случае n=2, т.е. когда связь объединяет две сущности, она называется бинарной.

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

-Один к одному (обозначается 1 : 1 );

-Один ко многим ( 1 : n );

-Много к одному (n : 1 );

-Многие ко многим (n : n).

В базе данных канцелярских товаров сущности будут соединены связями со степенью Один к одному (обозначается 1 : 1 ) и Один ко многим ( 1 : n ).

Схема базы данных представлена в приложении А.

2.4 Создание БД в MS SQL SERVER. Перенос схемы из EA

Для создания базы данных необходимо запустить Microsoft SQL Server Management Studio, выбрать нужный сервер для хранения базы.В обозревателе объектов (Object Explorer) в дереве сервера выбирать  пункт "Databases" и в контекстном меню выбрать пункт "New Database...".

В появившемся окне в поле Database name необходимо ввести название БД и нажать ОК. Теперь необходимо создать соответствующий логин. Для этого в блоке сервера Security выбрать пункт "New Login..." . В появившемся окне в поле Login name необходимо ввести имя пользователя БД, нажать ОК. База данных готова. [15]

В итоге данного этапа были созданы следующие данные:

Название сервера – Саша-HP;

Название БД - KanzTov.

2.5 Создание диаграммы средствами MS SQL SERVER и MS SQL SERVER Management Studio

Прежде чем создать диаграмму в MS SQL SERVER необходимо создать таблицы. Для создания таблиц необходимо выбрать в контекстном меню ветки «Таблицы» пункт «Создать таблицу».

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

Диаграмма, созданная для БД Канцелярские товары, представлена в приложении А. [13]

2.6 Начальное заполнение БД

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

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

2.7 Выводы по разделу

В данном разделе были определены сущности, атрибуты, ключи и связи создаваемой базы данных, спроектирована диаграмма сущность-связь. Изучено создание диаграммы средствами MS SQL SERVER и MS SQL SERVER Management Studio. Было произведено начальное заполнение БД.


3. СОЗДАНИЕ И ЗАПУСК БАЗОВЫХ ЗАПРОСОВ SQL

3.1 Общие сведения

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

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

3.2Запросы

А) Запросы на заполнение таблиц (Insert):

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

Синтаксис: INSERT INTO <название таблицы> ([<Имя столбца>, ... ]) VALUES (<Значение>,...)[4].

Рисунок 2 – Листинг запросов с оператором Insert

Б) Запросы на выборку (Select):

SELECT — оператор языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию.[4]

Рисунок 3 – Листинг запросов с оператором Select

Рисунок 4 – Результат запросов (вывод всех данных)

Рисунок 5 – Листинг запроса

После выполнения данного запроса на экране должны быть выведены названия и цены всех тетрадей.

Рисунок 6 – Результат запроса

Рисунок 7 – Листинг запроса

После выполнения данного запроса на экране будут выведены данные о поставках за ноябрь 2013 года.

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

Рисунок 9 – Листинг запроса

После выполнения данного запроса на экране будут выведены данные о поставщике номер контактного телефона - 403910.

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

В) Запросы на обновление данных (Update):

UPDATE — оператор языка SQL, позволяющий обновить значения в заданных столбцах таблицы.[4]

Рисунок 11 – Листинг запроса

После выполнения данного запроса цена на все тетради будет повышена на 1 рубль.

Рисунок 12 – Результат запроса

Рисунок 13 – Листинг запроса

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

Рисунок 14 – Результат запроса

Рисунок 15 – Листинг запроса

После выполнения данного запроса к количеству товаров повставленным в декабре прибавляется по 10 товаров.

Рисунок 16 – Результат запроса

Г) Запросы на удаление данных (Delete):

DELETE —операция удаления записей из таблицы. 

Рисунок 17 – Листинг запроса

После выполнения данного запроса будут удалены данные о поставках, которые были совершены до 2014 года.

Рисунок 18 – Результат запроса

Рисунок 19 – Листинг запроса

После выполнения данного запроса будет удален товар с кодом= 4.

Рисунок 20 – Результат запроса

Рисунок 21 – Листинг запроса

После выполнения данного запроса будет удален поставщик с

кодом = 4.

3.2Выводы по разделу

В данном разделе были созданы запросы ввода, вывода, обновления и удаления данных таблиц. Созданные запросы были выполнены, результаты запросов представлены выше.


4. СОЗДАНИЕ И ЗАПУСК ПРОДВИНУТЫХ ЗАПРОСОВ SQL

4.1 Общие сведения

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

В данном разделе будут рассмотрены продвинутые запросы с операторами create table, drop table, alter table, create index, alter index.

4.2 Запросы

А) Запросы выборки из нескольких таблиц (multitable select)

Multitable SELECT — оператор языка SQL, возвращающий набор данных (выборку) из нескольких таблиц базы данных, удовлетворяющих заданному условию.[4]

Рисунок 23 – Листинг запроса

После выполнения данного запроса на экране должны быть выведены данные о поставках 2013 года.

Рисунок 24 – Листинг запроса

После выполнения данного запроса на экране будут выведены данные о поставках за определенную дату.

Рисунок 25 – Листинг запроса

После выполнения данного запроса на экране будут выведены данные о поставщиках не поставлявших товары в магазин ни разу.

Б) Запросы создания таблиц (create table)

Рисунок 26 – Листинг запроса

После выполнения данного запроса будет создано 2 таблицы: Поставка»(внешние ключи: ID,InN) и Поставщик (первичный ключ: ID).

В) Запрос удаления таблиц (drop table)

Рисунок 27 – Листинг запроса

После выполнения данного запроса будут удалены таблицы: Поставка, Поставщик, Товар, Склад.

Г) Запросы изменения таблиц (alter table)

Оператор alter table обеспечивает возможность изменять структуру существующей таблицы. [4]

Рисунок 28 – Листинг запросов

После выполнения данного запроса:

  1. Будет удален столбец Телефон из таблицы Поставщик;
  2. Измениться тип столбца Цена на вещественны й;
  3. Таблица Склад бцдет переименована на Тов_на_складе.

Д) Запросы (create index, alter index)

Сreate index - создает реляционный индекс или представление для указанной таблицы.

Alter index делает неактивный индекс доступным для использования или отключает использование активного индекса.[4]

Рисунок 29 – Листинг запросов

Запросы реализованные в контрольной работе №2 отображены в приложении Г.

4.3 Выводы по разделу

В данном разделе созданы продвинутые запросы. Созданные запросы были выполнены, результаты запросов представлены выше.


5. СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ ПРЕДСТАВЛЕНИЙ (VIEWS)

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

Представление - это фактически запрос, который выполняется всякий раз, когда представление становится темой команды. Вывод запроса при этом в каждый момент становится содержанием представления.[5]

А) Команда create view – создание представления:

Рисунок 30 – Листинг запроса

После выполнения запроса будет создано представление, в котором будут отображаться все отгрузки поставшика с кодом=1.

Б) Команда drop view – удаление представления:

Рисунок 31 – Листинг запроса

В) Команда Select – вывод выборки:

Рисунок 32 – Листинг запроса


ЗАКЛЮЧЕНИЕ

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

Были изучены и проработаны следующие пункты:

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

В ходе разработки базы данных были созданы следующие запросы:

  • Удаление и вывод определенных товаров;
  • Вывод на экран всей номенклатуры товаров;
  • Отображение сведений о поставщиках;
  • Вывод поставщиков, отгрузивших определенный товар;
  • Удаление поставщика;
  • Изменение информации о товарах/поставщиках;
  • Вывод информации о поставках по определенной дате
  • И другие.

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


ЛИТЕРАТУРА

1.Акишкин А.М., Федорова Г.В. – «Основы программирования на персональных ЭВМ». М.: Экономическое образование, 2010. – 27с.

2.Азарченков А.А, Зимин С.Н. – «Информатика. Проектирование и разработка баз данных: методические указания к выполнению курсовой работы для студентов очной формы обучения». – Брянск: БГТУ, 2011 - 68с.

3.Азарченков А.А, Зимин С.Н. - «Информатика. Проектирование и разработка баз данных: методические указания к выполнению курсовой работы для студентов очной формы обучения». - Брянск: БГТУ, 2011 - 68с.

4. Акишкин А.М., Федорова Г.В. - «Основы программирования на персональных ЭВМ». М.: Экономическое образование, 2011. - 27с.

5. Астахова И. Ф., Мельников В. М., Толстобров А. П., Фертиков В. В. СУБД. Язык SQL в примерах и задачах; ФИЗМАТЛИТ - Москва, 2012. - 168 c.

6.Бакаревич Ю.Б., Пушкина Н.В. Самоучитель SQL. – СПб.: БХВ-Петербург, 2010

7.Брайан Сайлер «Использование Visual Basic 6»: специальное издание/Сайлер, Брайан, Споттс, Джефф – М: Вильямс, 2015. – 830с.

8.Бондарева Г.А., Сахарова Е.В., Королькова Л.Н., Информатика. Методические указания. Ставрополь, СТИС, 2011

9.Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 2010.

10.Вендров, А.М. Практикум по проектированию программного обеспечения экономических информационных систем / А.М. Вендров. – М.: Финансы и статистика,2011. – 192 с.

11.Воройский, Ф. С. Информатика. Новый систематизированный толковыйсловарь-справочник / Ф. С. Воройский. – М. : ФИЗМАТЛИТ, 2013.

12.Гончаров А. Ю. язык SQL. Самоучитель с примерами., Москва, 2011г.

13.Григорьев В.А., Ревунков В.И. Банки данных. Учебник для вузов. – М., МВТУ им.Баумана, 2013.

14.Дейт, К.Дж. Введение в системы базы данных / К. Дж. Дейт – Вильямс, 2011. – 1072 с

15.Диго С.М. Базы данных: проектирование и использование. Учебник. - М: Финансы и статистика, 2010.

16.Дунаев В. В. Базы данных. Язык SQL для студента; БХВ -Петербург - Москва, 2013. - 288 c.

17.Дейт К. Дж. SQL и реляционная теория. Как грамотно писать код на SQL;Символ-Плюс - , 2010. - 480 c.

18.Кариев, Ч. А. Разработка Windows-приложений на основе Visual C# /

Ч. А. Кариев. – М. : БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий – ИНТУИТ.ру, 2011.

19. Кариев, Ч. А. Технология Microsoft ADO. NET / Ч. А. Кариев. – М. : БИНОМ. Лаборатория знаний, Интернет-университет информационных техно-логий – ИНТУИТ.ру, 2011.

20. Классы, интерфейсы и делегаты в. С# 2005 : учебное пособие / сост.

О. Н. Евсеева, А. Б. Шамшев. – Ульяновск : УлГТУ, 2010

21.Марченко, А. Л. Основы программирования на C# 2.0 / А. Л. Марченко. – М. : БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий – ИНТУИТ.ру, 2010.

22.Мейер М. Теория реляционных баз данных. – М.: Мир, 2010.

23.Основы проектирования реляционных баз данных. Электронное учебное пособие.

24.Маклаков С.В. Создание информационных систем с AllFusion Modeling Suite / С.В. Маклаков. –М.: Диалог-Мифи, 2013. – 432 с.

 25Острейковский В.А - «Информатика», Высшая школа, 2011. - 300с.

26.Симонович С.В. - «Вы купили компьютер», Москва, 2012. - 105с.

27. Симонович С.В. - «Информатика», базовый курс, 2-е издание, учебник для ВУЗов, издательский дом «Питер», 2013. - 250с

28.Симонович С. В., Евсеев Г. А., Алексеев А. Г. Специальная информатика: Учебное пособие. – М.: АСТ-ПРЕСС: Инфорком-Пресс, 2012

29.Хаббард Дж. Автоматизированное проектирование баз данных. – М.: Мир, 2011.

30.ГОСТ 2.105–95. Общие требования к текстовым документам;

31.ГОСТ 19.701-90. Схема алгоритмов, программ данных и систем;

32.ГОСТ 19.101-77. Схема алгоритмов, программ данных и систем;

33.ГОСТ 34.601-90. Автоматизированные системы, стадии создания.;

34.http://www.sql.ru/Научная библиотека избранных естественно - научных изданий -

35.http://sernam.ru/book_cbd.php?id=10

36.http://ru.wikipedia.org/wiki/SQL

37.http://kooboo-cms.ru/articles/detail/create-sql-database-for-kooboo/

http://www.sql.ru/

38. Научная библиотека избранных естественно - научных изданий -http://sernam.ru/book_cbd.php?id=10

39. http://ru.wikipedia.org/wiki/SQL

40. http://kooboo-cms.ru/articles/detail/create-sql-database-for-kooboo/


ПРИЛОЖЕНИЕ А

СХЕМА БАЗЫ ДАННЫХ

(SQL Server Management Studio)



ПРИЛОЖЕНИЕ В

SQL КОД БД


Код БД «Магазин канцелярские товары»:

Drop database KanzTov;

CREATE DATABASE KanzTov;

drop table Postavka, Postavschik, Tovar, Sklad;

CREATE TABLE Tovar(

Naz text not null,

Cena money not null,

InN integer not null Primary Key);

CREATE TABLE Sklad(

Kol_vo integer not null,

InN integer not null,

foreign Key (Inn) REFERENCES Tovar(Inn));

CREATE TABLE Postavschik(

ID integer not null Primary Key,

Nazvanie text not null,

Telefon integer not null);

CREATE TABLE Postavka(

ID integer not null foreign Key (ID) REFERENCES Postavschik(ID),

InN integer not null foreign Key (InN) REFERENCES Tovar(InN),

Data date not null,

Kolich integer not null);

INSERT into Tovar (Naz, Cena, InN) VALUES ('Tetradi12', '18', '01'),

('Tetradi48', '32', '02'),

('Tetradi96', '45', '03'),

('Ruchka_sin', '12', '04'),

('Ruchka_sin', '16', '05'),

('Ruchka_cher', '18', '06'),

('Lineika10sm', '12', '07'),

('Lineika16sm', '15', '08'),

('Zakladka', '03', '09'),

('Klei', '25', '10');

INSERT into Sklad (Kol_vo, InN) VALUES ('145', '01'),

('95', '02'),

('70', '03'),

('350', '04'),

('145', '05'),

('215', '06'),

('125', '07'),

('145', '08'),

('264', '09'),

('95', '10'),;

INSERT into Postavschik (ID, Nazvanie, Telefon) VALUES ('001', 'Kanzler', '554673'),

('002', 'TovKanz', '795822'),

('003', 'KanzMag', '987054'),

('004', 'DutyFreeKanz', '217834'),

('005', 'TovKanz', '403910');

INSERT into Postavka (ID, InN, Data, Kolich) VALUES ('001', '04', '10.10.2013', '200'),

('005', '03', '19.11.2013', '50'),

('003', '09', '25.11.2013', '90'),

('001', '01', '25.11.2013', '150'),

('002', '02', '06.01.2014', '130'),

('005', '07', '06.01.2014', '60');

Select * from Tovar;

Select * from Sklad;

Select * from Postavschik;

Select * from Postavka;

select Naz, Cena from Tovar

where Naz like 'Tetr%';

select * from Postavka

where Month(Data)=11 and Year(Data)=2013;

select Nazvanie, ID from Postavschik

where Telefon='403910';

Select Naz, Nazvanie, Data, Kolich from Tovar, Postavschik, Postavka

where Tovar.InN = Postavka.InN and Postavschik.ID = Postavka.ID and year(Data)=2013;

SELECT Postavschik.Nazvanie, Tovar.Naz

FROM Tovar INNER JOIN (Postavschik INNER JOIN Postavka ON Postavschik.ID = Postavka.ID)

ON Tovar.InN = Postavka.InN

WHERE (Postavka.Data)=[Введите дату:];

SELECT Postavka.ID, Postavka.InN, Postavschik.Nazvanie

FROM Postavschik LEFT JOIN Postavka ON Postavschik.ID=Postavka.ID

WHERE (((Postavka.ID) Is Null));

UPDATE Tovar

SET Cena=Cena+1

WHERE Naz like 'Tetr%';

UPDATE Postavschik

SET Telefon=4405716

WHERE Nazvanie like 'KanzM%';

UPDATE Postavka

SET Kolich=Kolich+10

WHERE Month(Data)=12;

DELETE FROM Postavka

WHERE year(Data)<2014;

DELETE FROM Tovar

WHERE InN=04;

DELETE FROM Postavschik

WHERE ID=04;

ALTER TABLE Postavschik DROP COLUMN Telefon;

ALTER TABLE Tovar MODIFY Cena Real;

ALTER TABLE Sklad RENAME Tov_na_sklade;

Create Index Nom ON Postavka Data;

ALTER Index Nom ACTIVE;

CREATE VIEW Postavschik0102

AS SELECT *

FROM Postavka

WHERE Postavka.ID = 1 and Postavka.ID = 2;

select * from Postavschik0102

where Postavka.ID = 2;

DROP VIEW Postavschik0102;

Код №1:

CREATE TABLE Tovar(

Naz text(15) not null,

Cena real(10,2) not null,

InN integer not null Primary Key);

INSERT into Tovar (Naz, Cena, InN) VALUES ('Tetradi12', '18', '01'),

('Tetradi48', '32', '02'),

('Tetradi96', '45', '03'),

('Ruchka_sin', '12', '04'),

('Ruchka_sin', '16', '05'),

('Ruchka_cher', '18', '06');

select * from Tovar;

select * from Tovar

where InN

between 1 and 3;

select Naz, Cena from Tovar

where Naz like 'Tetr%';

select Naz, InN from Tovar

where Naz like 'Ruch%' and Cena <=16;

select Naz, Cena from Tovar

where Cena < 18 or Cena > 25;

Код №2:

CREATE TABLE Sklad(

Kol_vo integer not null,

InN integer not null, foreign Key (Inn) REFERENCES Tovar(Inn));

INSERT into Sklad (Kol_vo, InN) VALUES ('145', '01'),('95', '02'),('70', '03'), ('350', '04'),('145', '06'),('215', '05');

select * from Sklad;

select Naz, Cena, Kol_vo from Tovar,Sklad

where InN

between 2 and 5;

select Naz, Cena, Kol_vo from Tovar,Sklad

where Naz like 'Tetr%';

select Naz, Kol_vo from Tovar,Sklad

where Cena = 18;

select Naz, Kol_vo from Tovar,Sklad

where Naz like 'Tetr%';

select Naz, Kol_vo from Tovar,Sklad

where Sklad.InN=Tovar.InN

and Naz like 'Tetr%' and Cena <= 30;


Инв. № подп

Подп. и дата

зам. инв. №

Инв. № дубл.

Подп. и дата

Лит

Лист

Листов

3

36

ПензГТУ, гр. 11ИС1бз

ПензГТУ 2.230400.09.ПЗ

Лит

№ докум.

Изм.

Подп.

Дата

Разраб.

Пров.

Т. контр.

Н. контр.

Утв.

Изм.

Лист

№докум.

Подпись

Дата

4

ПензГТУ 2.230400.09.ПЗ

Разработка базы данных на языке SQL (предметная область – «Магазин канцелярские товары»)