0% found this document useful (0 votes)
14 views7 pages

Chapter 2

Chapter two discusses the properties and building blocks of the relational data model, including primary keys, foreign keys, and the rules of entity and referential integrity. It explains the types of attributes, relationships between entities, and the concepts of degree and cardinality in relationships. Additionally, it covers relational constraints, the distinction between base relations and views, and the purpose of views in providing data security and customization.

Uploaded by

Tesfalegn Yakob
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views7 pages

Chapter 2

Chapter two discusses the properties and building blocks of the relational data model, including primary keys, foreign keys, and the rules of entity and referential integrity. It explains the types of attributes, relationships between entities, and the concepts of degree and cardinality in relationships. Additionally, it covers relational constraints, the distinction between base relations and views, and the purpose of views in providing data security and customization.

Uploaded by

Tesfalegn Yakob
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Chapter two

Relational Data Model


Properties of Relational Databases
 Each row of a table is uniquely identified by a PRIMARY KEY composed of one or
more columns
 Each tuple in a relation must be unique
 Group of columns, that uniquely identifies a row in a table is called a CANDIDATE
KEY
 ENTITY INTEGRITY RULE of the model states that no component of the primary
key may contain a NULL value.
 A column or combination of columns that matches the primary key of another table is
called a FOREIGN KEY. Used to make relationship between entities by cross-
reference tables.
 The REFERENTIAL INTEGRITY RULE of the model states that, for every foreign
key value in a table there must be a corresponding primary key value in another table
in the database or it should be NULL.
 All tables are LOGICAL ENTITIES
 A table is either a BASE TABLES (Named Relations) or VIEWS (Unnamed Relations)
 Only Base Tables are physically stores
 VIEWS are derived from BASE TABLES with SQL instructions like: [SELECT ..
FROM .. WHERE .. ORDER BY]
 Is the collection of tables
o Each entity in one table
o Attributes are fields (columns) in table
 Order of rows and columns is immaterial
 Entries with repeating groups are said to be un-normalized
 Entries are single-valued
 Each column (field or attribute) has a distinct name
All values in a column represent the same attribute and have the same data format.

Building Blocks of the Relational Data Model


The building blocks of the relational data model are:

 Entities: real world physical or logical object


 Attributes: properties used to describe each Entity or real world object.
 Relationship: the association between Entities
 Constraints: rules that should be obeyed while manipulating the data.
1. The ENTITIES (persons, places, things etc.) which the organization has to deal with.
Relations can also describe relationships

The name given to an entity should always be a singular noun descriptive of each item to
be stored in it. E.g.: student NOT students.
Every relation has a schema, which describes the columns, or fields the relation itself
corresponds to our familiar notion of a table:
A relation is a collection of tuples, each of which contains values for a fixed number of
attributes
 Existence Dependency: the dependence of an entity on the existence of one or more
entities.
 Weak entity : an entity that cannot exist without the entity with which it has a relationship
– it is indicated by a double rectangle
 This type of entity has not primary key. In order to isolate each tuples it uses partial
key. However sometimes partial key is duplicate. At that time it is difficult to isolate
each tuple uniquely.
2. The ATTRIBUTES - the items of information which characterize and describe these entities.
Attributes are pieces of information about entities. The analysis must of course identify those
which are actually relevant to the proposed application. Attributes will give rise to recorded
items of data in the database
At this level we need to know such things as:
 Attribute name (be explanatory words or phrases)
 The domain from which attribute values are taken (A DOMAIN is a set of
values from which attribute values may be taken.) Each attribute has values
taken from a domain. For example, the domain of Name is string and that for
salary is real
 Whether the attribute is part of the entity identifier (attributes which just
describe an entity and those which help to identify it uniquely)
 Whether it is permanent or time-varying (which attributes may change their
values over time)
 Whether it is required or optional for the entity (whose values will sometimes
be unknown or irrelevant)

Types of Attributes
(1) Simple (atomic) Vs Composite attributes
 Simple : not divided into sub parts
E.g. Age, gender
 Composite: Divided into sub parts (composed of other attributes)
E.g. Name, address
(2) Single-valued Vs multi-valued attributes
 Single-valued : have only single value(the value may change but has only
one value at one time)
E.g. Name, Sex, Id. No. color_of_eyes
 Multi-Valued: have more than one value
E.g. Address, dependent-name
Person may have several college degrees

(3) Stored vs. Derived Attribute


 Stored : not possible to derive or compute
E.g. Name, Address
 Derived: The value may be derived (computed) from the values of other
attributes.
E.g. Age (current year – year of birth)
Length of employment (current date- start date)
Profit (earning-cost)
G.P.A (grade point/credit hours)
(4) Null Values
 NULL applies to attributes which are not applicable or which do not have
values.
 You may enter the value NA (meaning not applicable)
 Value of a key attribute cannot be null.
Default value - assumed value if no explicit value
Entity versus Attributes
When designing the conceptual specification of the database, one should pay attention to the
distinction between an Entity and an Attribute.
 Consider designing a database of employees for an organization:
 Should address be an attribute of Employees or an entity (connected to Employees by a
relationship)?
 If we have several addresses per employee, address must be an entity
(attributes cannot be set-valued/multi valued)
If the structure (city, Woreda, Kebele, etc) is important, e.g. want to retrieve employees in a given
city, address must be modeled as an entity (attribute values are atomic)

