Week 2 Flashcards
What is a relational data model?
A means of storing information about a database system in tables called relations
What is a table in a relational data model?
A collection of tuples (rows) that share the same attributes
What is a tuple in a relational data model?
A specific instance that relates to one ‘thing’ in the database system
What is the domain of an attribute?
The set of allowed values that an object can take
What is generalisation?
The process by which a lower level entity inherits all the attributes and relationship participation of the higher level entity it is linked to
What is the benefit of generalisation?
Avoids the duplication of data
What does the completeness constraint specify?
Whether an entity in a superclass entity set must belong to at least one of the subclass entity sets within a generalization
What are the two ways an entity can participate in a superclass entity set?
Total, Partial
What is total participation?
Where an etity must belong to one of the subclass entity sets
What is partial participation?
Where an entity need not belong to one of the subclass entity sets
What are inheritance constraints concerned with
Whether or not entities may belong to more than one subclass entity set within a generalization
What is overlapping inheritance?
An entity can belong to more than one subclass entity set
What is the inheritance called when an entity can belong to at most one subclass entity set?
Disjoint
State ER design decisions we may have to make
- Whether it should be entity set or attribute
- Whether it should be entity set or relationship set
- The placement of attributes on entity sets or relationship sets
- The use of an n-ry relationship versus multiple binary relationship sets
- The use of a strong or weak entity set
- The use of generalisation
What is a relationship set?
An action that occurs between entities
Where should an attribute of many to many relationships be placed?
On the relationship set
Where should an attribute of one to many relationship be placed?
On the relationship set or on the many-side entity set
Where should an attribute of a one to one relationship be placed?
On the relationship set or in either entity set
When is inheritance applicable?
- When all potential subclasses share all attributes
- When all potential subclasses share all relationships
What are the four steps in the simple modelling methodology?
- Decide what entity sets are required
- For each entity set, decide on attributes
- Decide on relationships between entity sets
- Decide on generalisation/specialisation