Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Devise relational algebra queries for the following schema of a database storing

ID: 3807231 • Letter: D

Question

Devise relational algebra queries for the following schema of a database storing information about daily stock prices and basic transactions made by a trading rm. You should dene domains so as to make the schema complete.

STOCK (ticker, exchange)

ticker: the stock's ticker symbol; e.g. GOOG, AAPL, GE

exchange: the exchange where the ticker is listed; e.g. NYSE, NASDAQ

PRICE (ticker, date, close)

ticker: the stock's ticker symbol

date: the date of the price information

close: the closing price of the stock

BUYnSELL (buy or sell,ticker, date, timestamp, value, num of shares)

buy or sell: `BUY' or `SELL'

ticker: the stock's ticker symbol

date: the date of the price information

timestamp: time of the transaction
price: the price of a single share
num of shares: number of shares (bought or sold)
Express the following except from (v) as relational algebra expressions.


i. Find the tickers and closing prices of all stocks exchanged in 2017 (careful with this question).


ii. Find the tickers whose closing price is both higher than `IBM' on `3/20/2017' and no higher than `GOOG' on the same date.

iii. Find the tickers of all stocks that closed at the highest price on `3/20/2017'. (we are asking for all stocks" since there may be more than one with the same highest price")

iv. Find the tickers of all stocks in `NYSE' whose closing price on `3/20/2017' was either strictly below $20 or above $100

v. Find the tickers of the stocks whose closing price showed the highest increase between `3/20/2016' and `3/21/2016' in `NYSE' and whose closing price was above $100 for the entire 2017 (we are asking for all stocks" since there may be more than one with the same increase)

Explanation / Answer

as per chegg policy for multiple questions we are asked to answer first 4 parts only

1) select s.ticker, p.close from STOCK s inner join PRICE p on s.ticker = p.ticker where YEAR(ASOFDATE) = '2017';

2) select s.ticker from STOCK s inner join PRICE p on s.ticker = p.ticker where s.close > (select p.close from price p ,price p1 where p.ticker='IBM' and p1.ticker = 'GOOG' and and p1.date = p.date and p.date = '3/20/2017' and p.close<p1.close);

3) select s.ticker from stock s inner join price p on p.ticker = s.ticker where p.price > (select max(close) from price where date = '3/20/2017');

4) select s.ticker from stock s inner join price p on p.ticker = s.ticker where s.exchange='NYSE' and p.date = '3/20/2017' and p.price <20 and p.price >100;

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote