1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of...

50
1 Database Concepts Acc 409

Transcript of 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of...

Page 1: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

1

Database Concepts

Acc 409

Page 2: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

2

• What is a database? A database consists of a collection of interrelated data.

Page 3: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

3

What is database management system (DBMS)? A system which is used for creating new database, retrieving, inserting, deleting and updating database information, using a data definition language (DDL), and a data manipulation language (DML), respectively.

Page 4: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

4

Advantages of Using Database Systems

• Centralized control of a firm’s data

• Redundancy can be reduced (avoid keeping copies of the same data in many places)• Inconsistency can be avoided to some extent (updating occurs at one place instead of many places)

Page 5: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

5

• The data can be shared

• Security restrictions can be applied (passwords)

• Integrity of data can be maintained (e.g., an instructor has to exist before being assigned to teach a class)

Advantages of Using Database Systems (cont’d)

Page 6: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

6

Data Models“Underlying the structure of a database is the data model: A collection of conceptual tools for describing data, data relationship, data semantics, and constraints.”

• Object-based model (1) entity-relationship model (2) object-oriented model

• Record-based model (1) relational data model (2) network model (3) Hierarchy model

Page 7: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

7

Entity-Relationship (E-R) Model

Customer-name

Customer-street

customer accountdepositor

Social-security

Customer-city

Account # Balance

An example of E-R diagram

Page 8: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

8

• The E-R model is based on a perception of a real world that consists of a collection of basic objects, called entities, and of relationships among these objects.

• An entity is a “thing” or “object” in the real world that is distinguishable from other objects. For example, each person is an entity, and each bank account can be considered to be an entity.

Page 9: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

9

• Entities are described in a database by a set of attributes. For example, the attributes “account-#” and “balance” describe one particular account in a bank. • One or more attributes may uniquely identify the entity. For example, “account-#” can uniquely identify a particular account. “account-#” and “balance” as a combination can also uniquely identify a particular account.

Page 10: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

10

• The set of all entities of the same type is called an entity set.

For example: The set of all accounts in a bank is called Account. Similarly, the set of all customers of a bank is called Customer.

Page 11: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

11

The table representation of an entity set

An entity set is usually represented as a table in the database. The name of the table is the same name as the entity set. For example:

SSN Name Street City

586-41-4125 Brown 2404 Maile Honolulu

332-18-6752 Yang 809 Dole St. Honolulu

121-898-5569 Gregson 211 Main St. Chicago

Customer

Page 12: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

12

The table representation of an entity set

In the table, columns are called attributes, rows are called tuples, observations, or records. Each row is an entity, and the table is an entity set.

CustomerSSN Name Street City

586-41-4125 Brown 2404 Maile Honolulu

332-18-6752 Yang 809 Dole St. Honolulu

121-898-5569 Gregson 211 Main St. Chicago

Page 13: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

13

• A relationship is an association among entities in related entity sets. For example, a depositor relationship associates a customer with each account that she has. A relationship can also have its own attributes.

Page 14: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

14

• An Entity Relationship diagram (E-R diagram) is built from the following components:

(1) Rectangles, which represent entity sets (2) Ellipses, which represent attributes (3) Diamonds, which represent relationships among entity sets. (4) Lines, which link attributes to entity sets and entity sets to relationships

Page 15: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

15

Mapping cardinalities express the number of entities to which another entity can be associated via a relationship.

• One to one.

• One to many.

• Many to one.

• Many to many.

Page 16: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

16

One to One. An entity in A is associated with at most one entity in B, and an entity in B is associated with at most one entity in A.

a1

A B

a2a3a4

b1b2b3b4

One to One

A B1 1

Page 17: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

17

One to One. An example.

A: Husband

B: Wife

Page 18: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

18

One to Many. An entity in A is associated with any number of entities in B. An entity in B, however, can be associated with at most one entity in A.

A B

a1a2a3

b1b2b3b4

b5One to Many

A B1 *

Page 19: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

19

One to Many. An example.

A: Mother

B: Child

Page 20: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

20

Many to One. An entity in A is associated with at most one entity in B. An entity in B, however, can be associated with any number of entities in A.

a1

A B

a2a3a4

a5

b1b2b3

Many to One

A B* 1

