
- •Курсова робота
- •Реферат
- •1. Дослідження предметної області
- •1.1. Характеристика предметної області
- •Опис вхідних даних
- •Опис вихідних повідомлень
- •Е тапи виконнання операцій
- •1.4 Опис основних процедур перетворення даних.
- •2. Інфологічна модель
- •2.1. Інформаційні об’єкти та їх характеристика
- •2.2. Запити та запитувальні зв’язки
- •2 .3. Структурні зв’язки та їх відображення на графі ілм
- •2.4. Автоматизація проектування інфологічної моделі
- •3. Практична реалізація
- •3.1. Обґрунтування вибору скбд
- •3.2. Реалізація бд на фізичному рівні
- •Після цього необхідно налаштувати з’єднання із бд. Для цього потрібно обрати пункт меню Database/Database Connection (Рис. 3.2.6).
- •3.3. Реалізація запитів та звітів
- •3.3.1. Створення запитів
- •Створення запиту на вибірку
- •Створення групувального запиту та запиту з обрахунками
- •Створення запиту для аналізу цін
- •Запити на додавання
- •Запити на видалення та оновлення
- •Запит на розрахунок індексу Ux
- •Створення запитів для прийняття управлінських рішень
- •3.3.2. Формування звітів
3.3. Реалізація запитів та звітів
3.3.1. Створення запитів
У проектуванні та роботі з БД дуже важливим є етап створення Запитів.
Запит на вибірку використовується для відбору та перегляду рядків таблиць бази даних.
Створення запиту на вибірку
Видати список трейдерів, показавши, які цінні папери і коли саме вони їх купували:
SELECT Buy.Cina_kup as 'ціна купівлі', Buy.Date_kup as 'дата купівлі',
Buy.Kod_p as 'куплений фін. інструмент', Trejder.Psevdonim_tr as
'псевдонім трейдера'
FROM Buy INNER JOIN
Trejder ON Buy.Kod_tr = Trejder.Kod_tr
Рис. 3.3.1.1. Виконання запиту на вибірку
Створення групувального запиту та запиту з обрахунками
Групувальний запит об’єднує записи з однаковими значеннями в указаному списку полів в один запис.
Видати список трейдерів й відповідно до кожного кількість операцій з продажу.
SELECT count(Sell.Kod_p) as 'кількість sell', Trejder.Name_tr as 'трейдер'
FROM Sell, Trejder
WHERE Trejder.Kod_tr=Sell.Kod_tr
GROUP BY Trejder.Name_tr
order by count(Sell.Kod_p) ASC
Рис. 3.3.1.2. Виконання групувального запиту
Функції агрегування використовують для отримання статистичних даних, розрахунків та аналізу. Видати інформацію на екран про кількість трейдерів, закріплених за кожним брокером.
select Broker.Name_br as 'назва брокера',
COUNT (Trejder.Kod_tr) AS 'кількість трейдерів'
from Broker, Trejder
where Broker.Kod_br=Trejder.Kod_br
group by Broker.Name_br
o
rder
by
COUNT
(Trejder.Kod_tr)
asc
Рис. 3.3.1.3. Виконання запиту з обрахунками
Створення запиту для аналізу цін
Видати на екран інформацію про фінансові інструменти (назва та ціна) та їх емітентів. Відсортувати ціни акцій від найбільшої до найменшої.
SELECT History.Date_hist AS 'дата' , History.Cina_kd AS 'ціна', Tsinni_Papery.Nazva_p AS 'фін.інструмент', Emitent.Nazva_em AS 'емітент'
FROM Tsinni_Papery INNER JOIN
History ON Tsinni_Papery.Kod_p = History.Kod_p INNER JOIN
Emitent ON Tsinni_Papery.Kod_em = Emitent.Kod_em
group by History.Date_hist, Tsinni_Papery.Nazva_p, Emitent.Nazva_em , History.Cina_kd
order by History.Cina_kd desc
Рис. 3.3.1.4. Аналіз цін фінансових інструментів різних емітентів
Запити на додавання
Для додавання нових записів до таблиці використовують запити на додавання.
До бази даних (до таблиці «Трейдер») додати двох нових трейдерів з номерами 31, 32 та з іменами Данило Галицький та Мономах Володимир відповідно.
insert into Ttejder
(Kod_tr,Psevdonim_tr,Name_tr, Kod_br)
values
( 31, 'Данило Галицький');
insert into Ttejder
(Kod_tr,Psevdonim_tr,Name_tr, Kod_br)
values
( 32, 'Мономах Володимир');
Рис. 3.3.1.5. Виконання запиту на додавання
Рис. 3.3.1.6.
Результати виконання
запиту на додавання
Запити на видалення та оновлення
Якщо потрібно видалити записи із БД, використовується запит на видалення (можуть видалятись значення, які не повторюються в інших таблицях). Якщо ми будемо намагатись видалити певне значення з таблиці, але воно записане і в інших таблицях бази даних, система видасть повідомлення про помилку. Такий запит на видалення значень з кількох таблиць називається каскадним вилученням. В даній БД воно неможливе.
Видалити з бази даних трейдера, код якого дорівнює 10.
DELETE FROM [kursova55].[dbo].[Trejder]
WHERE Kod_tr=10;
GO
Рис. 3.3.1.7. Виконання запиту на видалення.
Замінити наявне в базі прізвище трейдера з номером 20 на нове прізвище 'Мавроді'.
UPDATE [kursova55].[dbo].[Trejder]
SET Name_tr = 'Мавроді'
WHERE Kod_tr=20
GO
Рис. 3.3.1.8. Виконання запиту на оновлення.