=========================preview======================
(COMP332)[2008](sum)midterm~cs_chfac^_10199.pdf
Back to COMP332 Login to download
======================================================
1
Summer 2008
COMP 332: Principles of Database Design
Mid-term Test Sample Solutions
1.Shortanswerquestions.Eachcorrectanswerisworththemarksindicatedforthequestion.Foreachquestion,onlythefirstxanswerswillbegradedwherexisthenumberofanswersrequested.Extraanswerswillbeignored.(Keyideasthatshouldbeintheanswerareshowninred.Theseideascanbeexpressedinadifferentway.)
2
Summer 2008
(A)Give two reasons why it is important to do conceptual database design beforedesigning the database for a specific DBMS. [2 marks: 1 mark for each reason]
1.It provides a better understanding of the data requirements since we do not need to consider implementation aspects, which may affect our perception of the data requirements.
2.It permits easier user involvement in the database design process especially if a graphical data model is used.
3.It allows us to capture all the data requirements not just those that can be captured by the data model used by a specific DBMS.
4.It documents the database design in a DBMS independent way allowing easier redesign or maintenance.
Other reasonableanswers that make sense are also acceptable.
[From slide 11 of Database Design Overview lecture notes plus some thinking.]
3
Summer 2008
(B)Accordingtothelecturenotes,whatarethethreemajorcomponentsofadatamodel?[3marks]
1.datastructuretypes(ORaspecificationofhowthedataisorganized)[1mark]
2.integrity constraints(OR restrictions/constraints on the data structure types) [1 mark]
3.operations(OR specifications of how the data is accessed OR data access OR a query language) [1 mark]
[From slide 4 of Data Modeling Concepts lecture notes.]
4
Summer 2008
(C)The lecture notes state that an abstraction is always for some purpose. Why is it important to know the purpose of an abstraction when modeling data and how does this help in modeling data? [4 marks]
It is important to know the purpose of an abstraction when modeling data because the purpose of an abstraction tells us what properties of the data it is important to model (i.e., to represent in a schema) and what properties are not important to model. [2 marks]
Knowing this helps in modeling data because it reduces the complexity of data modeling. [2 marks]
[From slide 6 of Data Modeling Concepts lecture notes plus some thinking.]
5
Summer 2008
(D)In the table below, indicate in the right column what type of data abstraction is used to create each of the entity-relationship data model concepts given in bold in the left column from the concept given in italics.[4 marks]
ER data model concept created
Data abstraction used to create the concept
Marks
Entity typefrom entity instances
classification
1
Entity typefrom attributes
aggregation
1
Relationship typefrom entity types
aggregation
1
Supertype entityfrom subtype entities
generalization
1
6
Summer 2008
(E)Mathematically, what is a functional dependency X.Y? In data modeling what does