Page 21: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

21

Many to One. An example.

A: Child

B: Mother

Page 22: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

22

a1

A B

a2a3a4

b1b2b3b4

Many to Many

Many to Many. An entity in A is associated with any number of entities in B, and an entity in B is associated with any number of entities in A.

A B* *

Page 23: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

23

Many to Many. An example.

A: Brother

B: Sister

Page 24: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

24

Existence Dependency

• If the existence of entity X depends on the existence of entity Y, then X is said to be existence dependent on Y. Y is a dominate entity and X is a subordinate entity.

Loan PaymentLoanPayment

-- If a “loan” entity is deleted, then all its associated payment entities must also be deleted

Page 25: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

25

The role of an entity in a relationship is usually implicit, and is therefore not specified. However, when the entity sets of a relationship are not distinct, then the role of the entity should be specified.

For example,

Employee Works forworker

manager

Page 26: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

26

KeysIt is important that any entity in an entity set be

uniquely identifiable. Practically, we use the values of certain attributes to uniquely identify an entity. For example, when the clerk at a bank keys in a customer’s SSN, the customer’s full information can be brought up. Also, if she keys in both SSN and the customer’s name, the same customer’s information will be brought up.

Page 27: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

27

Customer-name

Customer-street

customer

SSN

Customer-city

In this particular case, the value of the combination of any attribute(s) with SSN can uniquely identify a particular customer.

Page 28: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

28

KeysMeanwhile, it is also obvious that some of

these combinations may have redundant attributes.

Therefore, in theory, we systematically classify these combinations of attributes using three types of Keys: superkey, candidate key, and primary key.

Page 29: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

29

Keys(1) Superkey: is a set of attributes whose

value can uniquely identify an entity in the entity set.

A superkey contains one or more attributes. Example:

The combination of “SSN” and “Name” is a superkey of the following entity set customer.

Page 30: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

30

Because: The value of attributes “SSN” and “Name”, such as 558-36-1234 and Susan, can uniquely identify that particular customer in customer entity set, which is the pool of all customers.

Customer-name

Customer-street

customer

SSN

Customer-city

Page 31: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

31

Notationally, we write, Superkey: (SSN, name)

Other superkeys for the entity set customer: Superkey: (SSN)Superkey: (SSN, Street)Superkey: (SSN, City)Superkey: (SSN, Name, Street)Superkey: (SSN, Name, City)Superkey: (SSN, Street, City)Superkey: (SSN, Name, Street, City)

Page 32: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

32

Superkey is the broadest definition of unique identifiers of an entity in an entity set.

We are unsurprisingly very interested in the most economical combination(s) of attributes that can uniquely identify any particular entity.

Therefore, we introduce Candidate Key next.

Page 33: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

33

(2) Candidate key: is a set of one or more attributes whose value can uniquely identify an entity in the entity set, and any attribute in the candidate key cannot be omitted without destroying the uniqueness property of the candidate key. (It is minimal superkey).

Example:(SSN, Name) is NOT a candidate key, because taking out “name” still leaves “SSN” which can uniquely identify an entity. “SSN” is a candidate key of customer.Candidate key could have more than one attributes.

Page 34: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

34

Also, while most entity sets have only one candidate key, some entity sets could have more than one candidate key.

Example: Both “SSN” and “License #” are candidate keys of Driver entity set.

In building a database in a database software, the software will only allow to use one candidate key to be the unique identifier of an entity for an entity set.

Page 35: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

35

(3) Primary Key: is the candidate key that is chosen by the database designer as the unique identifier of an entity. The database designer chooses only one candidate key as the primary key in building the system.

Example: “SSN” and “License #” are both candidate keys of Driver entity set. The database designer can choose either one as the primary key.

In an E-R diagram, we usually underline the primary key attribute(s).

Page 36: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

36

Overall, superkey is the broadest unique identifier; candidate key is a subset of superkey; and primary key is a subset of candidate key.

In practice, we would first look for superkeys. Then we look for candidate keys based on experience and common sense. If there is only one candidate key, it naturally will be designated as the primary key. If we find more than one candidate key, then we can designate any one of them as primary key.

Page 37: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

37

For example, think about the mental process of finding the primary key of the following entity set.

VIN

Model