3. RELATIONSHIPS between entities which exist and must be taken into account when
processing information. In any business processing one object may be associated with another
object due to some event. Such kind of association is what we call a RELATIONSHIP between
entity objects.
 One external event or process may affect several related entities.
 Related entities require setting of LINKS from one part of the database to another.
 A relationship should be named by a word or phrase which explains its function
 Role names are different from the names of entities forming the relationship: one
entity may take on many roles, the same role may be played by different entities
 For each RELATIONSHIP, one can talk about the Number of Entities and the
Number of Tuples participating in the association. These two concepts are called
DEGREE and CARDINALITY of a relationship respectively.

Degree of a Relationship
 An important point about a relationship is how many entities participate in it. The
number of entities participating in a relationship is called the DEGREE of the
relationship.

Among the Degrees of relationship, the following are the basic:


O UNARY/RECURSIVE RELATIONSHIP: Tuples/records of a Single
entity are related withy each other.
O BINARY RELATIONSHIPS: Tuples/records of two entities are
associated in a relationship
O TERNARY RELATIONSHIP: Tuples/records of three different entities
are associated
o And a generalized one:
 N-NARY RELATIONSHIP: Tuples from arbitrary number of
entity sets are participating in a relationship.
Cardinality of a Relationship
 Another important concept about relationship is the number of instances/tuples that
can be associated with a single instance from one entity in a single relationship. The
number of instances participating or associated with a single instance from an entity
in a relationship is called the CARDINALITY of the relationship. The major
cardinalities of a relationship are:
o ONE-TO-ONE: one tuple is associated with only one other tuple.
 E.g. Building – Location as a single building will be located in a
single location and as a single location will only accommodate a
single Building.
o ONE-TO-MANY, one tuple can be associated with many other tuples, but
not the reverse.
 E.g. Department-Student as one department can have multiple
students.
o MANY-TO-ONE, many tuples are associated with one tuple but not the
reverse.
E.g. Employee – Department: as many employees belong to a single
department.
o MANY-TO-MANY: one tuple is associated with many other tuples and
from the other side, with a different role name one tuple will be associated
with many tuples
 E.g. Student – Courseas a student can take many courses and a
single course can be attended by many students.

4. Relational Constraints/Integrity Rules

 Relational Integrity
 Domain Integrity: No value of the attribute should be beyond the allowable
limits
 Entity Integrity: In a base relation, no attribute of a Primary Key can
assume a value of NULL
 Referential Integrity: If a Foreign Key exists in a relation, either the
Foreign Key value must match a Candidate Key value in its home
relation or the Foreign Key value must be NULL
 Enterprise Integrity: Additional rules specified by the users or database
administrators of a database are incorporated
 Key constraints
If tuples are need to be unique in the database, and then we need to make each tuple distinct.
To do this we need to have relational keys that uniquely identify each relation.

Super Key: A Super Key is a set of one or more attributes that are taken collectively and
can identify all other attributes uniquely.
Candidate Key: are a super key which are not having any redundant attributes. In other
words candidate keys are minimal super keys
Candidate key has two properties:
1. Uniqueness
2. Irreducibility
Primary Key: the candidate key that is selected to identify tuples uniquely within the
relation.
The entire set of attributes in a relation can be considered as a primary case
in a worst case.
For example:- Book (bookid, bookname, author)

So in this table we can have

 (BookId)
 (BookId,BookName)
 (BookId, BookName, Author)
 (BookId, Author)
 (BookName, Author)

As our Super key. Each super key is able to uniquely identify each tuple.

From the above super key, we can take candidate key which are not having any
redundant. That means (bookid) and (bookname, author) can be the candidate
key. The other keys have redundant attribute.

From those candidate key, database designer choose the primary key which
uniquely identify each tuple. So (bookid) is considered as the primary key in this
condition. But you can choose also (bookname, author) as a primary key. But it
is complex when we use two or more than two attribute as a primary key.

Foreign Key: an attribute, or set of attributes, within one relation that matches the
candidate key of some relation.
A foreign key is a link between different relations to create the view or the
unnamed relation
 Relational Views
Relations are perceived as a Table from the users’ perspective. Actually, there are two kinds of
relation in relational database. The two categories or types of Relations are Named and Unnamed
Relations. The basic difference is on how the relation is created, used and updated:
1. Base Relation
A Named Relation corresponding to an entity in the conceptual schema, whose tuples are
physically stored in the database.
2. View (Unnamed Relation)
A View is the dynamic result of one or more relational operations operating on the base
relations to produce another virtual relation that does not actually exist as presented. So a
view is virtually derived relation that does not necessarily exist in the database but can
be produced upon request by a particular user at the time of request. The virtual table or
relation can be created from single or different relations by extracting some attributes and
records with or without conditions.
Purpose of a view
 Hides unnecessary information from users: since only part of the base relation
(Some collection of attributes, not necessarily all) are to be included in the virtual
table.
 Provide powerful flexibility and security: since unnecessary information will be
hidden from the user there will be some sort of data security.
 Provide customized view of the database for users: each users are going to be
interfaced with their own preferred data set and format by making use of the Views.
 A view of one base relation can be updated.
 Update on views derived from various relations is not allowed since it may violate
the integrity of the database.
 Update on view with aggregation and summary is not allowed. Since aggregation
and summary results are computed from a base relation and does not exist actually.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy