1. E-R 모델
1) E-R 모델의 개요
개념적 데이터 모델로, 피터 첸(Peter Chen)에 의해 제안되고 기본적인 구성요소가 정립됨.
E-R 모델은 개체와 개체간의 관계를 기본요소로 이용해 현실 세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 모델이다.
개체 타입과 이들 간의 관계 타입을 이용해 현실 세계를 개념적으로 표현한다.
데이터를 개체, 관계, 속성으로 묘사한다.
E-R 모델은 특정 DBMS를 고려한 것은 아니다.
E-R 다이어그램으로 표현한다.
2) E-R 다이어그램
E-R 모델의 기본 아이디어를 이해하기 쉽게 기호를 사용하여 시각적으로 표현한 그림이다.
실체간의 관계는 물론 조직, 사용자, 프로그램 데이터 등 시스템 내에서 역할을 가진 모든 것들을 표현한다.
또한 데이터에 대해 개발자, 관리자, 사용자들이 서로 다르게 인식하고 있는 뷰(View)를 하나로 단일화 한다.
E-R 다이어그램 표기법
- 피터 첸 표기법
- 정보 공학 표기법
- 바커 표기법
3) 피터 첸 표기법
4) 정보 공학 표기법
개체는 사각형 박스로 표시하고 개체명은 박스 바깥쪽위에 표시한다.
속성은 기본키 속성과 일반 속성을 분리해 표시한다.
관계는 관계 표기 기호를 사용하여 표시한다.
5) 바커 표기법
개체는 모서리가 둥근 박스로 표시하고, 개체명은 박스 안 가장 위에 표시한다.
속성은 반드시 값이 저장되어야 하는 경우 *(Mandatory)를 표시하고, 값이 저장될 수도, 안될 수도 있는 O(Optional)을 표시한다.
관계는 관계 표기 기호를 사용해 표시한후, 해당 개체의 역할을 동사적 단어로 입력한다.
2. 관계형 데이터베이스의 구조 <중요>
1) 관계형 데이터베이스의 개요
IBM에 근무하던 코드(E. F. Codd)에 의해 제안됨
관계형 데이터베이스를 구성하는 개체나 관계를 모두 릴레이션이라는 표로 표현한다.
릴레이션은 개체를 표현하는 개체 릴레이션, 관계를 나타내는 관계 릴레이션이 있다.
간결하고 보기 편하고 다른 데이터베이스로의 전환이 편리하다는 장점이 있지만 성능이 다소 떨어지는 단점이 있다.
2) 릴레이션의 구조
릴레이션은 데이터들을 테이블의 형태로 표현한 것으로 구조를 나타내는 릴레이션 스키마와, 실제 값들인 릴레이션 인스턴스로 구성된다.
튜플
- 릴레이션을 구성하는 각각의 행
- 속성의 모임으로 구성
- 파일 구조에서 레코드와 같은 의미
- 튜플의 수를 카디널 리티 또는 기수, 대응수라고 한다.
속성(Attribute)
- 속성은 데이터베이스를 구성하는 가장 작은 논리적 단위
- 파일 구조상의 데이터 항목 데이터 필드에 해당
- 속성은 개체의 특성을 표현
- 속성의 수를 디그리(Degree) 또는 차수라고 한다.
도메인(Domain)
- 하나의 속성이 취할 수 있는 같은 타입의 원자(Atomic=속성의 인스턴스)값들의 집합이다.
- 도메인은 실제 속성 값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는 데에도 이용한다.
3) 릴레이션의 특징
한 릴레이션에는 똑같은 튜플이 포함될 수 없으므로 릴레이션에 포함된 튜플들은 모두 다르다.
튜플 사이에는 순서가 없다.
튜플의 삽입, 삭제 작업으로 인해 시간에 따라 바뀐다.
릴레이션 스키마를 구성하는 속성간의 순서는 중요하지 않다.
속성의 유일할 식별을 위해 속성의 명칭은 유일해야 하지만, 속성을 구성하는 값은 동일한 값이 있을 수 있다.
릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 속성들의 부분집합을 키로 설정한다
속성의 값은 논리적으로 더이상 쪼갤 수 없는 원자값을 저장한다.
3. 관계형 데이터베이스의 제약 조건 - Key
* 제약조건이란, 데이터베이스에 저장되는 데이터의 정확성을 보장하기 위해 키를 이용하여 입력되는 데이터에 제한을 주는 것으로 개체 무결성 제약, 참조 무결성 제약이 있다.
1) 키의 개념 및 종류
키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트(속성)를 말한다.
2) 후보키(Candidate Key)
후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합으로
즉 기본키로 사용할 수 있는 속성들이다.
하나의 릴레이션 내에서는 중복된 튜플들이 있을 수 없기 때문에, 모든 릴레이션에는 무조건 하나 이상의 후보키가 존재한다.
후보키는 릴레이션에 있는 모든 튜플에 대해 유일성과 최소성을 만족해야 한다.
* 유일성 : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있는 속성
* 최소성 : 모든 레코들을 유일하게 식별하는 데 꼭 필요한 속성으로 구성
3) 기본키(Primary Key)
기본키는 후보키 중에서 특별하게 선택된 메인 키로, 중복된 값을 가질 수 없다.
한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
기본키는 후보키의 성질을 가짐. 즉, 유일성과 최소성을 가지며 튜플을 식별하기 위해 반드시 필요한 키다.
기본키는 NULL 값을 가질 수 없다. -> 비어있으면 안된다.
4) 대체키(Alternate Key)
대체키는 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미한다.
5) 슈퍼키
한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않는다.
슈퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성을 만족하지만, 최소성은 만족하지 못한다.
ex) 학생 릴레이션에 학번, 주민번호, 학번+주민번호, 주민번호+성명 등으로 슈퍼키를 구성할 수 있다.
* 슈퍼키가 가장 헷갈려요. 후보키와 다른 점은 후보키는 유일성, 최소성을 만족하지만 슈퍼키는 최소성을 만족하지 못해요.
6) 외래키(Foreign Key)
다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미
외래키는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간의 참조 관계를 표현하는 도구다.
한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키인 B가 동일한 도메인 상에서 정의 되었을 때의 속성 A를 외래키라고 한다.
외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력할 수 없다.
'2020 정보처리기사 필기 > 3과목 - 데이터베이스 구축' 카테고리의 다른 글
[2020 정보처리기사 필기 요약] 3과목 - 데이터베이스 구축(물리 데이터베이스 설계_1) (0) | 2020.08.21 |
---|---|
[2020 정보처리기사 필기 요약] 3과목 - 데이터베이스 구축(논리 데이터베이스 설계_5) (0) | 2020.08.19 |
[2020 정보처리기사 필기 요약] 3과목 - 데이터베이스 구축(논리 데이터베이스 설계_4) (0) | 2020.08.19 |
[2020 정보처리기사 필기 요약] 3과목 - 데이터베이스 구축(논리 데이터베이스 설계_2) (0) | 2020.07.30 |
[2020 정보처리기사 필기 요약] 3과목 - 데이터베이스 구축(논리 데이터베이스 설계_1) (0) | 2020.07.30 |