Car

Color

Year

Make

Page 38: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

38

In-class exercise:

Construct an E-R diagram for a university’s registrar’s office.The office maintains data about each class, including the instructor, the enrollment, and the time and place of the classmeetings. For each student-class pair, a grade is recorded.Specify the mapping cardinalities between all related entity sets.(hint: there are three entity sets, instructor, student, and class)

Page 39: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

39

ER-Diagram of Tables 1 through 6:

Branch

Customer-name

Customer-street

Account-branch

customer

Customer-city

Depositor

Account

Account-number

Balance

Borrower Loan

Loan-number

Amount

Loan-branch

Branch-name

Branch-city

Assets

Many to manyMany to one

One to many

Many to many

*

** *

*

* 11

Page 40: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

40

Creating Tables from E-R Diagram

Two Steps:

1. Each entity set has its own table.

Example: account: (account-number, balance)

branch: (branch-name, branch-city, assets)

Note: Primary key attribute(s) is (are) underlined.

Page 41: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

41

Creating Tables from E-R Diagram (cont’d)

Two Steps:

2. Each relationship should be accounted for.

How to account for the relationships?

Page 42: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

42

• One to One relationship

We can do either:

(1) put the primary key of one entity set into the table of the other side.

ExceptionIf one entity set occurs prior to the other entity set, you

can only put the primary key of the first entity set into the table of the second entity set, and NOT the other way around.

Or (2) create a new table that contains the primary keys of both entity sets.

Page 43: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

43

• One to Many or Many to One.

Put the primary key of the entity set on the “one” side into the table of the entity set on the “many” side.

Example: The relation of account-branch is accomplished by putting the primary key of branch into the table of account, and the relationship does not require a separate table. Now the account table becomes: account: (account-number, balance, branch-name*)

“branch-name” is called Foreign Key in the account table and it is used to link the account table and the branch table.

Foreign key has an * beside it.

The same thing happens to the “loan-branch” relationship.

Page 44: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

44

• One to many or Many to one relationships (Exception).

If the many entity set occurs first, you cannot put the primary key from the one side into the many side.

For example, the following model describes the relationship between customer order and shipment. It is a many-to-one relationship, meaning that each customer order can be delivered once, while each delivery can have several customer orders.

In this case, the following tables do not work. Shipment: (Shipment-number, …) Order: (Order-number, Shipment-number*, …)

ShipmentOrder * 1

This field has to be left blankUntil shipment occurredThis is wrong.

Order-Shipment

Page 45: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

45

• In this case, we create a new table including the primary keys on both sides.

That is,

Shipment: (Shipment-number, …)

Order: (Order-number, …)

Order-Shipment: (Order-number*, Shipment-number*)

Page 46: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

46

• Many to many relationship

Requires a separate table (bridge) to represent the relationship. The primary key of this bridge table consists of the primary keys of the entity sets on both sides of the relationship.

Example: The relationship “depositor” is implemented by table: depositor: (customer-name*, account-number*)

The same happens to the “borrower” relationship.

Page 47: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

47

Revisit the Example of Registrar’s Office

Construct an E-R diagram for a university’s registrar’s office.The office maintains data about each class, including the instructor, the enrollment, and the time and place of the classmeetings. For each student-class pair, a grade is recorded.Specify the mapping cardinalities between all related entity sets.(hint: there are three entity sets, instructor, student, and class)

Page 48: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

48

E-R Diagram and Mapping Cardinalities:

Instructor Inst_Class Class Stud_Class Student

Class-time

Empl-ID Class-Num Room

Grade

Stud-ID

1 * * *

Note: A relationship sometimes has it own attribute(s). In such case, the relationship has to be a separate table.

Page 49: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

49

Suggested Structure of Tables:

Instructor:(Empl-ID, Empl-name, Empl-address, Empl-phone)

Class:(Class-Num, Class-time, Room, Empl-ID*)

Student:(Stud-ID, Stud-name, Stud-address)

Stud_Class:(Class-Num*, Stud-ID*, Grade)

Page 50: 1 Database Concepts Acc 409. 2 What is a database? A database consists of a collection of interrelated data.

50

Homework (no need to turn in):

Create the structure of tables for the E-R diagram of the customer database in the bank.