21
데 데 데 데 데 데 데데데데데 IT 데데데데 Ch5. 데데 데데데데데데 데데데 데데

1. 관계 데이터 모델

Embed Size (px)

DESCRIPTION

1. 관계 데이터 모델. (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키 (primary key) 와 이를 참조하는 외래키 (foreign key) 로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블 (table) 로 사용하고 개체 집합들 사이의 관계를 공통속성으로 연결하는 독립된 형태의 데이터 모델 - PowerPoint PPT Presentation

Citation preview

Page 1: 1.  관계 데이터 모델

데 이 터 베 이 스

우송대학교IT 경영학부

Ch5. 관계 데이터베이스 모델과 언어

Page 2: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 2

1. 관계 데이터 모델

(1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키 (primary key) 와 이를 참조하는 외래키 (foreign key) 로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table) 로 사용하고 개체 집합들 사이의 관계를 공통속성으로 연결하는 독립된 형태의 데이터 모델 ③ Database management systems that process data from the perspective of a relational database structure use a set of two dimensional tables to represent the logical relationships among the records of a user's files. ( 관계 데이터베이스 구조의 관점에서 데이터를 처리하는 DBMS는 사용자 파일의 레코드 간의 논리적인 관계를 표현하기 위해 2 차원 테이블의 집합을 사용한다 .)

Page 3: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 3

(2) 릴레이션 1) 릴레이션의 구조

Page 4: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 4

① Entity( 개체 ) 와 Relation( 관계 ) 으로 구성 • 릴레이션 스킴과 릴레이션 인스턴스 ( 릴레이션의 외연 ) 로 구성 • In relational database terminology, a row is called a

tuple, a

column name is called an attribute, and the table is

called a

relation.

( 관계형 데이터베이스 용어에서 행은 튜플이라 하고 , 열은 속성이라 하며 , 릴레이션은 테이블이라고 한다 .)

Page 5: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 5

② 개체 (Entity)

• 데이터베이스가 표현하려고 하는 유형 , 무형의 정보대상으로 존재하 면서 서로 구별될 수 있는 것 • 데이터베이스에 표현하려고하는 현실 세계의 대상체 • 유형 , 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성 • The basic object that the ER model represents as an

entity, which

is a "thing" in the real world with an independent

existence.

( 실세계에서 독립적으로 존재하는 “사물” 인 객체를 ER 모델에서는 개체 (entity) 라고 표현한다 .)

Page 6: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 6

③ 속성 (attribute)

• 개체의 특성을 기술 • 개체가 가지고 있는 성질을 나타냄 • 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당됨 • Each entity has particular attributes.

( 각 개체는 특정한 속성들을 가진다 .)

• The atomic attribute is called in that attributes are

not divisible.

( 더 이상 나누어지지 않는 속성을 원자속성이라 함 )

Page 7: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 7

④ 도메인 (domain)

• 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자 (atomic)

값들의 집합 • 실제 애트리뷰트 값이 나타날 때 그 값의 합법여부를 시스템이 검사하 는 데에도 이용됨 • 표현되는 속성 값의 범위를 나타냄 • The collection of data items(fields) of the same type,

in a relation.

( 릴레이션에서 , 동일한 타입의 데이터 항목 ( 필드 ) 의 집합 )

• Each simple attribute of an entity type is associated

with a value

set, which specifies the set of values that may be

assigned to

that attribute for each individual entity.

( 개체 타입의 각 속성은 값들의 집합과 연관되는데 , 각 개별 개체의 속 성에 속할 수 있는 값들의 집합을 나타낸다 .)

Page 8: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 8

⑤ 튜플 (Tuple)

• 데이터베이스의 관계모형에서 사용하는 테이블의 행을 구성하는 애트리뷰트 값들의 집합 • 테이블에서 행 ( 레코드 ) 과 유사 ⑥ 관계 (relation)

• 개체간의 상호 작용을 나타냄⑦ 차수 (degree)

