1. Trang chủ
  2. » Công Nghệ Thông Tin

INTRODUCTION TO COMPUTER SCIENCE - PART 3 pot

6 407 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 272 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

We say that the binary relation love on the sets MS and FS has two tuples: Tiến, Cúc and Việt, Lan.. THE RELATIONAL DATA MODELThe last must be false since it is not in the relation.. We

Trang 1

HANDOUT #3 THE RELATIONAL DATA MODEL

K5 & K6, Computer Science Department, Văn Lang University

Second semester Feb, 2002

Instructor: Trần Đức Quang

Major themes:

1 Binary Relations

2 Relations

3 Relational Algebra

Reading: Sections 7.7, 7.10, 8.2, and 8.7.

3.1 BINARY RELATIONS

Consider two sets of students:

MS = {Tiến, Hùng, Khoa, Việt}, and

FS = {Lan, Cúc, Huệ}

Suppose that we have two pairs of lovers: Tiến and Cúc, Việt and Lan Others may

love someone else not in the sets We say that the binary relation love on the sets MS

and FS has two tuples: (Tiến, Cúc) and (Việt, Lan) The other tuples, say (Khoa, Huệ)

or (Hùng, Lan), are not in love.

We can now define binary relations formally First, let A and B be two sets The product or Cartesian product of A and B, denoted A × B, is defined as the set of pairs

in which the first component is chosen from A and the second component is chosen from B That is,

A × B = { (a, b) | a A and b B }

A binary relation R on A and B is a subset of the product A × B.

In the previous example, we have love = { (Tiến, Cúc), (Việt, Lan) } and may write

in a predicate form:

love(Tiến, Cúc) = true

love(Việt, Lan) = true

love(Hùng, Huệ) = false

Trang 2

18 INTRODUCTION TO COMPUTER SCIENCE: HANDOUT #3 THE RELATIONAL DATA MODEL

The last must be false since it is not in the relation

We can use an infix notation for binary relations, so that a binary relation like <

can be written between the componets of pairs in the relation For example, we may

write 1<2 instead of "(1,2)<" or "<(1,2)=true".

Some special properties

Binary relations may have some useful properties: transitivity, reflexivity, symmetry, and antisymmetry

Reflexivity

A relation R on a set A is called reflexive if (a, a) R for every element a A.

Symmetry

A relation R on a set A is called symmetric if (b, a) R whenever (a, b) R for a, b A.

Antisymmetry

A relation R on a set A such that (a, b) R and (b, a) R only if a = b,

for a, b A, is called antisymmetric.

Transitivity

A relation R on a set A is called transitive if whenever (a, b) R and (b, c) R, then (a, c) R, for a, b, c A.

See more about binary relations in the textbook (partial orders, equivalence relations, equivalence classes, closures of relations)

3.2 RELATIONS

In this section, we shall extend binary relations into relations of arbitrary arity In the relational model, relations are viewed as tables; that is, we represent information in a

table whose columns are given names, called attributes, and whose rows are called tuples and represent basic facts Thus, a table has two aspects:

1 The set of column names, and

2 The rows containing the information.

The set of column names (attributes) is called the scheme of the relation For

exam-ple, the table on the next page has the scheme (Course,StudentId,Grade) If we give it a name, say CSG, we may write CSG(Course,StudentId,Grade).

Trang 3

The table CSG with three attributes.

A collection of relations (tables) is called a database In an enterprise, databases

could contain all of the vital information for its operations Design of a dabase and applications that access data in the database is a big problem and is beyond the scope

of this course

A set of schemes of various relations in a database is called the database scheme.

Notice the difference between the scheme for the database, which tells us something about how information is organized in the database, and the set of tuples in each rela-tion, which is the actual information stored in the database

3.3 RELATIONAL ALGEBRA

We introduce some basic operations on relations by examples You can see more about those operations and others in many database textbooks

The Selection Operation

If we want the tuples from the table CSG that have the Course component "CS101", we

can perform a selection on this table and write:

σCourse=“CS101” (CSG)

