poprawka_2014_StockExchange.pdf

(79 KB) Pobierz
ZADANIE 1 (80%)
Przedstawiona poniżej tabela zawiera listę transakcji, zawartych podczas sesji giełdowej:
Trans ID
567823
Date And Time
23-Aug-2006 9:37
Cust
ID
789
Cust Name
Trans
MegaBrokers
Typ
e
Sell
Ticker
Symbol
TMAX
Stock Name
TechMax
Num
Shares
1000
Unit
Price
$ 8.24
Categ
Code
SMC
IT
567824
23-Aug-2006 9:38
989
Kirt Kerorian
Buy TMAX
TechMax
1000
$ 8.26
SMC
IT
567825
23-Aug-2006 9:41
789
MegaBrokers
Sell
ALO
Alstom, SA
2500
$12.56 LGC
MAN
EUR
567826
23-Aug-2006 9:41
320
TradePartners
Sell
WFMI
Whole Foods 700
$20.41 MDC
RET
567827
23-Aug-2006 9:42
789
MegaBrokers
Buy WFMI
Whole Foods 500
$20.43 MDC
RET
567828
23-Aug-2006 9:42
989
Kirt Kerorian
Buy WFMI
Whole Foods 200
$20.43 MDC
RET
567829
23-Aug-2006 9:42
210
ElecTrade
Buy ALO
Alstom, SA
2500
$12.58 LGC
MAN
EUR
567830
23-Aug-2006 9:44
320
TradePartners
Sell
MSFT
Microsoft
4000
$43.82 LGC
IT
567831
23-Aug-2006 9:44
776
Max Selmer
Sell
MSFT
Microsoft
1000
$43.82 LGC
IT
567832
23-Aug-2006 9:45
789
MegaBrokers
Buy MSFT
Microsoft
5000
$43.84 LGC
IT
567833
23-Aug-2006 9:45
989
Kirt Kerorian
Sell
TM
Toyota
800
$51.00 LGC
MAN
AS
567834
23-Aug-2006 9:46
776
Max Selmer
Buy TM
Toyota
800
$51.02 LGC
MAN
AS
Category
Descrip
Small Cap
Info Tech
Small Cap
Info Tech
Large Cap
Manufacturing
Europe
Mid Cap
Retail
Mid Cap
Retail
Mid Cap
Retail
Large Cap
Manufacturing
Europe
Large Cap
Info Tech
Large Cap
Info Tech
Large Cap
Info Tech
Large Cap
Manufacturing
Asia
Large Cap
Manufacturing
Asia
-unikalny identyfikator transakcji giełdowej
data I godzina zawarcia transakcji
unikalny identyfikator klienta giełdy
nazwa klienta giełdy
typ transakcji
unikalny symbol akcji
nazwa emitenta akcji
liczba udziałów
cena jednostkowa
symbol kategorii nazwa emitenta akcji (lista symboli jest stała dla
emitenta)
Category Descrip
opis kategorii (powyżej)
Trans ID
Date And Time
CustID
Cust Name
Trans Type
Ticker Symbol
Stock Name
Num Shares
Unit Price
Categ Code
Zadanie 2 (20%):
Załóżmy,
że
istnieje relacja R(A,B,C,D,E, F,G), w której zachodzą następujące zależności
funkcjonalne:
A
B
C
AD
CE
B
EF
C
Dokonaj dekompozycji relacji do prawidłowej postaci: 1NF, 2NF, 3NF I BCNF (Boyce-Codd
Normal Form)
Opisz zastosowane metody dekompozycji i nominowania kluczy głównych.
ROZWIĄZANIE:
1. OFN: TRANSAKCJA = TransID + DateAndTime + CustID + CustName +
TransType + TickerSymbol + StockName + NumShares + UnitPrice
+{CategCode+ CategoryDescription}
2. Lista FD:
FD1: = {CategCode → CategoryDescription}
FD2: = {TickerSymbol → StockName}
FD3: = {CustID → CustName}
FD4: = {TransID → DateAndTime, CustID, CustName, TransType,
TickerSymbol, StockName, NumShares, UnitPrice }
3. 1NF:
Trans ID
567825
567825
567825
Date And Time
23-Aug-2006 9:41
23-Aug-2006 9:41
23-Aug-2006 9:41
Cust
ID
789
789
789
Cust Name
Trans
MegaBrokers
MegaBrokers
MegaBrokers
Typ
e
Sell
Sell
Sell
Ticker
Symbol
ALO
ALO
ALO
Stock Name
Alstom, SA
Alstom, SA
Alstom, SA
Num
Shares
2500
2500
2500
Unit
Price
Categ
Code
Category
Descrip
Large Cap
Manufacturing
Europe
$12.56 LGC
$12.56 MAN
$12.56 EUR
R
TRANSAKCJA
={
TransID, CategCode → DateAndTime, CustID, CustName,
TransType, TickerSymbol, StockName, NumShares, UnitPrice,
CategoryDescription
}
4. NORMALIZACJA:
A.
FD1 łamie 2NF w relacji
R
TRANSAKCJA
– dokonuję dekompozycji:
R
TRANSAKCJA
=
{
TransID, CategCode → DateAndTime, CustID,
CustName, TransType, TickerSymbol, StockName,
NumShares, UnitPrice
}.
R
KATEGORYZACJA
= {
CategCode → CategoryDescription
}.
B.
FD4 łamie 2NF w relacji
R
TRANSAKCJA
– dokonuję dekompozycji:
R
KATEGORIETRANSAKCJI
=
R
TRANSAKCJA
=
{
TransID, CategCode
}.
{
TransID → DateAndTime, CustID, CustName,
TransType, TickerSymbol, StockName, NumShares,
UnitPrice
}.
R
KATEGORYZACJA
= {
CategCode → CategoryDescription
}.
C.
FD2 łamie 3NF w relacji
R
TRANSAKCJA
– dokonuję dekompozycji:
R
KATEGORIETRANSAKCJI
=
R
TRANSAKCJA
=
{
TransID, CategCode
}.
{
TransID → DateAndTime, CustID, CustName,
TransType, TickerSymbol, NumShares, UnitPrice
}.
R
KATEGORYZACJA
= {
CategCode → CategoryDescription
}.
R
AKCJE
=
D.
{
TickerSymbol → StockName
}.
FD3 łamie 3NF w relacji
R
TRANSAKCJA
– dokonuję dekompozycji:
R
KATEGORIETRANSAKCJI
=
R
TRANSAKCJA
=
{
TransID, CategCode
}.
{
TransID → DateAndTime, CustID, TransType,
TickerSymbol, NumShares, UnitPrice
}.
R
KATEGORYZACJA
= {
CategCode → CategoryDescription
}.
R
AKCJE
=
R
KLIENCI
=
StockExchange
{
TickerSymbol → StockName
}.
{
CustID → CustName
}.
KLIENCI
CustID:INTEGER
CustName:VARCHAR
KATEGORIETRANSAKCJI
TRANSAKCJA
TransID:INTEGER
DateAndTime:DATE
TransType:VARCHAR
NumShares:INTEGER
UnitPrice:INTEGER
KATEGORYZACJA
CategCode:INTEGER
CategoryDescripti on:VARCHAR
AKCJE
Ti ckerSymbol:INTEGER
StockName:VARCHAR
Zgłoś jeśli naruszono regulamin