Разработка базы данных на языке SQL

  • База данных — это организованная структура, предназначенная для хранения информации. С понятием базы данных тесно связано понятие системы управления базой данных.
  • Такая система должна:
    • обеспечивать получение общих и/или детализированных отчетов по итогам работы;
    • позволять легко определять тенденции изменения важнейших показателей;
    • обеспечивать получение информации, критической по времени, без существенных задержек;
    • выполнять точный и полный анализ данных. [1]

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

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

    • Анализ предметной области магазин «Канцелярские товары».
    • Проектирование БД в исследуемой предметной области (включающее проектирование структуры таблиц, ключевых полей и схемы данных).

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

      1.

    Анализ предметной области

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

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

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

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

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

    6 стр., 2594 слов

    Объектно-ориентированные базы данных. _Объектно-ориентированные_БД. ...

    ... таких как С++ и Java. Объектно-ориентированные системы управления базами данных (OOСУБД) были созданы в начале 1980-х годов. OOСУБД были разработаны для работы с языками ООП, такими как ... только один родительский элемент. Тогда как для полного построения логической модели многих предметных областей требуется возможность горизонтальных связей. Также отношения или связи между «потомками» не ...

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

    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].

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

    3.2 Запросы (+контрольная работа 1)

    Insert

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

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

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

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

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

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

    Рисунок 3 — Листинг запроса

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

    Рисунок 4 — Листинг запроса

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

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

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

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

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

    Рисунок 6 — Листинг запроса

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

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

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

    Рисунок 8 — Листинг запроса

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

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

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

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

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

    Рисунок 10 — Листинг запроса

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

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

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

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

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

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

    4. Создание и запуск продвинутых запросов SQL

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

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

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

    4.2 Запросы (+контрольная работа 2)

    multitable

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

    Рисунок 12 — Листинг запроса

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

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

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

    Рисунок 14 — Листинг запроса

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

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

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

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

    В) Запрос

    Рисунок 16 — Листинг запроса

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

    Г) Запросы

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

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

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

    1. Будет удален столбец Телефон из таблицы Поставщик;

    2. Измениться тип столбца Цена на вещественны й;

    3. Таблица Склад бцдет переименована на Тов_на_складе.

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

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

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

    Рисунок 18 — Листинг запросов

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

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

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

    5. Создание и использование представлений (Views)

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

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

    А) Команда create view

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

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

    Б) Команда

    Рисунок 20 — Листинг запроса

    В) Команда

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

    Заключение

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

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

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

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

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

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

    Список используемой литературы

    [Электронный ресурс]//URL: https://litfac.ru/kontrolnaya/bazyi-dannyih-sql/

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

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

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

    4. Прайс Джейсон Oracle Database 11g: SQL. Операторы SQL и программы PL/SQL; Лори — , 2012. — 660 c.

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

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

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

    8. Грабер, М. SQL / М. Грабер. — М.: Лори, 2007. — 672 с.

    9. Кренке, Д. Теория и практика построения баз данных / Д. Кренке. — СПб.: Питер, 2003. — 800 с.

    10. Боуман, Д. Практическое руководство по SQL / Д. Боуман, С. Эмерсон, М. Дарновски. — М.: Вильямс, 2001. — 352 с.

    11. Кузнецов С.Д. Основы современных баз данных. — [http://www.citforum.ru/database/osbd/ contents.shtml].

    12. http://www.sql.ru/

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

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

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

    Приложение А

    Рисунок 22 — Схема базы данных «Канцелярские товары»

    Приложение Б

    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;

    Приложение В, Контрольная работа №1, Цель работы:

    Задание: Сформулировать и разработать реляционные утверждения на языке реляционной алгебры и соответствующие им выражения на языке SQL.

    Ход работы:

    Создание таблицы:

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

    1. Реляционное выражение — запрос SQL — выбрать все:

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

    Рисунок 26 — Результат запроса

    2. Реляционное выражение — запрос SQL — выбрать все и условие:

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

    Рисунок 28 — Результат запроса

    3. Реляционное выражение — запрос SQL — выбрать что-то и условие:

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

    Рисунок 30 — Результат запроса

    4. Реляционное выражение — запрос SQL- выбрать что-то и составное условие(И):

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

    Рисунок 32 — Результат запроса

    5. Реляционное выражение — запрос SQL — выбрать что-то и составное условие(ИЛИ):

    Рисунок 33 — Листинг запроса

    Рисунок 34 — Результат запроса

    Выводы по работе:, Приложение Г, Контрольная работа №2, Цель работы:

    Задание: Сформулировать и разработать реляционные утверждения на языке реляционной алгебры и соответствующие им выражения на языке SQL.

    Создание 2-ой связанной таблицы:

    Рисунок 35 — Листинг запроса

    1-5. Реляционное выражение — запрос SQL — выбрать что-то из нескольких таблиц и условия:

    Запрос 1:

    Рисунок 36 — Листинг запроса

    Рисунок 37 — Результат запроса 1

    Запрос 2:

    Рисунок 38 — Листинг запроса

    Рисунок 39 — Результат запроса 2

    Запрос 3:

    Рисунок 40 — Листинг запроса

    Рисунок 41 — Результат запроса 3

    Запрос 4:

    Рисунок 42 — Листинг запроса

    Рисунок 43 — Результат запроса 4

    Запрос 5:

    Рисунок 44 — Листинг запроса

    Рисунок 45 — Результат запроса 5

    Выводы по работе: