Database Design
2-2Objectives
This lesson covers the following objectives:
• Define and give an example of an entity
• Distinguish between an entity and an instance of an entity
• Name and describe attributes for a given entity
• Distinguish between an attribute and its value
• Distinguish between mandatory and optional attributes, and between volatile and nonvolatile attributes
Purpose of Entities
• Knowing how to organize and classify data makes it possible to draw useful conclusions about seemingly random facts.
• Our technology-rich world produces vast quantities of facts in need of structure and order.
• It is important to learn about entities because they are the things about which we store data.
• For example:
Purpose of Attributes
• It is important to learn about attributes because they provide more specific information about an entity.
• Attributes help you distinguish between one instance and another by providing greater detail for the entity.
• For example:
– In a restaurant, you need to list the individual items on a customer’s order so that you can calculate the bill.
– When building several sales reports, you must be able to identify a specific report from the list of reports.
Purpose Unique Identifiers
• What about unique identifiers? It is important to learn about unique identifiers because they distinguish one instance of an entity from another.
• For example:
– In a classroom, you need to distinguish between one student and another.
– When classifying your CD collection, you need to distinguish between one CD and another.
Identifying Purpose
• Look at the magazine advertisements and the Internet sites identified by the teacher.
Entity Defined
An entity is:
• “Something” of significance to the business about which data must be known
• A name for a set of similar things that you can list
• Usually a noun
• Examples: objects, events, people
• Entities have instances.
Entities and Instances
Entities Instances
PERSON Mahatma Gandhi, George Washington
PRODUCT Nike Air Jordan, Gibson Les Paul Custom
PRODUCT TYPE Shoe, Video Game
JOB Electrician, IT Technician
SKILL LEVEL Beginner, Expert
CONCERT U2 at the Palladium, Beyoncé at the Greek Theatre L.A.
ANIMAL Dog, Cat
Entities and Instances
• A Dalmatian, a Siamese cat, a cow and a pig are instances of ANIMAL
• A convertible, a sedan and a station wagon are instances of CAR
• Some entities have many instances and some have only a few
• Entities can be:
– Tangible, like PERSON or PRODUCT
– Intangible, like SKILL LEVEL
Entities and Instances
• Is DOG an instance or an entity?
• It depends:
– If we consider many different kinds of animals, it makes sense to think of the entity ANIMAL to include instances DOG, CAT, HORSE and so on.
– But what if we run a dog-breeding business? We will need to keep data on many different breeds of dog, but not on other species of animal.
What is an Attribute?
• Like an entity, an attribute represents something of significance to the business.
• An attribute is a specific piece of information that helps:
– Describe an entity
– Quantify an entity
– Qualify an entity
– Classify an entity
– Specify an entity
Attributes
• Attributes have values. An attribute value can be a number, a character string, a date, an image, a sound, etc.
• These are called "data types" or "formats." Every attribute stores one piece of data of one specific data type.
Entities Attributes
CUSTOMER family name, age, shoe size, town of
residence, email
CAR model, weight, catalog price
ORDER order date, ship date
JOB title, description
TRANSACTION amount, transaction date
Attributes
• What is the data type of each attribute in CUSTOMER?
• For example: family name is a character string. Attributes are single-valued. Each attribute can have only one value (at any point in time) for each instance of the entity.
Entities Attributes
CUSTOMER family name, age, shoe size, town of
residence, email
CAR model, weight, catalog price
ORDER order date, ship date
JOB title, description
Attributes
• Some attributes (such as age) have values that constantly change.
• These are called volatile attributes.
• Other attributes (such as order date) will rarely change, if ever.
• These are nonvolatile attributes.
• If given a choice, select the nonvolatile attribute.
Attributes
• Some attributes must contain a value—these are mandatory attributes.
• For example: in most businesses that track personal information, name is required.
• Other attributes may either contain a value or be left null— these are optional attributes.
• For example: cell phone number is often optional except in mobile or wireless applications.
Attributes
Attributes
• If we were to model a Human Resource system, we would have an entity to store data for each worker called
EMPLOYEE.
• What attributes does EMPLOYEE have?
Identifiers
• An EMPLOYEE has a unique identifier (UID).
• A UID is either a single attribute or a combination of multiple attributes that distinguishes one employee from another.
• How do you find a specific employee that works for the company?
Identifiers
• Think about all the students in the classroom.
• Each student is described by several traits or attributes.
• Which attribute or attributes allow you to pick a single student from the rest of the class?
Terminology
Key terms used in this lesson included:
• Attribute
• Data type
• Entity
• Instance
• Mandatory
Terminology
Key terms used in this lesson included:
• Null
• Optional
• Single valued
• Tangible
• Unique identifier (UID)
Summary
In this lesson, you should have learned how to:
• Define and give an example of an entity
• Distinguish between an entity and an instance of an entity
• Name and describe attributes for a given entity
• Distinguish between an attribute and its value
• Distinguish between mandatory and optional attributes, and between volatile and nonvolatile attributes