• The number of attributes of its relation schema.

( 릴레이션 스키마를 구성하는 속성의 개수 )

⑧ 카디널리티 (cardinality)

• 릴레이션 (relation) 에 포함되어 있는 튜플 (tuple) 의 수 • The quantity of tuples in consist of the relation.

( 릴레이션을 구성하는 튜플들의 수 )

Page 9: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 9

2) 릴레이션의 특성 ① 한 릴레이션에 포함된 튜플들은 모두 상이함 ( 유일성을 가짐 )

② 한 릴레이션에 포함된 튜플 사이에는 순서가 없음 ③ 모든 속성 값은 원자값 ④ 속성은 릴레이션 내에서 유일한 이름을 가짐 ⑤ 속성들 간에는 순서가 없음

※ 용어 비교

관계데이터모델 파일시스템 비고릴레이션 ( Relation) 파일 (File) 테이블 (Table)

튜플 (Tuple) 레코드 (Record)

행 (Row)

속성 (Attribute) 필드 (Field) 열 (Column)

릴레이션 차수 (Relation Degree)

속성의 개수

카디널리티 (Cardinality) 튜플의 개수

Page 10: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 10

(3) 키 (KEY)

1) 키의 개념 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성 < 학생 > < 수강 >

학번 과목명99840

15 데이터베이스

9984015

영어회화

0284029

데이터베이스

0284070

알고리즘

0284070

한국사

0284070

운영체제

0484002

영어회화

학번 성명 주민등록번호99840

15 홍길동 801010-

1234567

0284029

임꺽정 820505-1357901

0284070

일지매 830717-1121110

0484002

성춘향 851225-2850610

Page 11: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 11

2) 키의종류 ① 기본키 (primary key)

• 테이블의 유일한 식별자 • 테이블에서 기본키로 지정된 열 (column) 은 같은 값을 가질 수 없음 • 후보키 중에서 특별히 선정된 키로 중복값을 가질수 없음 • 후보키의 성질을 가짐 ( 유일성 , 최소성 ( 원자성 ) 모두 만족 )

• NULL 값을 가질 수없음 예 ) < 학생 > 릴레이션에서 후보키인 학번이나 주민등록번호 중에서 선택하여 기본키 설정 가능 < 수강 > 릴레이션에서의 ( 학번 , 과목명 )

※ NULL : 데이터베이스에서 아직 알려지지 않거나 모르는 값으로서 해당 없음 등의 이유로 정보 부재를 나타내기 위해 사용하는 특수한 데이터값 ) 즉 , 공백 (space) 도 , 영 (zero) 도 아닌 부재 정보 (missing information) 를나타냄

Page 12: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 12

② 기본키의특성 • NOT NULL

• UNIQUE 함 • 외래키로 참조됨

③ 외래키 (foreign key) ( 참조키 )

• 어떤 릴레이션 R1 의 기본키의 값들과 일치함을 요구하는 다른 릴레이션 R2 의 한 속성 • 외래키는 참조 릴레이션의 기본키와 동일한 키 속성을 가짐 예 ) < 수강 > 릴레이션의 학번은 < 학생 > 릴레이션의 기본키인 학번을 참조 하고 있으므로 < 수강 > 릴레이션의 학번이 외래키가 됨

Page 13: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 13

④ 후보키 (candidate key)

• 릴레이션에 있는 모든 튜플들을 유일하게 식별할 수 있는 하나 또는 몇 개의 애트리뷰트 집합 • 튜플을 유일하게 구분할 수 있는 최소 슈퍼키 ( 하나의 속성으로 이루어 짐 )

• 유일성과 최소성 모두 만족 예 ) < 학생 > 릴레이션의 학번 , 주민등록번호 < 수강 > 릴레이션의 ( 학번 , 과목명 )

⑤ 대체키 (alternate key)

• 후보키가 둘 이상 되는 경우에 그중 에서 어느 하나를 선정하여 기본키 라 지정하면 , 나머지 후보키들은 대체키가 됨 ( 후보키 - 기본키 =

대체키 )

