Курсовая работа (т): Разработка базы данных на языке SQL

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

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

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

.1 Общие сведения

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сreate index - создает реляционный индекс или представление для указанной таблицы. index делает неактивный индекс доступным для использования или отключает использование активного индекса.[4]

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

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

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

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

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

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

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

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

 

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

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

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

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

 

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

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

Заключение

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

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

·   был проведен анализ поставленной задачи и изучена предметная область;

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

·   были получены практические навыки по использованию системы управления базы данных MS SQL Server;

·   таблицы были заполнены необходимыми данными.

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

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

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

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

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

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

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

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

-       И другие.

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

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

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

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

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

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

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

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

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

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

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

.        Кузнецов С.Д. Основы современных баз данных. - [#"787633.files/image022.gif">

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

Приложение Б

код БД

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

Drop database KanzTov;DATABASE KanzTov;table Postavka, Postavschik, Tovar, Sklad;

CREATE TABLE Tovar(text not null,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,text not null,integer not null);TABLE Postavka(integer not null foreign Key (ID) REFERENCES Postavschik(ID),integer not null foreign Key (InN) REFERENCES Tovar(InN),date not null,integer not null);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'),;into Postavschik (ID, Nazvanie, Telefon) VALUES ('001', 'Kanzler', '554673'),

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

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

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

('005', 'TovKanz', '403910');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');* from Tovar;* from Sklad;* from Postavschik;* from Postavka;Naz, Cena from TovarNaz like 'Tetr%';

select * from Postavka

where Month(Data)=11 and Year(Data)=2013;Nazvanie, ID from PostavschikTelefon='403910';Naz, Nazvanie, Data, Kolich from Tovar, Postavschik, PostavkaTovar.InN = Postavka.InN and Postavschik.ID = Postavka.ID and year(Data)=2013;Postavschik.Nazvanie, Tovar.NazTovar INNER JOIN (Postavschik INNER JOIN Postavka ON Postavschik.ID = Postavka.ID)

ON Tovar.InN = Postavka.InN

WHERE (Postavka.Data)=[Введите дату:];Postavka.ID, Postavka.InN, Postavschik.NazvaniePostavschik LEFT JOIN Postavka ON Postavschik.ID=Postavka.ID(((Postavka.ID) Is Null));TovarCena=Cena+1Naz like 'Tetr%';

UPDATE PostavschikTelefon=4405716

WHERE Nazvanie like 'KanzM%';PostavkaKolich=Kolich+10Month(Data)=12;FROM Postavkayear(Data)<2014;FROM TovarInN=04;FROM PostavschikID=04;TABLE Postavschik DROP COLUMN Telefon;TABLE Tovar MODIFY Cena Real;TABLE Sklad RENAME Tov_na_sklade;Index Nom ON Postavka Data;Index Nom ACTIVE; VIEW Postavschik0102SELECT *PostavkaPostavka.ID = 1 and Postavka.ID = 2;* from Postavschik0102Postavka.ID = 2;VIEW Postavschik0102;

Код контрольной работы №1:

CREATE TABLE Tovar(text(15) not null,real(10,2) not null,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');* from Tovar;* from TovarInN1 and 3;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 Cena < 18 or Cena > 25;

Код контрольной работы №2:

CREATE TABLE Sklad(_vo integer not null,integer not null, foreign Key (Inn) REFERENCES Tovar(Inn));into Sklad (Kol_vo, InN) VALUES ('145', '01'),('95', '02'),('70', '03'), ('350', '04'),('145', '06'),('215', '05');* from Sklad;Naz, Cena, Kol_vo from Tovar,SkladInN2 and 5;Naz, Cena, Kol_vo from Tovar,SkladNaz like 'Tetr%';Naz, Kol_vo from Tovar,SkladCena = 18;Naz, Kol_vo from Tovar,SkladNaz like 'Tetr%';Naz, Kol_vo from Tovar,Sklad

where Sklad.InN=Tovar.InN

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

Приложение В

Контрольная работа №1

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

Ход работы:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложение Г

Контрольная работа №2

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

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

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

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

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

Запрос 1:

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

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

Запрос 2:

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

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

Запрос 3:

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

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

Запрос 4:

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

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

Запрос 5:

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

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

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

Источник: https://www.bibliofond.ru/detail.aspx?id=787633