where σ is the selection operator; Course="CS101" is a boolean expression that can consist of the logical operators such as AND, OR, and NOT The result of this operation is

as follows:

CS101 CS101 EE200 EE200 CS101 PH100

12345 67890 12345 22222 33333 67890

A B C B+

A−

C+

CS101 CS101 CS101

12345 67890 33333

A B

A−

Trang 4

20 INTRODUCTION TO COMPUTER SCIENCE: HANDOUT #3 THE RELATIONAL DATA MODEL

The Projection Operation

Another important operation is the projection Suppose we want the identifiers of the

students in the table CSG That is, we must eliminate all the columns but StudentId.

This can be done using the projection operator, represented by the symbol π

πStudentId (CSG)

and we can get an one-column table:

Note that this table has only four tuples, not six as in the original one The reason is that relations are sets, and the 1-tuples "12345" and "67890" are duplicates, thus they are the same elements and need not to be represented twice

The Join Operation

Unlike the previous operations that are unary ones, the join operation is a binary oper-ation; that is, it has two operands

The join of R and S, written R S, is formed by taking each tuple r from R and each tuple s from S and comparing them If the component of r for A i equals the

com-ponent of s for B j , then we form one tuple from r and s; otherwise, no tuple is created from the pairing of r and s We form a tuple from r and s by taking the components of

r and following them by all the components of s, but omitting the component for B j,

which is the same as the A i component of r anyway.

Suppose we have two tables CDH and CR as follows:

The table CDH.

StudentId 12345 67890 22222 33333

CS101 CS101 CS101 EE200 EE200 EE200

M W F Tu W Th

9AM 9AM 9AM 10AM 1PM 10AM

><

A i =B j

Trang 5

The table CR.

and we want to know at what times each room is occupied by some course taking a join

on the Course components The expression defining the resulting relation is:

and the value of the relation produced by this expression is as shown in the following table:

We usually perform a kind of joins that equates the attributes with the same names

Such a join is called a natural join and simply written The join in the example is a

natural join and can be rewritten CH CDH.

3.4 GLOSSARY

Relation: Quan hệ See definition in text.

Arity: Ngôi (của quan hệ).

Binary relation: Quan hệ hai ngôi See definition in text.

n-ary relation: Quan hệ n-ngôi.

Tuple: Bộ (dữ liệu) A sorted list of values, each corresponding to one component in the

relation scheme Also called a fact.

Attribute: Thuộc tính A component of a relation that is given a name.

Cartesian Product: Tích, tích Descartes Also called cross product (tích chéo).

CS101 EE200 PH100

Turing Aud

25 Ohm Hall Newton Lab

CS101 CS101 CS101 EE200 EE200 EE200

Turing Aud

Turing Aud

Turing Aud

25 Ohm Hall

25 Ohm Hall

25 Ohm Hall

M W F Tu W Th

9AM 9AM 9AM 10AM 1PM 10AM

><

Course=Course

><

><

Trang 6

22 INTRODUCTION TO COMPUTER SCIENCE: HANDOUT #3 THE RELATIONAL DATA MODEL

Predicate: Vị từ See Chapter 14 in the textbook for Predicate Logic.

Infix notation: Ký pháp trung vị An expression notation in which operators are betweet

their operands Related terms: prefix and postfix notation (tiền vị và hậu vị).

Reflexivity: Tính phản thân.

Symmetry: Tính đối xứng.

Antisymmetry: Tính phản xứng.

Transitivity: Tính bắc cầu.

Partial order: Thứ tự bộ phận.

Equivalence relation: Quan hệ tương đương.

Equivalence class: Lớp tương đương.

Closure: Bao đóng.

Scheme: Lược đồ.

Database: Cơ sở dữ liệu.

Relational algebra: Đại số quan hệ.

Selection: Phép chọn.

Projection: Phép chiếu.

Join: Phép nối.

Natural Join: Nối tự nhiên.

Ngày đăng: 09/08/2014, 11:21

TỪ KHÓA LIÊN QUAN