예 ) < 학생 > 릴레이션에서 학번이 기본키로 설정시 주민등록번호는 대체키가 됨

Page 14: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 14

⑥ 슈퍼키 (super key)

• 유일성만 있고 최소성이 없는 애트리뷰트 집합 • 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키 예 ) < 학생 > 릴레이션의 학번 , 주민등록번호 , ( 학번 주민등록번호 ),

( 학번 , 성명 , 주민등록번호 ) 등 ※ 유일성 (Uniqueness) : 하나의 키 값으로 하나의 튜플만을 유일하 게 식별할 수 있어야 함 ※ 최소성 (Minimality) : 키를 구성하는 속성 하나를 제거하면 유일하 게 식별할 수 없도록 꼭 필요한 최소의 속성으 로 구성되어야 함

Page 15: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 15

(4) 무결성 (Integrity) ( 정확성 , 일관성 )

1) 권한이 부여된 사용자에 의하여 발생할 수 있는 데이터베이스의 오류를 방지하기 위함 2) 데이터베이스를 정확하고 유효하게 유지 ( 데이터의 정확성 )

3) 제약조건에 의해 무결성 유지 4) 무결성 규정에는 규정이름 , 검사 시기 , 제약조건 등을 명시 5) 트리거는 트리거 조건이 만족되는 경우에 취해야 하는 조치를 명세 ( 트리거 : 특정 테이블의 데이터에 변경이 가해졌을 떄 자동으로 수행 되는 저장 프로시저 )

6) The DBMS can maintain the integrity of the

database by not

allowing more than one user to update the same

record at the

same time.

(DBMS 는 한 명 이상의 사용자가 동시에 같은 레코드를 수정하지 못 하게 함으로써 데이터베이스의 무결성을 유지할 수 있다 .)

Page 16: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 16

(5) 무결성 제약조건 1) 개체 무결성 제약조건 한 릴레이션의 기본키를 구성하는 어떠한 속성 값도 널 (NULL)

값 이나 중복 값을 가질 수 없다는 것을 의미 2) 참조 무결성 제약조건 ① 릴레이션 R1 에 저장된 튜플이 릴레이션 R2 에 있는 튜플을 참조 하려면 참조되는 튜플이 반드시 R2 에 존재해야 한다는 데이터 무결성 규칙 (R2 의 기본키를 R1 의 외래키로 참조함 )

② 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음

Page 17: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 17

1. 다음의 논리적인 데이터 모델에서 데이터간의 관계를 기본키 (primary key) 와 이를 참조하는 외래키 (foreign key) 로 표현하는 데이터 모델은 ? (0010) 가 . 관계형 데이터 모델 나 . 네트워크 데이터 모델 다 . 계층적 모델 라 . 객체지향 데이터 모델2. 다음 영문의 괄호에 적합한 database system 은 ? (0405) Database management systems that process data from the perspective of a ( ) structure use a set of two dimensional tables to represent the logical relationships among the records of a user's files. 가 . hierarchical database 나 . network database 다 . relational database 라 . object-oriented database3. 괄호 한 내용으로 옳게 짝지어진 것은 ? (0609) In relational database terminology, a row is called a(an) ( ① ), a column name is called a(an) ( ② ), and the ( ③ ) is called a relation. 가 . ① tuple ② table ③ attribute 나 . ① table ② attribute ③ tuple 다 . ① tuple ② attribute ③ table 라 . ① attribute ② tuple ③ table

Page 18: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 18

4. 데이터베이스의 구성 요소 중 데이터베이스가 표현하려고 하는 유형 , 무형의 정보대상으로 존재하면서 서로 구별될 수 있는 것은 ? (0509) 가 . relation 나 . attribute 다 . tuple 라 . entity

