Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KURSOVA_BD.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.16 Mб
Скачать

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. Виконання запиту на оновлення.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]