일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 중간이들
- TiL
- node.js
- 코딩테스트
- JavaScript
- aws
- 데이터베이스시스템
- HTML
- 엘리스sw트랙
- Git
- 99클럽
- 방송대컴퓨터과학과
- SQL
- 유노코딩
- 파이썬
- 파이썬프로그래밍기초
- 코딩테스트준비
- redis
- nestjs
- 개발자취업
- Python
- presignedurl
- 방송대
- Cookie
- MySQL
- 프로그래머스
- 항해99
- 꿀단집
- CSS
- 코드잇
- Today
- Total
배꼽파지 않도록 잘 개발해요
방송대 데이터베이스시스템 - 8강. 연습문제 풀이 1 (1-7강) 본문
문제 1번
DBMS 사용 이전의 데이터 관리 방식으로 운영체제의 지원으로 여러 파일에 나누어 데이터를 영구 저장하고 운영하는 시스템을 무엇이라고 하는가? [1강]
① 데이터베이스 시스템
② 문서 관리 시스템
③ 파일 처리 시스템
④ 분산 파일 시스템
문제 2번
다음 중 파일 처리 방식의 데이터 관리가 갖는 문제점으로 볼 수 없는 것은? [1강]
① 데이터의 독립
② 데이터의 확장
③ 데이터의 무결성 훼손
④ 동시 접근 이상
파일 처리 시스템(file processing system)
• 데이터베이스가 개발되기 전에 데이터 관리에 사용
• 업무별 애플리케이션이 개별 데이터파일에 저장·관리하는 시스템
ex. 수강 업무 ←→ 수강 파일, 성적 업무 ←→ 성적 파일, 학적 업무 ←→ 학적 파일
• 발생 가능한 문제
- 데이터 종속의 문제 : 저장된 데이터가 특정 H/W에서 또는 사용자 및 S/W만 사용될 수 있도록 제한되는 문제
- 데이터 중복의 문제 : 하나의 사항에 대한 데이터가 여러 파일에 중복되어 저장되는 문제 (일관성, 보안성, 경제성의 훼손)
- 무결성 훼손의 문제 : 데이터의 정확성이 보장되지 않고, 데이터의 값과 값에 대한 제약조건을 만족하지 않는 문제
- 동시 접근 이상 : 동일 데이터에 다수 사용자의 접근 허용 시 일관성이 훼손되는 문제
문제 3번
DBMS가 데이터베이스 자체 뿐만 아니라 데이터에 대한 정의나 설명에 대한 것까지 포함하고 있는 특성을 무엇이라 하는가? [1강]
① 프로그램 및 데이터의 추상화
② 자기 기술성
③ 데이터 공유와 일관성
④ 데이터의 안전성
데이터베이스의 특징
자기 기술성 (self-describing) |
- 데이터와 데이터의 정의 및 설명(메타데이터)을 포함 - 메타데이터 : 데이터베이스에 속하는 각 파일의 구조, 각 데이터 항목의 타입과 저장 형식, 데이터의 다양한 제약조건 등 |
프로그램과 데이터의 독립성 및 추상화 | - 프로그램-데이터 독립성(program-data independency) : 프로그램은 DBMS에 필요 데이터를 데이터의 의미만으로 요청할 수 있도록 데이터의 사용과 데이터 관리가 분리되는 특성 - 데이터 추상화(data abstraction) : 사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상 |
다중 뷰(view) 제공 | - 각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능 제공 |
데이터 공유와 다수 사용자 트랜잭션 처리 | - 단일 논리적인 작업을 수행하는 일련의 데이터베이스 명령 집합인 트랜잭션(transaction)과 동시성 제어(concurrency control) - 다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업을 수행 |
문제 4번
데이터베이스 언어의 한 영역으로 데이터베이스에 의해 구조화된 데이터에 사용자가 접근 및 사용할 수 있도록 지원하는 언어를 무엇이라고 하는가? [1강, 4강]
① 데이터 조작 언어
② 데이터 제어 언어
③ 데이터 기술 언어
④ 데이터 정의 언어
데이터 정의 언어(DDL: Data Definition Language)
- 데이터베이스 내의 객체를 생성 및 삭제하고 그 구조를 조작하는 명령어의 집합
- 데이터가 준수해야 하는 제약조건을 기술
- CREATE, ALTER, DROP문 등
데이터 조작 언어(DML: Data Manipulation Language)
- DDL에 의해 정의된 테이블에 데이터를 조작하는 명령어의 집합
- 사용자가 접근 및 사용할 수 있도록 지원하는 언어
- 데이터에 대한 CRUD(생성, 검색, 삭제, 수정) 명령을 포함
- INSERT, UPDATE, DELETE, SELECT 문 등
데이터 제어 언어(DCL: Data Control Language)
- DBMS의 동작 설정 및 DBMS 접근에 대한 사용자의 권한을 관리하는 명령어의 집합
- 주로 데이터베이스 관리자(DBA)가 사용함.
- GRANT, REVOKE, BEGIN 등
문제 5번
DBMS를 외부 , 개념 , 내부 스키마로 분리하고 각 단계 간 사상을 통해 구조화하는 방식을 무엇이라고 하는가? [1강]
① 3단계 구조
② 다계층 구조
③ 연속 구조
④ 단일 구조
모놀리스 방식 (X) → 3단계 구조 (O)
모놀리스 방식
- 소프트웨어 개발 아키텍처에서 사용되는 하나의 큰 애플리케이션으로 구성된 접근 방식
- 모놀리스는 전통적인 방식으로, 애플리케이션의 모든 구성 요소가 단일한 코드 베이스에 포함되어 있음.
- 데이터베이스, 사용자 인터페이스, 비즈니스 로직 등 모든 기능이 하나의 단일 애플리케이션으로 통합됨.
모놀리스 방식의 문제점
애플리케이션의 크기가 커지면 개발과 유지보수가 어려워짐.
새로운 기능 추가나 변경이 전체 애플리케이션에 영향을 미치는 경우가 많음.
확장성이 제한되어 대량의 트래픽 처리 등 고성능 요구 사항을 충족시키기 어려울 수 있음.
DBSM은 데이터 독립성과 데이터 추상화 확보를 위해 3단계 구조로 구성됨.
- 내부 단계 : 가장 낮은 추상화 단계로 내부 스키마에 의해 기술됨.
- 개념 단계 : 데이터베이스의 전체 구조를 추상화하는 단계로 개념 스키마를 통해 기술됨.
- 외부 단계 : 추상화의 최상위 단계로, 외부스키마(뷰)에 의해 기술됨.
문제 6번
클라이언트와 서버 사이에 데이터에 접근하는데 사용되는 비즈니스 규칙을 저장한 중간 계층을 삽입하여 운용하는 데이터베이스 시스템 아키텍처는? [1강]
① 2계층 클라이언트-서버 구조
② 3계층 클라이언트-서버 구조
③ 4계층 클라이언트-서버 구조
④ 중앙집중식 구조
• 중앙집중식 방식 : 단일 서버가 다수의 클라이언트 장치를 대신하여 작동
• 분산 시스템 방식 : 클라이언트-서버 데이터베이스 시스템, 자체적인 처리 능력 보유
· 2계층 클라이언트-서버 구조 : 클라이언트, 서버
· 3계층 클라이언트-서버 구조 :
- 클라이언트, 애플리케이션 서버, 데이터베이스 서버
- 클라이언트는 사용자 인터페이스를 담당
- 애플리케이션 서버가 DB 서버에 저장된 데이터 접근에 사용되는 비즈니스 규칙을 저장, 데이터 처리를 담당함
문제 7번
다음 중 데이터베이스 모델링 단계가 순서대로 나열된 것은? [2강]
① 개념 - 요구분석 - 논리 - 물리
② 개념 - 논리 - 물리 - 요구 분석
③ 요구 분석 - 개념 - 논리 - 물리
④ 요구 분석 - 물리 - 논리 - 개념
개념적 데이터 모델링 |
데이터에 초점을 맞추어 개별적 데이터의 특징을 분리 요구사항의 해석 오류를 방지를 위해 추상화 기법을 사용 추상화 기법 : 실세계의 데이터들을 개념적으로 일반화시켜 데이터 타입, 속성, 관계, 제약조건들을 이끌어 내는 과정 개체와 개체 간의 관계를 통해 표현하는 ER 모델이 대표적임. |
논리적 데이터 모델링 |
특정 DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정 일반적으로 관계형 모델을 사용함. → 데이터 정의 언어(DDL)로 기술된 개념 스키마 생성 |
물리적 데이터 모델링 |
논리적 데이터 모델을 특정 DBMS에 최적화된 물리적 구조로 변환하는 과정 데이터베이스 파일의 내부 저장구조, 파일 구성, 인덱스, 접근 경로 등을 결정하는 과정 → 내부 스키마 생성 |
문제 8번
사용자 요구사항 분석 과정에서 데이터베이스를 구축하기 위한 목표와 조사 범위를 결정하고 필요한 자료를 수집하는 등을 수행하는 세부단계는? [2강]
① 물리적 데이터 모델링
② 사용자 요구사항 도출
③ 사용자 요구사항 분석
④ 사용자 요구사항 기록
사용자 요구사항 분석
[ 제안요청서(RFP) ] → 요구사항 도출 → [ 요구사항 명세서 ] → 요구사항 분석 → [ 요구사항 정의서 ] → 요구사항 기록
요구사항 도출 | - 구축대상, 프로젝트 목표, 범위를 기준으로 조사범위를 결정 - 업무 관계자 인터뷰 - 외부자료 수집 및 분석 |
요구사항 분석 | - 도출된 요구사항의 명확성, 완전성, 모호성 검증 - 불완전한 부분이 존재할 경우 요구사항 도출단계 재수행 - 요구사항을 분류하여 통합 또는 분리 |
요구사항 기록 | - 요구사항 목록 정의 및 관리자 승인 - 정리된 요구사항을 형식에 맞춰 문서화 - 프로젝트 종료 때까지 반영 여부 지속적 관리 |
문제 9번
ER모델의 구성요소 중 실세계에 존재하는 다른 모든 객체와 구별되는 유ㆍ무형의 대상의 모임을 무엇이라고 하는가? [2강]
① 관계 집합
② 속성
③ 개체
④ 개체 집합
• 개체(entity) : 실세계에 존재하는 다른 객체와 구별되는 유무형의 사물로, 개체를 설명하는 여러 속성들로 구성됨.
• 개체 집합(entity set) : 같은 속성을 공유하는 개체들의 모임
• 관계 집합(relation set) : 개체 집합 간의 전체적 연결 관계
• 속성(attribute) : 개체 집합에 속한 개체를 구체적으로 설명하는 특성
문제 10번
다음은 무엇에 대한 설명인가? [2강]
개체 집합의 각 개체마다 서로 다른 값을 갖는 속성을 뜻한다 . 즉 , 어떤 개체의 이 값은 각각의 개체들을 서로 구별하는 데 사용되는 개체 집합에서 유일한 값이다. |
① 널 속성
② 유도 속성
③ 키 속성
④ 참가 제약조건
• 참가 제약조건 : 관계에 참여하는 개체 집합의 범위, 전체적 참가, 부분적 참가
• 키 속성 : 각 개체를 구별하는데 사용되는 유일한 값을 가지는 속성의 집합
• 널(null) 속성 : 해당 속성에 대한 값이 없음을 의미함.
• 유도 속성(derived attribute)
- 다른 속성의 값으로부터 값이 유추될 수 있는 속성
- 괄호 '( )'를 사용하여 표현함.
ex. 나이 - 생일에서 연산할 수 있는 정보
문제 11번
다음 요구사항에 대한 ER 모델링한 결과로 올바르게 표현된 학생 개체는? [2강]
학생은 이름 , 학번 , 학과명 , 주소로 구성된다 . 학번은 입학년도 , 학과코드 및 일련번호로 이루어지고, 학과명은 학과코드를 통해 알 수 있다. |
이름, 학번, 학과명, 주소 → 컬럼 4개
학번은 입학년도 , 학과코드 및 일련번호로 이루어지고, → 학번이 복합속성이므로 나머지 것은 들여쓰기됨.
학과명(유도속성)은 학과코드(저장속성)를 통해 알 수 있다. → 학과명이 유도속성이므로 '학과명()'
문제 12번
다음 요구사항을 참조하여 물음에 답하시오.
전산화 시스템을 도입하는 A 은행에서는 고객은 이름, 고객번호, 주소, 전화번호, 신용도 값으로 구성된다. 각각의 고객은 고객번호로 구분되며 한 고객에 대해 여러 전화번호를 기록할 수 있다. 고객이 소유하는 계좌는 계좌번호와 잔액으로 구성된다. 한 고객은 여러 개의 계좌를 소유할 수 있으며 반면 한 계좌는 단 한 명의 고객에만 소유된다. 계좌를 소유하지 않는 고객은 있지만 모든 계좌는 반드시 고객에게 소유된다. |
위 요구사항에 대한 ER 모델링 결과 고객 개체 집합을 올바르게 표현한 것은? [2강]
고객과 계좌 개체 집합 사이의 소유 관계 집합에 대해 사상수를 올바르게 표현한 것은? [2강]
단, 개체집합은 개체 집합 이름만 표현한다.
고객은 이름, 고객번호, 주소, 전화번호, 신용도 값으로 구성된다.
→ 컬럼 5개
각각의 고객은 고객번호로 구분되며
→ 고객번호가 키 속성, 고객(일)과 전화번호(다)의 사상수는 일대다
→ 고객 쪽에 화살표 O, 전화번호 쪽은 화살표 X
한 고객에 대해 여러 전화번호를 기록할 수 있다.
→ 전화번호는 여러 개의 값을 가질 수 있어서 다중값 속성
→ {전화번호}
고객이 소유하는 계좌는 계좌번호와 잔액으로 구성된다.
→ 계좌는 복합속성이므로 계좌번호, 잔액은 들여쓰기
한 고객은 여러 개의 계좌를 소유할 수 있으며 반면 한 계좌는 단 한 명의 고객에만 소유된다.
→ 고객(일)과 계좌(다)의 사상수는 일대다
→ 고객 쪽에 화살표 O, 계좌 쪽은 화살표 X
계좌를 소유하지 않는 고객은 있지만 모든 계좌는 반드시 고객에게 소유된다.
→ 고객은 계좌에 부분참가(실선), 계좌는 고객에 전체참가(이중실선)
문제 13번
아래의 릴레이션에서 빈칸에 들어가야 하는 용어로 올바르지 않는 것은? [3강]
① 스키마
② 차수
③ 레코드
④ 인스턴스
① 스키마 : 컬럼, 각 컬럼의 순서 및 도메인, 릴레이션의 이름
② 속성, 컬럼, 필드 : 컬럼에 해당하는 값의 집합
③ 레코드, 행, 투플 : 각 컬럼의 순서에 맞게 나열된 값의 집합
④ 인스턴스 : 특정 시점에서의 릴레이션 스키마에 맞춰서 레코드가 들어간 상태 (시간에 따라 변함)
문제 14번
다음은 릴레이션의 어떤 특징에 대한 설명인가? [3강]
한 릴레이션을 구성하는 컬럼 사이에는 순서가 없고 이름과 값의 쌍으로 구성된다. |
① 레코드의 유일성
② 레코드의 무순서성
③ 컬럼의 무순서성
④ 컬럼값의 원자성
릴레이션의 특징
: 레코드의 유일성, 레코드의 무순서성, 컬럼의 무순서성, 컬럼값의 원자성
레코드의 유일성 | 하나의 릴레이션에는 중복되는 레코드가 존재할 수 없음. 하나의 키 값으로 하나의 레코드를 유일하게 식별함. |
레코드의 무순서성 | 한 릴레이션에 포함된 레코드는 순서가 정해져 있지 않음. |
컬럼의 무순서성 | 한 릴레이션을 구성하는 컬럼 사이에는 순서가 없으며, 이름과 값의 쌍으로 구성됨. |
컬럼값의 원자성 | 컬럼은 여러 의미를 갖는 값으로 분해가 불가능하며 원자적(atomic)임. |
문제 15번
다음은 무엇에 대한 설명인가? [3강]
두 개의 릴레이션 사이에 명시되는 제약조건으로 한 릴레이션에 있는 레코드가 다른 릴레이션에 있는 레코드를 참조하려면 반드시 존재하는 릴레이션만 참조해야하는 제약조건을 명시한다. |
① 영역 제약조건
② 키 제약조건
③ 개체 무결성 제약조건
④ 참조 무결성 제약조건
관계형 모델의 제약조건
: 영역 제약조건, 키 제약조건, 참조 무결성 조건, 개체 무결성 제약조건
영역 제약 조건 (domain constraints) |
컬럼에 정의된 영역(domain)에 속한 값으로만 컬럼값이 결정, 원자적(atomic)이여야 함. ex. 전화번호에는 문자가 들어갈 수 없다, 학과에 컴퓨터과학과(O), 컴퓨터과학과/생활과학과(X) |
키 제약 조건 (key constraints) |
키는 레코드를 고유하게 구별하는 값으로 구성 적어도 하나의 키가 모든 레코드를 고유하게 식별할 수 있어야 함 |
개체 무결성 제약조건 (entity integrity constraints) |
어떠한 기본키 값도 널(null)이 될 수 없음 |
참조 무결성 제약조건 (referential integrity constraints) |
외래키가 반드시 존재하는 레코드의 기본키만 참조 가능 |
문제 16번
다음의 ER 다이어그램을 관계형 모델로 올바르게 변환한 것은? [3강]
고객이 일, 계좌가 다인 관계
한 명의 고객은 여러 개의 계좌 개설 가능
하나의 계좌는 반드시 한 명의 고객에게 의해 개설됨.
• 일대일 관계 : 외래키가 어디에 있어도 상관없음.
• 일대다 관계 : '다'쪽에 외래키를 만들어 '일'쪽의 기본키와 연결
→ 고객(일)의 PK와 계좌(다)의 FK가 '고객번호'임.
• 다대다 관계 : 새로운 릴레이션 생성하여 각각 FK로 연결함.
문제 17번
아래의 스키마를 참조하여 다음 물음에 답하시오. [3강]
“강좌명이 '요가’인 강좌의 강좌번호, 강좌명, 강사번호를 출력하시오"에 대한 관계 대수 연산식으로 올바른 것은?
강좌가 릴레이션 → (강좌)
강좌명이 '요가'인 → 조건에 맞는 레코드를 출력하므로 셀렉트 연산
※ 프로젝트 연산자는 특정 컬럼만 출력하는 것임
![]() |
셀렉트 연산 | 주어진 릴레이션에서 조건을 만족하는 레코드를 갖는 릴레이션을 생성 |
![]() |
프로젝트 연산 | 기술된 컬럼만 갖는 릴레이션으로 재구성 <컬럼리스트> : A₁, A₂, ..., Aₙ와 같이 R 에 존재하는 컬럼을 콤마로 분리하여 기술 |
“‘ 홍길동' 강사의 종목을 출력하시오'에 대한 관계 대수 연산식은?"
1 | ![]() |
강사 → 강사 릴레이션 종목 → 종목 릴레이션 서로 다른 릴레이션에 있는 것을 출력해야하니까 조인 연산자로 결합을 해야함. 두 릴레이션을 강사번호가 같은 것끼리 조인연산 시행 |
2 | ![]() |
'이름이 홍길동'인 조건에 맞는 레코드를 출력 → 셀렉트 연산 |
3 | ![]() |
홍길동 강사와 종목의 컬럼이 모두 나열되는데, (조인 후 컬럼 5개) '종목' 속성(컬럼)만 출력해야 하므로 → 프로젝트 연산 |
문제 18번
테이블 스키마 정의, 테이블 삭제, 테이블 스키마 변경 및 제약조건을 명시하는 기능을 하는 SQL 언어 영역을 무엇이라고 하는가? [1강, 4강]
① 데이터 제어 언어
② 트랜잭션 제어 언어
③ 데이터 조작 언어
④ 데이터 정의 언어
데이터 정의 언어(DDL)
데이터베이스 객체를 생성, 삭제 또는 구조를 수정하는 명령어의 집합
데이터베이스 객체의 종류
· 데이터 저장 - 테이블, 인덱스, 뷰
· 데이터 조작 - 트리거, 프로시저, 함수 등
데이터 정의 명렁어의 종류
· CREATE : 객체 생성
· ALTER : 객체 수정
· DROP : 객체 삭제
문제 19번
다음 중 데이터베이스 언어의 영역이 나머지 셋과 다른 SQL 명령어는 무엇인가? [4강]
① SELECT
② UPDATE
③ INSERT
④ DROP
①, ②, ③ → DML(데이터 조작 언어: INSERT, UPDATE, DELETE, SELECT)
④ → DDL (데이터 정의 언어: CREATE, ALTER, DROP)
문제 20번
다음 중 테이블의 컬럼을 삭제하는 데 사용하는 SQL 명령어는? [5강]
① ALTER
② UPDATE
③ DROP
④ DELETE
① ALTER : 스키마, 테이블 수정
ALTER 문은 데이터베이스 테이블의 구조를 변경하는 데 사용되는 SQL 명령어
ALTER 문을 사용하여 컬럼을 추가, 수정, 삭제
컬럼을 삭제하기 위해서는 ALTER TABLE 문을 사용하고, 해당 컬럼의 이름과 함께 DROP COLUMN 절
② UPDATE : 테이블에서 조건을 만족하는 특정 레코드의 컬럼값을 수정
③ DROP : 스키마, 테이블, 인덱스, 프로시저, 뷰 삭제
④ DELETE : 테이블에 조건을 만족하는 특정 레코드를 삭제
문제 21번
“교수의 교수번호 , 소속학과 , 교수이름, 입사일을 입사일의 내림차순으로 정렬하여 출력하시오 를 수행하기 위한 SQL 문은? [5강]
① SELECT 교수번호 , 소속학과 , 교수이름 , 입사일 FROM 교수 ORDER BY 입사일 DESC
② SELECT 교수번호 , 소속학과 , 교수이름 , 입사일 FROM 교수 ORDER BY 입사일 ASC
③ SELECT 교수번호 , 소속학과 , 교수이름 , 입사일 FROM 교수 ORDER BY 입사일
④ SELECT 교수번호 , 소속학과 , 교수이름 , 입사일 FROM 교수 GROUP BY 입사일
ASC : 오름차순 (ORDER BY 컬럼만 쓰면 자동으로 오름차순)
DESC : 내림차순
문제 22번
다음 중 정규화에 대한 설명으로 올바르지 않은 것은? [7강]
① 데이터가 삽입될 떄 릴레이션 재구성의 필요성을 줄인다.
② 데이터의 중복을 제거하여 릴레이션의 효율성을 향상시킨다.
③ 삽입, 갱신 , 삭제 이상 (anomaly) 현상을 제거한다.
④ 릴레이션 간 공통부분을 도출하고 유사 릴레이션을 통합하여 스키마의 구조를 간략화 한다.
④ 역정규화에 가까움.
정규화(Normalization)
특정 정규형의 조건을 만족하도록 릴레이션과 속성을 재구성하는 과정
정규화는 정규형을 만들어내기 위한 것
· 데이터베이스 내 모든 릴레이션을 효과적으로 표현
· 보다 간단한 관계 연산에 기초하여 검색 알고리즘을 효과적으로 작성할 수 있도록 지원
· 바람직하지 않은 삽입, 수정, 삭제 등의 이상 발생 방지
· 새로운 형태의 데이터가 삽입될 때 릴레이션 재구성의 필요성을 축소
문제 23번
다음은 무엇에 대한 설명인가? [7강]
이것은 릴레이션 인스턴스를 분석하여 속성들 간의 연관관계를 표현한 것으로 주어진 릴레이션 인스턴스에서 서로 다른 두 레코드와 속성 집합 X 와 Y 에 대해 두 레코드의 X 속성값이 같을 때 Y 의 속성값이 같으면 성립하는 특성을 말한다. |
① 함수적 종속성
② 함수적 독립성
③ 다중치 종속성
④ 조인 종속성
• 함수적 종속성 기준으로 구조화 → 제2정규형. 제3정규형, BC정규형
• 다중치 종속성 기준으로 구조화 → 제4정규형
• 조인 종속성에 기반하여 구조화 → 제5정규형
문제 24번
아래의 도크관리 릴레이션에 포함된 함수적 종속성이라고 할 수 없는 것은? [7강]
① 목적 → 담당도선사
② {도크번호 , 입항시간} → 목적
③ {도크번호 , 입항시간} → 출항시간
④ 출항시간 → 목적
함수적 종속성 판별 기준 : 같을 때 같아야 함!
출상시간의 레코드 중 12:45로 같은 속성값의 레코드끼리 비교했을 때 담당도선사의 속성값이 '현동석', '오인영'으로 다름.
문제 25번
제약조건이 강한 순으로 정규형 간의 관계가 올바른 것은? [7강]
① 제 5 정규형 < 제 4 정규형 < 제 3 정규형 < 제 2 정규형 < BC 정규형
② BC 정규형 < 제 5 정규형 < 제 4 정규형 < 제 3 정규형 < 제 2 정규형
③ 제 1 정규형 < 제 2 정규형 < 제 3 정규형 < 제 4 정규형 < 제 5 정규형
④ BC정규형 < 제 1 정규형 < 제 3 정규형 < 제 4 정규형 < 제 5 정규형
제 1 정규형 < 제 2 정규형 < 제 3 정규형 < BC정규형 < 제 4 정규형 < 제 5 정규형
• 제1정규형 : 모든 속성이 원자값을 가짐 (원자성 유지)
• 제2정규형 : 기본키가 아닌 속성들이 기본키에 대해 완전 종속임(기본키에 대한 부분적 종속 제거)
• 제3정규형 : 기본키가 아닌 속성들이 어떤 키에도 이행적으로 종속하지 않음(이행적 종속 제거)
• BC정규형(보이스-코드) : X → A 형태의 모든 함수적 종속성에 대해 X(결정자)가 R의 수퍼키이면 만족
문제 26번
다음 릴레이션의 정규형은 무엇인가? [7강]
① 제2정규형
② BC정규형
③ 제3정규형
④ 제5정규형
5정규형은 수업시간에 다루지 않았으니 PASS
낮은 단계의 정규형부터 하나씩 따져보면 됨.
2정규형 : 기본키가 부분 종속을 하지 않아야 함. (기본키에서 나가는 화살표가 부분 X, 기본키 전체 O)
도크번호에서만, 입항시간에서만 나가는 화살표 없음.
기본키인 {도크번호, 입항시간}에 부분 종속이 없음.
→ 2정규형 만족 O
3정규형 : 이행적 종속이 없어야 함. (A → B, B → C이면 A → C)
{도크번호, 입항시간} → 목적 → 담당도사
→ 3정규형 만족 X
BC정규형 : 결정자는 수퍼키만
→ 목적이 결정자인데, 수퍼키가 아님.
→ BC정규형 만족 X
'방송대 컴퓨터과학과 > 데이터베이스시스템' 카테고리의 다른 글
방송대 데이터베이스시스템 - 10강. 인덱싱 (0) | 2023.05.31 |
---|---|
방송대 데이터베이스시스템 - 9강. 데이터 저장과 파일 (1) | 2023.05.28 |
방송대 데이터베이스시스템 - 7강. 정규화 (0) | 2023.05.27 |
방송대 데이터베이스시스템 - 6강. SQL (3) (1) | 2023.05.27 |
방송대 데이터베이스시스템 - 5강. SQL (2) (0) | 2023.05.26 |