5. 데이터베이스에 관련된 용어의 설명으로 옳지 않은 것은 ? (0403) 가 . 튜플 (tuple) - 테이블에서 열에 해당된다 . 나 . 애트리뷰트 (attribute) - 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다 . 다 . 릴레이션 (relation) - 릴레이션 스킴과 릴레이션 인스턴스로 구성된다 . 라 . 도메인 (domain) - 애트리뷰트가 취할 수 있는 값들의 집합이다 .

6. 다음은 무엇에 대한 설명인가 ? (0305) Each simple attribute of an entity type is associated with a value set, which specifies the set of values that may be assigned to that attribute for each individual entity. 가 . Domains 나 . Schemas 다 . Attributes 라 . Tuples

Page 19: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 19

7. What is the degree of a relation? (0010) 가 . the number of occurrences n of its relation schema 나 . the number of tables n of its relation schema 다 . the number of attributes n of its relation schema 라 . the number of key n of its relation schema8. What is the quantity of tuples in consist of the relation? (0405) 가 . Degree 나 . Instance 다 . Domain 라 . Cardinality9. 릴레이션의 특성에 대한 설명으로 잘못된 것은 ? (9910, 0605) 가 . 한 릴레이션에 포함된 튜플들은 모두 상이하다 . 나 . 한 릴레이션에 포함된 튜플 사이에는 순서가 없다 . 다 . 한 릴레이션을 구성하는 애트리뷰트 사이에는 일정한 순서가 있다 . 라 . 모든 애트리뷰트 값은 원자값이다 .10. 릴레이션의 성질 (property) 로 적합한 것은 ? (0406) 가 . 중복된 튜플이 존재한다 . 나 . 튜플 간의 순서가 정의된다 . 다 . 속성 간의 순서가 정의된다 . 라 . 모든 속성 값은 원자값이다 .

Page 20: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 20

11. 다음 괄호에 적합한 내용은 ? (0205) The ( ) is a unique identifier for the table - that is, a column with the property that no two rows of the table contain the same value in that column. 가 . alternate key 나 . candidate key 다 . foreign key 라 . primary key12. 데이터베이스 무결성에 관한 설명으로 옳지 않은 것은 ? (0603) 가 . 개체 무결성 규정은 한 릴레이션의 기본 키를 구성하는 어떠한 속성 값도 널 (NULL) 값이나 중복 값을 가질 수 없음을 규정하는 것이다 . 나 . 무결성 규정에는 규정이름 , 검사 시기 , 제약 조건 등을 명시한다 . 다 . 도메인 무결성 규정은 주어진 튜플의 값이 그 튜플이 정의된 도메인에 속한 값이어야 한다는 것을 규정하는 것이다 . 라 . 트리거는 트리거 조건이 만족되는 경우에 취해야 하는 조치를 명세한다 .13. 다음 ( ) 에 적합한 단어는 ? (0403) The DBMS can maintain the ( ) of the database by not allowing more than one user to update the same record at the same time. 가 . independence 나 . integrity 다 . redundancy 라 . security

Page 21: 1.  관계 데이터 모델

Ch 5. 관계 데이터베이스 모델과 언어

Page : 21

14. 한 릴레이션의 기본키를 구성하는 어떠한 속성값도 널 (NULL) 값이나 중복 값 을 가질 수 없다는것을 의미하는 것은 ? (0205, 0203) 가 . 개체 무결성 제약 조건 나 . 참조 무결성 제약 조건 다 . 보안 무결성 제약 조건 라 . 정보 무결성 제약 조건

15. 릴레이션 R1 에 저장된 튜플이 릴레이션 R2 에 있는 튜플을 참조하려면 참조 되는 튜플이 반드시 R2 에 존재해야 한다는 데이터 무결성 규칙은 ? (0403) 가 . 개체 무결성 규칙 (Entity Integrity Rule) 나 . 참조 무결성 규칙 (Referential Integrity Rule) 다 . 영역 무결성 규칙 (Domain Integrity Rule) 라 . 트리거 규칙 (Trigger Rule)