Вы находитесь на странице: 1из 19

RELATIONAL KEYS

BY MR. D SINYANGWE

Zambia ICT College


• In the relational model, keys are important
because:
• they are used to ensure that each row in a
table is uniquely identifiable.
• They are also used to establish relationships
among tables and to ensure the integrity of the
data.
• A "key" means a "unique identifier" for a row
of information.
INDEXES

• An index is a data structure that allows the


DBMS to locate particular records in a file
more quickly and thereby speed response to
user queries.
• An index is an orderly arrangement used to
logically access rows in a table. Or an Index is
a data structure that facilitates the query
answering process by minimizing the number
of disk accesses.
• This is analogous to using the index of a
book to go directly to the page on which the
information you are looking for is found, so
that you do not have to read the entire book
to find what you are looking for.
• From a conceptual point of view, an index is
composed of an index key and a set of
pointers.
• The index key is, in effect, the index’s
reference point. More formally, an index is an
ordered arrangement of keys and pointers.
• An index structure is usually defined on a
single Attribute of a Relation, called the
Search Key;

Search Key Pointer to a data-file record


• Suppose you want to look up all of the paintings
created by a given painter. Without an index, you
must read each row in the PAINTING table and
see if the PAINTER_NUM matches the requested
painter.
• However, if you index the PAINTER table and use
the index key PAINTER_NUM, you merely need to
look up the appropriate PAINTER_NUM in the
index and find the matching pointers.
More on relational keys

• Superkey is an attribute or set of attributes


that uniquely identifies a tuple within a
relation. However, a Superkey may contain
additional attributes that are not necessary for
unique identification. When a key consists of
more than one attribute it is called a composite
key.
• Candidate key is a Superkey such that no proper
subset is a Superkey within the relation. That is,
Superkey without unnecessary attributes. A candidate
key for a relation has two properties:
 uniqueness – in each tuple of a relation, the values of
candidate key uniquely identify that tuple;
 irreducibility – no proper subset of candidate key has the
uniqueness property.
• Every table must have at least one candidate key but at
the same time can have several.
• In order to be eligible for a candidate key it
must pass certain criteria.
– It must contain unique values
– It must not contain null values
– It contains the minimum number of fields to
ensure uniqueness
– It must uniquely identify each record in the table
• Once your candidate keys have been identified
you can now select one to be your primary key
Primary Key
• Primary key is a candidate key that is selected
to identify tuples uniquely within the relation.
It is a candidate key that is most appropriate
to be the main reference key for the table.
• It is the primary key of reference for the table
and is used throughout the database to help
establish relationships with other tables.
• Primary keys are mandatory for every table
each record must have a value for its primary
key.
Foreign Key
• A foreign key is generally a primary key from
one table that appears as a field in another
where the first table has a relationship to the
second. In other words, if we had a table A
with a primary key X that linked to a table B
where X was a field in B, then X would be a
foreign key in B.
• An attribute (or combination of attributes) in
one table whose values must either match the
primary key in another table or be null.
Alternative Key

• A table may have one or more choices for the


primary key. Collectively these are known as
candidate keys . One is selected as the primary
key. Those not selected are known as
secondary keys or alternative keys.
Simple Key
• Any of the key may comprise one or more
fields, for example if firstName and lastName
was our key this would be a key of two fields
where as studentId is only one. A simple key
consists of a single field to uniquely identify a
record. In addition the field in itself cannot be
broken down into other fields.
Compound Key
• A compound key consists of more than one field
to uniquely identify a record.
• A compound key is distinguished from a
composite key because each field, which makes
up the primary key, is also a simple key in its own
right. Each of the fields that make up the primary
key are simple keys because each represents a
unique reference when identifying a student in
one instance and a module in the other.
Composite Key
• A composite key consists of more than one
field to uniquely identify a record. This differs
from a compound key in that one or more of
the attributes, which make up the key, are not
simple keys in their own right. Because
firstName + lastName represent a unique
reference to a student, they are not each simple
keys, they have to be combined in order to
uniquely identify the student. Therefore the
key for this table is a composite key

Вам также может понравиться