Ask DBMS Expert


Home >> DBMS

Advanced Database Topics Assignment -

1) Consider the relation r (Key, Name, Address). The relation takes 200 blocks on disk and holds 10000 tuples.

a) What is the selectivity of an equality predicate on Key?

b) Given a secondary IndexName (height = 3) and a range predicate on Name with selectivity of 0.02, estimate the cost of doing the lookup on A.

c) Given a clustered IndexName (height = 3) and a range predicate on Name with selectivity of 0.02, estimate the cost of doing the lookup on A.

d) Given a predicate PA with selectivity of 0.2 and a predicate PB with a selectivity of 0.5, what are the selectivities of:

(NOTE: you just need to compute the selectivity value, you do not need to estimate any costs in this part. You may have to make some assumptions about correlation between PA and PB)

i) NOT PA

ii) PA AND PB

iii) PA OR PB

iv) PA AND (NOT PB)

2) Consider the following transaction schedules. For each one, determine if the schedule is conflict serializable and determine the equivalent serial schedules. Please note that there may be several equivalent serializable schedules and you should determine all of them.

a) T1: R(X); T3: R(X); T1: W(X); T2: R(X); T3: W(X)

b) T3: R(X); T2: R(X); T3: W(X); T1: R(X); T1: W(X)

3) For each of the following transaction schedules, add a minimal set of Lock commands (shared or exclusive) necessary to access the variables. Note that the transaction does not need to request the same lock twice. For example

R(X), W(X), R(X), W(Y), R(Y) =>

Lock-S(X) R(X), Lock-X(X) W(X), R(X), Lock-X(Y) W(Y), R(Y)

a) R(P), R(Q), R(N), R(P), R(Q), W(P), R(P), R(Q), R(N)

b) What is the difference between releasing locks as soon as you are done with the access (e.g., Lock-X(A), W(A), Release(A), Lock-X (B), Write(B), Release(B)) or holding onto everything until transaction commit (e.g., Lock-X(A), W(A), Lock-X (B), Write(B), Release(A), Release(B))

4) Using PostgreSQL DBMS, download and load SSBM benchmark and execute and time queries as described below. Just like previously, you can use a local PostgreSQL installation. Windows PostgreSQL is easy to install, and I have included Linux (RedHat/CentOS flavor) for setting up Postgres in this assignment.

a) I suggest that you drop the previous index every time you try a new one, because otherwise in addition to evaluating performance changes you will have to verify which index was actually used. You can drop indexes by DROP INDEX [INDEX_NAME]. You can see the query plan by running EXPLAIN [insert your SQL query text]. Running explain on Q1.1 without any indexes produces an estimate of 187297

csc553_db=> explain select sum(lo_extendedprice*lo_discount) as revenue from lineorder, dwdate where lo_orderdate = d_datekey and d_year = 1993 and lo_discount between 1 and 3 and lo_quantity < 25; QUERY PLAN

Aggregate (cost=187297.63..187297.64 rows=1 width=8)

b) Time the cost of an INSERT to Part table and Lineorder table. You would need to create these INSERT statements similar to the data in the table. NOTE: you can execute \timing in PostgreSQL prompt to ensure that every command is timed by the database.

c) Re-create your Q1.1 index from the previous assignment and test the effects on Q1.1 only. Compare the cost before and after as reported by EXPLAIN.

d) Execute and time Q1.1 (Include a screenshot here)

e) Execute and time another INSERT for Lineorder table. Is the cost different?

f) Next, let's consider the benefits of using a clustered index. Using your index from c), recluster the lineorder table. You can do this by running: CLUSTER lineorder USING MyIndexNameFromB;

Did that index improve query performance (looking at both estimated and real times)? Why or why not?

g) Execute and time another INSERT for Lineorder table. Is the cost different?

h) Create a secondary index for Q2.2 (make sure it is being used). Report the runtime and the explain cost

i) Create a covering index for Q2.3. Report the runtime and the explain cost.

j) Create a clustered index for Q2.3. Report the runtime and the explain cost.

Attachment:- Assignment File.rar

DBMS, Programming

  • Category:- DBMS
  • Reference No.:- M92216564

Have any Question?


Related Questions in DBMS

Data mining assignment -in this assignment you are asked to

Data Mining Assignment - In this assignment you are asked to explore the use of neural networks for classification and numeric prediction. You are also asked to carry out a data mining investigation on a real-world data ...

Sql query assignment -for this assignment you are to write

SQL Query Assignment - For this assignment you are to write your answers in a word document. This assignment is in three parts: Part A (reporting queries), Part B (query performance), Part C (query design). For this assi ...

The groceries datasetimagine 10000 receipts sitting on your

The groceries Dataset Imagine 10000 receipts sitting on your table. Each receipt represents a transaction with items that were purchased. The receipt is a representation of stuff that went into a customer's basket. That ...

You are in a real estate business renting apartments to

You are in a real estate business renting apartments to customers. Your job is to define an appropriate schema using SQL DDL in MySQL. The relations are Property(Id, Address, NumberOfUnits), Unit(ApartmentNumber, Propert ...

Objectivethe objective of this lab is to be familiar with a

OBJECTIVE: The objective of this lab is to be familiar with a process in big data modeling. You're required to produce three big data models using the MS PowerPoint software. This tool is available on UMUC Virtual Deskto ...

The relation memberstudentid organizationid roleid stores

The relation Member(StudentId, OrganizationId, RoleId) stores the membership information of student joining organization. For example, ('S1', 'O2', 'R3') indicates that student with Id 'S1' joined the organization with i ...

Relational database exerciseyou have been assigned to a new

Relational Database Exercise: You have been assigned to a new development team. A client is requesting a relational database system to manage their present store with the anticipation of adding more stores in the future. ...

Relational database design a given the following business

Relational Database Design A) Given the following business rules, identify entity types, attributes (at least two attributes for each entity, including the primary key) and relationships, and then draw an Entity-Relation ...

We can represent a data set as a collection of object nodes

We can represent a data set as a collection of object nodes and a collection of attribute nodes, where there is a link between each object and each attribute, and where the weight of that link is the value of the object ...

Data model development and implementationpurpose of the

Data model development and implementation Purpose of the assessment (with ULO Mapping) The purpose of this assignment is to develop data models and map Database System into a standard development environment to gain unde ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As