[Solved] CSE3055 Homework #7

$25

File Name: CSE3055_Homework_#7.zip
File Size: 178.98 KB

SKU: [Solved] CSE3055 Homework #7 Category: Tag:
5/5 - (1 vote)

Consider the Turkish Super League database accompanied with this homework.

Player (PlayerID: int, FirstName: nvarchar(25), LastName: nvarchar(25), Nationality: varchar(25), Birthdate: smalldatetime, Age: smallint, Position: varchar(25))

Team (TeamID: int, Name: nvarchar(50), City: nvarchar(25))

PlayerTeam (PlayerID: int, TeamID: int, Season: varchar(5))

Match (MatchID: int, HomeTeamID: int, VisitingTeamID: int, DateOfMatch: smalldatetime, Week: tinyint)

Goals (MatchID: int, PlayerID: int, IsOwnGoal: bit, Minute: tinyint)

Notes:

  • Table Match stores data only for season 2013-2014.
  • Table Goals stores data only for season 2013-2014.

1) Table creation and data insertion.

  1. a) [2 pts] Run the following queries to create the tables Standings and TransactionLog in your database. Create Table Standings (

Pos tinyint,

[Team Name] nvarchar(30),

GP tinyint,

W tinyint,

T tinyint,

L tinyint,

GF smallint,

GA smallint,

GD smallint,

Pts tinyint

)

Create Table TransactionLog ( LogID int identity(1,1) primary key,

LogTime datetime,

LogType char(1),

BeforeState nvarchar(500),

AfterState nvarchar(500),

)

  1. b) [8 pts] In only one insert into statement; write a query to insert the output data of your stored procedure sp_GetStandingsUpToDate(20140715) that you have in homework #6 into table Standings.

2) Implement a trigger Trg_RearrangeStandings with the followings:

  • When a record is inserted into, deleted from or updated on the table Goals (any change for MatchID, PlayerID and/or IsOwnGoal); then rearrange the table Standings, and insert a relevant record into the table TransactionLog.
  • In all type of operations (insert, delete, update); PlayerID in table Goals must be a player of either the home team or the visiting team for that match in season 13-14. In any wrong match-team-player assignments, the transaction will be rolled back and any further executions will be stopped.
  • A value less than 1 or greater than 90 cannot be entered in the field Minute.
  • LogTime is the time of operation.
  • LogType is I for insertion, D for deletion and U for update operation/transaction.
  • BeforeState is null for insertion and TransactionLog.AfterState is null for deletion. For update operation, BeforeState is the one before the operation and AfterState is the one after the operation.
  • For the fields BeforeState and AfterState in table TransactionLog, concatenate all the related fields (MatchID, PlayerID, IsOwnGoal, Minute) in table Goals and separate them by a semicolon (e.g. 306;324;0;58) and enter this data in the fields BeforeState and AfterState, accordingly.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[Solved] CSE3055 Homework #7
$25