-
240221 데이터베이스 구축 : 설계OS Computer Science 2021. 2. 24. 19:41
개념적 설계(정보 모델링, 개념화)
- 정보의 구조를 얻기 위해 현실 게계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현
- 스키마 모델링과 트랜잭션 모델링 병행
- 요구 분석 단계에서 나온 결과(요구 조건 명세)를 DBMS에 독립적인 E-R 다이어그램(r개체 관계도)으로 작성
- DBMS에 독립적인 개념 스키마를 설계.
논리적 설계(데이터 모델링)
- 현실 세계의 자료를 컴퓨터가 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환.
- 개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화
- 개념적 설계 = 개념 스키마 설계
논리적 설계 = 개념 스키마 평가, 정제 그리고 특정 DBMS에 종속적인 논리적 스키마 설계 - 트랜잭션의 인터페이스를 설계
- 관계형 데이터베이스라면 테이블을 설계하는 단계
물리적 설계(데이터 구조화)
- 논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터베이스로 변환
- 데이터베이스 파일의 저장 구조, 레코드의 형식, 접근 경로
- 트랜잭션 작성
- 물리적 설계 옵션 선택 시 고려사항
: 반응 시간(Response Time), 공간 활용도(Space Utilization), 트랜잭션 처리량(Transaction Throughput)
관계형 데이터베이스 구조
Tuple(튜플)
- 릴레이션을 구성하는 각각의 행(row)
- 속성(Attribute)의 모임으로 구성
- 파일 구조에서 레코드와 같은 의미
- 튜플의 수 = 카디널리티(Cadinality) = 기수 = 대응수
Attribute(속성)
- 릴레이션을 구성하는 각각의 열(column)
- 데이터베이스를 구성하는 가장 작은 논리적 단위
- 파일 구조 상의 데이터 항목 또는 데이터 필드에 해당
- 개체의 특성을 기술
- 속성의 수 = 디그리(Degree) = 차수
Domain(도메인)
- 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합
- 실제 애트리뷰트 값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는 데 사용
Relation Instance(릴레이션 인스턴스)
- 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 적용되어 구체적인 데이터를 값을 갖고 있는 것을 말함.
키(Key)
- 키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 애트리뷰트(속성)이다.
Candidate Key(후보키)
- 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
- 즉, 기본키로 사용할 수 있는 속성들을 말함
- 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야함
- e.g. <학생>릴레이션(테이블)에서 학번이나 주민번호는 다른 레코드에서 유일하게 구별할 수 있는 기본키로 사용할 수 있음으로 후보키
Primary Key(기본키)
- 후보키 중에서 선택한 주키(Main Key)
- 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
- Null 값을 가질 수 없음
- 기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없음
- e.g. <학생>릴레이션(테이블)에서 학번이나 주민번호가 기본키가 될 수 있음,
<수강>릴레이션(테이블)에서 학번+과목명을 조합하여 기본키가 될 수 있음
Alternate Key(대체키)
- 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말함
- 보조키라고도 함
- e.g. <학생>릴레이션(테이블)에서 학번을 기본키로 정의하면, 주민번호는 대체키가 됨
Super Key(슈퍼키)
- 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성과 집합은 동일한 값을 나타내지 않는다
- 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못함
- e.g. <학생>릴레이션(테이블)에서 학번, 주민번호, 학번+주민번호, 주민번호+성명, 학번+주민번호+성명 등으로 슈퍼키를 구성할 수 있다.
Foreign Key(외래키)
- 관계(Relation)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성
- 외래키로 지정되면 참조 테이블의 기본키에는 없는 값을 입력할 수 없음
- e.g. <수강>릴레이션(테이블)이 <학생>릴레이션(테이블)을 참조하고 있으므로 <학생>릴레이션의 학번은 기본키이고, <수강>릴레이션의 학번은 외래키이다
- <수강>릴레이션의 학번에는 <학생>릴레이션의 학번에 없는 값을 입력할 수 없다
1. ER 모델( Entity Relation Model )
ER 모델은 요구사항으로부터 얻어낸 정보들을 개체(Entity), 애트리뷰트(Attribute), 관계성(Relation)으로 기술하는 데이터 모델을 말합니다.
- 개체( Entity )
- 개체란 단독으로 존재하는 객체를 의미하며, 동일한 객체는 존재하지 않습니다.
- 예를 들어, 학생 정보가 학번, 이름, 학년이 있을 때, 3개의 정보가 모두 같은 학생이 오직 한 명이면 이를 개체라고 합니다.
- 즉, 학생 한명이 개체가 되는 것입니다.
-
이 개체들의 집합을 Entity Type이라고 합니다. 여기서는 Student, Course가 되겠네요.
-
ER 다이어그램에서 Entity Type은 네모로 표현합니다.
-
애트리뷰트, 속성( Attribute )
-
개체가 갖는 속성을 의미합니다.
-
예를 들어, Student에서 학번, 이름, 학년 같은 정보를 속성이라 합니다.
-
ER 다이어그램에서 Attribute는 원으로 표현합니다.
- 관계 ( Relation )
- Entity Type간의 관계를 의미합니다.
- 예를 들어, 수강을 뜻하는 Takes는 학생과 과목간의 "수강"이라는 관계를 갖습니다.
- 이 때 Takes를 Relation Type이라 하며, Relation Type 역시 속성을 가질 수 있습니다.
- ER 다이어그램에서 Relation은 마름모로 표현합니다.
출처: victorydntmd.tistory.com/126
개념적 설계
1,2회 #50
E-R 모델의 표현 방법으로 옳지 않은 것은?
1 개체타입 : 사각형
2 관계타입 : 마름모
3 속성 : 오각형
4 연결 : 선
4회 #46
개체-관계 모델의 E-R 다이어그램에서 사용되는 기호와 그 의미의 연결이 틀린 것은?
1 사각형-개체타입
2 삼각형_속성3 선-개체타입과속성을연결
4 마름모-관계타입
논리적 설계
1,2회 #49
데이터베이스의 논리적 설계(logical design) 단계에서 수행 하는 작업이 아닌 것은?
1 레코드 집중의 분석 및 설계
2 논리적 데이터베이스 구조로 매핑(mapping)3 트랜잭션 인터페이스 설계
4 스키마의 평가 및 정제
물리적 설계
4회 #58
데이터베이스 설계 시 물리적 설계 단계에서 수행하는 사항이 아닌 것은?
1 저장 레코드 양식 설계
2 레코드 집중의 분석 및 설계
3 접근 경로 설계
4 목표 DBMS에 맞는 스키마 설계'OS Computer Science' 카테고리의 다른 글
네트워크 : 라우팅(Routing)이란? (0) 2021.04.15 240221 데이터베이스 구축 : 트랜잭션 (0) 2021.02.24 240221 데이터베이스 구축 : 뷰 (0) 2021.02.24 240221 데이터베이스 구축 : 관계대수 (0) 2021.02.24 240221 데이터베이스 구축 : 정규화 (0) 2021.02.24