Logical Design Flashcards
What is a relation?
A relation is a two-dimensional table with specific characteristics. A table/entity may be a relation.
What is the degree of a relation?
The number of columns in that relation.
What is the cardinality of a relation?
The number of tuples or rows in that relation.
What is a foreign key?
A foreign key is a key that refers to an attribute (or set of attributes) within a relation that matches a candidate key of another.
T/F: Each cell of a relation should have (one/multiple) atomic values.
One
T/F: Each attribute (may/must) have a distinct name.
Must
T/F: A relation has a name that (is/is not) distinct from all other relation names in the database.
Is
T/F: Each tuple (may be/is) distinct.
Is
T/F: The order of attributes and tuples (has/has no) significance.
Has no
What is the difference between a relation instance and a relation schema?
A relation instance is an single tuple/instance of data in that relation, while a relation schema is the definition of that relation, by its name and attributes.
What are integrity constraints?
Integrity constraints are restrictions placed on the values of attributes.
What is entity integrity?
Entity integrity means that no two tuples can have identical candidate key values, and that no attribute of a candidate key can be NULL.
What is referential integrity?
Referential integrity means that if a foreign key exists within a relation, either the foreign key value matches a primary key value in its home relation, or the foreign key value is NULL.
What is a domain constraint?
A domain constraint allows the RDBMS to carry out checks on data errors and determine the range of operations that can be carried out in the domain.
What is a view?
A view is a virtual subset of a base relation.
How may we model a one-to-many binary relationship in a logical design?
In a one-to-many relationship, the foreign key must be placed on the many side. This is so that we can give each “many” a reference back to the “one”.
How may we model a one-to-one binary relationship in a logical design?
In a one-to-one relationship, our modelling depends on which side is mandatory. We must place a foreign key on any table that is considered mandatory for the database.
In the case that both sides are optional, we can decide which side to place it on.
How may we model a many-to-many binary relationship in a logical design?