데이터 전환 c

데이터 검증 c

오류 데이터 측정 및 정제 c

데이터베이스 c

DBMS (DataBase Management System) c

스키마(Schema) a

데이터베이스의 구조제약조건에 관한 전반적인 명세를 기술한 것

종류 내용
외부 스키마 사용자가 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
개념 스키마
  • 데이터베이스의 전체적인 논리적 구조
  • 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재함
내부 스키마
  • 물리적 저장장치의 입장에서 본 데이터베이스 구조
  • 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타냄

데이터베이스 설계 순서 a

1 요구조건 분석 요구조건 명세서 작성
2 개념적 설계 개념 스키마, 트랜잭션 모델링, E-R 모델
3 논리적 설계 목표 DBMS에 맞는 논리 스키마 설계, 트랜젝션 인터페이스 설계
4 물리적 설계 목표 DBMS에 맞는 물리적 구조의 데이터로 변환
5 구현 목표 DBMS의 DDL(데이터 정의어)로 데이터베이스 생성, 츠랜잭션 작성

개념적 설계 a

논리적 설계 a

물리적 설계 a

데이터 모델 a

개체 (Entity)c

관계 (Relationship) c

E-R (Entity-Relationship, 개체-관계) 모델 c

E-R 다이어그램 b

기호 기호이름 의미
사각형 개체(Entity)타입
관계 마름모 관계(Relationship)타입
속성 타원 속성 (Attribute)
다중값 속성(복합속성) 이중 타원 다중값 속성 (복합 속성)
기본키 속성 밑줄 타원 기본키 속성
복합 속성 복수 타원 복합속성 (예) 성명은 성과 이름으로 구성
관계 관계 1:1, 1:N, N:M 등의 개체간 관계에 대한 대응수를 선위에 기술함
선,링크 선,링크 개체 타입과 속성을 연결

관계형 데이터베이스의 릴레이션 구조 a

릴레이션(Relation)은 데이터들을 표(Table)의 형태로 표현한 것으로, 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성된다.

속성(Attribute)
학번 이름 학년 신장 학과 릴레이션 스키마 릴레이션
튜플(Tuple) 19001 김예소 2 170 CD 릴레이션 인스턴스
20002 고강민 1 168 CD
19012 이향기 2 180 ID
17032 김동준 4 174 ED
학년의 도메인 (domain)

튜플 (Tuple) a

도메인 (Domain) c

후보키 (CandIdate Key) a

기본키 (Primary Key) c

대체키 (Alternate Key) c

슈퍼키 (Super Key) a

외래키 (Forein Key) b

무결성 (Integrity) b

관계대수 b

순수 관계 연산자 a

Select

  1. 릴레이션에 존재하는 튜플 중에서 선택조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산이다.
  2. 릴레이션의 행에 해당하는 튜플(Tuple)을 구하는 것이므로 수평연산이라고도 한다.
  3. 기호 : σ(시그마)

Project

  1. 주어진 릴레이션에서 속성 리스트(Attribute List)에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는 연산이다.
  2. 릴레이션의 열에 해당하는 속성을 추출하는 것이므로 수직 연산자라고도 한다.
  3. 기호 : π(파이)

Join

  1. 공통 속성을 중심으로 두개의 릴레이션을 하나고 합쳐서 새로운 릴레이션을 만드는 연산이다.
  2. Join의 결과는 Cartesian Product(교차곱)를 수행한 다음 Select 를 수행한 것과 같다.
  3. 기호 : ⋈

Division

  1. X⊃Y인 두 개의 릴레이션 R(X)와 S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만들 구하는 연산이다.
  2. 기호 : ÷

일반 집합 연산자 b

합집합(UNION)

교집합(INTERSECTION)

차집합(DIFFERENCE)

교차곱(CARTESIAN PRODUCT)

관계해석 (Relational Calculus) c

이상 (Anomaly) a

이상이란 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 않게 발생하는 곤란한 현상을 의미한다.

삽입 이상 (Insertion Anomaly)

테이블에 데이터를 삽입할 때 의도와 상관없이 원하지 않은 값들로 인해 삽입할 수 없게 되는 현상

삭제 이상 (Deletion Anomaly)

테이블에서 튜플을 삭제할 때 의도와 상관없는 값들도 함께 삭제되는, 즉 연쇄 삭제가 발생하는 현상

갱신 이상 (Update Anomaly)

테이블에서 튜플에 있는 속성 값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 불일치성(Inconsistency)이 생기는 현상

정규화 (Normalization) b

함수적 종속 (Functional Dependency) b

정규화 과정 a

아래의 주문목록 테이블을 가지고 정규화 과정을 살펴보자. 주문목록 테이블의 기본키 (Primary Key)는 제품번호이다.

주문목록 (비정규 릴레이션)

제품번호 제품명 재고수량 주문번호 고객번호 주소 주문수량
1001 모니터 2000 A345,
D347
100,
200
서울,
부산
150,
300
1007 마우스 9000 A210,
A345,
B230
300,
100,
200
광주,
서울,
부산
600,
400,
700
1201 키보드 2100 D347 200 부산 300

제 1정규형(1NF: First Normal Form)

제품

제품번호 제품명 재고수량
1001 모니터 2000
1007 마우스 9000
1201 키보드 2100

제품주문

주문번호 제품번호 고객번호 주소 주문수량
A345 1001 100 서울 150
D347 1001 200 부산 300
A210 1007 300 광주 600
A345 1007 100 서울 400
B230 1007 200 부산 700
D347 1201 200 부산 300

주문목록 테이블에서 반복되는 주문 관련인 주문번호, 고객번호, 주소, 주문수량을 분리하면 위와같이 제1정규형인 제품테이블과 제품주문 테이블이 만들어진다.

제 2정규형(2NF : Second Normal Form)

제품주문 테이블에서 함수적 종속이 되는 속성들을 분리하여 제2정규형을 만들 수 있다.

주문목록

주문번호 제품번호 주문수량
A345 1001 150
A347 1001 300
A210 1007 600
A345 1007 400
B200 1007 700
D347 1201 300

주문

주문번호 고객번호 주소
A345 100 서울
D347 200 부산
A210 300 광주
B230 200 부산

제품주문 테이블에서 주문번호에 함수적 종속이 되는 속성인 고객번호와 주소를 분리 (즉 부분 함수적 종속을 제거)해내면 위와 같이 제2정규형인 주문목록 테이블과 주문 테이블로 무손실 분해된다.

제 3정규형(3NF : Third Normal Form)

주문 테이블에서 이행적 함수적 종속을 제거하여 제3정규형을 만들 수 있다.

주문

주문번호고객번호
A345100
D347200
A210300
B230200

고객

고객번호주소
100서울
200부산
300광주

주문 테이블에서 이행적 함수적 종속(주문번호 → 주소)을 제거하여 무손실 분해함으로서 위와 같이 제3정규형인 주문 테이블과 고객 테이블이 생성된다.

BCNF(Boyce-Codd Normal Form)

수강_교수테이블에서 결정자가 후보키가 아닌 속성을 분리하여 BCNF를 만들 수 있다.

수강

학번담당교수
211746홍길동
211747유관순
211748윤봉길
211749홍길동
211747이순신
211749유관순

교수

담당교수과목명
홍길동데이터베이스
이순신데이터베이스
윤봉길인공지능
유관순네트워크

수강_교수 테이블에서 BCNF를 만족하지 못하게 하는 속성(즉 담당교수 → 과목명)을 분리해내면 위와 같이 BCNF인 수강 테이블과 교수 테이블로 무손실 분해된다.

제 4정규형(4NF : Forth Normal Form)

제 4정규형은 테이블 R에 다중값 종속(MVD : Multi Valued Dependency) A →→ B 가 존재할 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형이다.

다중 값 종속(다치 종속) : A, B, C 3개의 속성을 가진 테이블 R에서 어떤 복합 속성 (A,C)에 대응하는 B값의 집합이 A값에만 종속되고 C값에는 무관하면 B는 A에 다중 값 종속이라 하고 A →→ B로 표기함

제 5정규형(5NF : Fifth Normal Form)

제 5정규형은 테이블 R의 모든 조인 종속(JD : Join Dependency)이 R의 후보키를 통해서만 성립되는 정규형이다.

조인 종속 : 어떤 테이블 R의 속성에 대한 부분집합 X,Y, ..., Z가 있다고 하자. 이때 만일 테이블R이 자신의 프로젝션(Projection) X, Y, ..., Z를 모두 조인한 결과와 동일한 경우 테이블 R은 조인 종속 JD(X, Y, ..., Z)를 만족한다고 함

정규화 과정 정리 b

  1. 비정규 릴레이션 -> 도메인이 원자값 -> 1NF
  2. 1NF -> 부분 함수 종속 제거 -> 2NF
  3. 2NF -> 이행적 함수 종속 제거 -> 3NF
  4. 3NF -> 결정자이면서 후보키가 아닌것 제거 -> BCNF
  5. BCNF -> 다치 종속 제거 -> 4NF
  6. 4NF -> 조인 종속성 이용 -> 5NF

반 정규화 (Denormalization) a

중복 테이블 추가 c

시스템 카탈로그 (System Catalog) b

트랜잭션 (Transation) b

트랜잭션의 특성 a

특성 의미
Atomicity (원자성) 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야 함.
Consistency (일관성) 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함.
Isolation (독립성, 격리성, 순차성) 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다.
Durability (영속성, 지속성) 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함.

CRUD(Create Read Update Delete) 분석 b

인덱스 (Index, 색인) b

클러스터드 인덱스 (Clusterd Index) c

넌클러스터드 인덱스 (Non-Clusterd Index) c

예상문제

  1. 다음은 개체-관계 모델의 E-R 다이어그램에서 사용되는 기호에 대한 설명이다. 괄호(1~3)에 들어갈 알맞은 기호를 쓰시오.
    기호의미
    (1)개체(Entity)타입
    (2)관계(Relationship)타입
    (3)속성(Attribute)
    이중 타원다중값 속성(복합속성)
    개체 타입과 속성을 연결
    • 1 사각형, 2 마름모, 3 타원
  2. 데이터베이스의 전체적인 논리구조로 단 하나만 존재하며, 모든 응용프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스를 가리키는 스키마는 무었인지 쓰시오.
    • 개념 스키마
  3. 데이터베이스 설계 단계 중 다음 내용은 어떤 단계에 대한 설명인지 쓰시오
    • 정보의 구조를 얻기 위하여 현실 세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다.
    • 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행한다.
    • DBMS에 독립적인 개념 스키마를 설계한다.
    • 개념적 설계
  4. 다음은 관계형 데이터베이스의 릴레이션이다. 괄호(1~4)에 들어갈 적합한 릴레이션 관련 용어를 쓰시오.
    • 주문릴레이션에서 업체번호, 지역, 담장자, 주문량은 주문 릴레이션의 (1) 이고, 업체번호가 1001,1002, 1003, 1004, 1005인 업체들의 각 속성에 대한 값을 표현한 행은 (2)이다.
    • 주문릴레이션에서 '주문'이라는 릴레이션의 이름, (1)들의 이름과 타입, 그리고 (1)들의 도메인을 정의한 내용이 릴레이션(3) 이고, 업체번호가 1001인 업체부터 1005인 업체까지의 (2) 들의 집합이 릴레이션 (4) 이다.
      1. image
    • 1 속성(Attribute)
    • 2 튜플(Tuple)
    • 3 스키마(Schema)
    • 4 인스턴스(Instance)
  5. A01, A02, A03, A04 4개 속성을 갖는 한 릴레이션(Relation)에서 A01의 도메인은 2개 값, A02의 도메인은 4개 값, A03의 도메인은 2개 값, A04의 도메인은 3개값을 갖는다. 이 릴레이션에 존재할 수 있는 최대 튜플(Tuple)수를 쓰시오.
    • 48

    튜플에 속한 속성 A01, A02, A03, A04 중 한개는 다른 튜플들과 다른 값을 가져야 하므로, 존재할 수 있는 최대 튜플의 수는 각 도메인(Domain)이 가진 값의 종류를 모두 곱한 값과 같습니다.
    2*4*2*3 = 48

  6. 릴레이션 R의 차수(Degree)가 3, 카디널리티(Cardinality)가 3, 릴레이션(Relation)S의 차수가 4, 카디널리티가 4일 때, 두 릴레이션을 CartesIan Product(교차곱)한 결과 릴레이션의 차수와 카디널리티를 쓰시오.
    • 1 차수 : 7
    • 2 카디널리티 : 12
    Cartesian Product(교차곱)은 두 릴레이션의 차수(Degree, 속성의 수)는 더하고, 카디널리티(Cardinality,튜플의 수)는 곱하면 됩니다.
    차수 : 3 + 4 = 7
    카디널리티 : 3 * 4 = 12
  7. 다음 회원 테이블에서 카디널리티(Cardinality)와 디그리(Degree)를 구하시오
    회원
    id이름거주지신청강의
    191-SR05백영현마포구E01
    024-RU09홍길동관악구S03
    181-SQ03서태지서대문구E02
    059-RL08김현철광진구S03
    029-SX07배철수강서구E02
    • 1 카디널리티(Cardinality) : 5
    • 2 디그리(Degree) : 4
  8. 다음은 키(Key)들의 개별적인 특징에 대한 설명이다. 각 키에 부합하는 설명을 선으로 그어 표시하시오.
    1. 문제
  9. 다음 설명의 괄호에 공통적으로 들어갈 키(Key)의 종류를 쓰시오.
    • ( )는 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다.
    • 한 릴레이션에 속한 속성A와 참조릴레이션의 기본키인 B가 동일한 도메인 상에서 정의되었을 떄의 속성A를 ( )라고 한다.
    • 외래키(Foreign Key)
  10. 다음은 계좌관리 시스템을 위하여 설계한 릴레이션 인스턴스이다. 괄호(1~3)에 들어갈 키(Key)의 종류를 쓰시오
    예금계좌
    예금번호잔고입출금내역지점명
    80920332140,000입금구로점
    809991111124,000출금양평점
    1000020011,321,123출금신정점
    1208304313,123,123입금강남점
    8212321250출금서귀포점
    지점
    지점명도시자산영문지점명지점개설일전화번호
    구로점서울999,999,999GURO1980.1.202-1234-1234
    양평점양평123,333,000 YANGPYUNG010-1234-1234
    서귀포점제주시333,333,000JEJU2023,3.1010-3333-4444
    고객
    고객번호이름주소생년월일
    900심봉사서울시 송파구 마천동1984.03.15
    901이박사서울시 강서구 화곡동1991.05.12
    902김삿갓서울시 종로구 중화동1972.03.13
    예금
    예금번호고객번호
    809203321900
    809991111901
    100002001901
    120830431903
    예금계좌릴레이션에서는 예금번호. (예금번호, 잔고), (예금번호, 입출금내역), (예금번호, 지점명), (예금번호, 잔고, 지점명), (예금번호, 입출금내역, 지점명) 등 을 슈퍼키로 정의할 수 있다. 이는 각 속성 또는 속성 집합에서 같은 값이 나타나지 않기 때문이다. 즉 슈퍼키란 릴레이션을 구성하는 모든 튜플을 유일하게 식별해 주 는 속성 또는 속성 집합을 말한다. 이러한 슈퍼키 중에서 릴레이션을 구성하는 모든 튜플을 유일하게 식별하기 위해 사용되는 최소의 속성 또는 속성들의 집합을 ( 1 )라 한다. 즉 ( 1 )는 유일성과 최소성을 모두 만족해야 한다. 지점 릴레이션에서는 지점명, 영문지점명, (지점명, 도시), (지점명, 자산), (영문지점명, 지점개설일), (영문지점명, 전화번호) 등을 슈퍼키로 정의할 수 있고, ( 1 )로 지점명, 영문지점명 등을 정의할 수 있 다. 지점 릴레이션의 기본키로 지점명 속성이 정의되었으므로 ( 1 ) 중에 기본키로 지정되지 않은 영문지점명은 ( 2 )가 된다. 예금 릴레이션에서 고객 번호는 고객 릴레이션의 기본키인 고객번호 속성을 참조하는 ( 3 )이다. 그 리고 예금 릴레이션에서 예금번호는 예금계좌> 릴레이션의 기본키인 예금번호 속성을 참조하는 ( 3 )이다.
    • 1. 후보키(Candidate Key)
    • 2. 대체키(Alternate Key)
    • 3. 외래키(Foreign Key)
  11. 다음 학생 릴레이션에서 학과sk 학년을 기본키(Primary Key)로 사용할 수 없는 이유를 간략히 서술하시오.
    학생
    학과학번성명성별학년
    정보처리과222301최미경1
    컴퓨터공학과212001김예소2
    전자통신학과212201김상옥2
    정보처리과222302임선호1
    • 기본키는 중복된 값을 가질 수 없는데, '학과' 나 '학년' 은 중복된 값이 존재하므로 기본키로 사용할 수 없다.
  12. 관계형 데이터베이스의 제약조건중 후보키(Candidate key)에 대한 개념을 서술하시오
    • 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합이다.
  13. 다음 설명의 괄호에 공통적으로 들어갈 알맞은 용어를 쓰시오.
    • ( )은 데이터베이스에 저장된 데이터의 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 말한다.
    • ( )제약 조건은 데이터베이스에 들어 있는 데이터의 정확성을 보장하기위해 부정확한 자료가 데이터베이스 내에 저장되는 것을 방지하기 위한 제약 조건을 말한다.
    • 무결성(Integrity)
  14. 데이터 무결설 제약조건 중 참조 무결성(Referential Integrity)의 개념을 간략히 서술하시오
    • 참조 무결성은 외래키 값은 null 이거나 참조 릴레이션의 기본키 값과 동일해야 한다는 규정이다.
  15. 다음은 순수 관계 연산자에 대한 설명이다. 괄호(1,2)에 들어갈 알맞은 연산자의 명칭을 쓰시오 답
    • 1. Division
    • 2. Select
    join
    • 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산자이다.
    • 연산자의 기호 : ⋈
    ( 1 )
    • X⊃Y인 두 개의 릴레이션 R(X)와 S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만들 구하는 연산이다.
    • 기호 : ÷
    Project
    • 주어진 릴레이션에서 속성 리스트(Attribute List)에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는 연산이다.
    • 기호 : π(파이)
    ( 2 )
    • 릴레이션에 존재하는 튜플 중에서 선택조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산이다.
    • 기호 : σ(시그마)
  16. 관계대수의 개념을 간략히 서술하시오.
    • 관계대수는 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어이다.
  17. 데이터베이스에서 이상(Anomaly)의 개념을 간략히 서술하시오
    • 이상은 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 않게 발생하는 곤란한 현상이다.
  18. 현재 사용중인 수강 테이블에 수강신청을 입력하려 하였으나 이상(Anomaly)현상이 발생하였다. 발생한 이상 현상의 종류와 그 이유를 간략히 서술하시오.
    수강
    학번과목번호이름과목명학년학기학년도
    200001D01홍길동데이터베이스312022
    210002N02이순신네트워크212022
    200003N02강감찬네트워크312022
    190004D01윤봉길데이터베이스412022
    200002P04홍길동물리학 개론312022
    200003D01강감찬데이터베이스312022
    210002P04이순신물리학개론212022
    2022학년도 1학기 수강신청서
    학번 이름홍길동 학년3
    과목번호N02 과목명네트워크
    1. 수강 신청서 내용을 수강 테이블에 입력할 때 발생한 이상 현상을 쓰시오. 답
    • 삽입 이상(Insertion Anomaly)
    2. 이상현상이 발생하게 된 이유를 간략히 서술하시오. 답
    • 기본키인 학번과 과목번호를 모두 입력해야 하나 수강신청서에는 학번이 기입되어있지 않았기 떄문에 삽입이상이 발생한다.
    삽입이상(Insertㅑㅐㅜ Anomaly)이란 테이블에 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들로 인해 삽입할 수 없는 현상을 의미합니다.
  19. 다음 설명의 괄호에 공통적으로 들어갈 데이터베이스 관련 용어를 쓰시오.
    • ( )는 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정이다.
    • 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정이라 할 수 있다.
    • ( )의 목적은 가능한 한 중복을 제거하여 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이는 것이다.
    • ( )된 데이터의 모델은 일관성, 정확성, 단순성, 비중복성, 안전성 등을 보장한다.
    • 정규화(Normalization)
  20. 다음은 학사관리 시스템에서 사용중인 학생릴레이션의 인스턴스다. 괄호(1,2)에 들어갈 알맞은 용어를 쓰시오.
    학생
    학번학과과목학점
    2100125컴퓨터공학데이터베이스A0
    2100125컴퓨터공학운영체제B0
    2000057정보통신시스템분석A0
    2200257정보통신자료구조B0
    정규화를 하기 위해서는 학생릴레이션에 존재하는 ( 1 )을 먼저 파악하여야 한다. ( 1 )이란 학생 테이블에서 학과가 학번 속성에 의해 결정되는 것 처럼 어떤 릴레이션 R에서 A와 C를 각각 R의 속성 집합에 대한 부분 집합이라고 할 경우, 속성A의 값 각각에 대하 시간에 관계없이 항상 C의 값이 오직 하나만 연관되어 있을 떄, A는 C를 함수적으로 종속한다고 말한다. 또한 학생 테이블의 ( 1 )을 기호로 표시하면 ( 2 )이다. ( 2 )의 의미는 학생 릴레이션에서 속성 학번이 속성 학과를 함수적으로 결정한다는 의미이다. 이런 의미에서 학번을 결정자, 학과를 종속자라 한다.
    • 함수적 종속
    • 학번 → 학과
  21. 릴레이션 스키마와 릴레이션 인스턴스가 다음과 같을때, 지점 릴레이션과 예금계좌 릴레이션 사이에 존재하는 무결성 위배조건은 무었이며, 위배사유를 간략하게 서술하시오.
    릴레이션 스키마
    1. 릴레이션 스키마
    지점 릴레이션 인스턴스
    지점명도시자산영문지점명지점개설일전화번호
    을지점중구8,000,0001970.10.0102)324-1111
    수서점강남구9,000,000SUSEO1981.01.2302)354-1331
    구의점광진구1,400,000GUEE2000.12.0202)232-1421
    예금 계좌 릴레이션 인스턴스
    예금번호잔고입출금내역지점명
    8009037840,000,230입금을지점
    60099111380,333,000출금수서점
    1000020012,000,200입금화양점
    12083043290,000,100출금명동점
    8213212141,100,230입금을지점
    • 참조 무결성 위배 : 예금계좌 릴레이션의 지점명화양점명동점지점 릴레이션의 지점명속성에 존재하지 않기 떄문에 참조 무결성 제약조건에 위배된다.
  22. 다음의 조건을 모두 만족하는 정규형은 무었인지 쓰시오.
    도메인은 원자 값이고 기본키가 아닌 모든 속성들이 기본키에 대해 완전 함수 종속적이며, 이행적 함수 종소 관계는 제거되었다.
    • 제3정규형(3NF)
  23. 다음에 제시된 조건중 BCNF를 만족하기 위한 조건을 모두 고르시오
    • ㄱ. 결정자이면서 후보키가 아닌것 제외
    • ㄴ. 이행적 함수 종속 제거
    • ㄷ. 부분적 함수 종속 제거
    • ㄹ. 도메인이 원자 값
    • ㄱ,ㄴ,ㄷ,ㄹ
  24. 다음의 학생릴레이션은 한 명의 학생이 수강과목 속성의 값을 여러개 가지는 문제점이 있다. 이 문제를 해결하기 위해 다음과 같이 정규화 과정을 수행했다. 어떤 단계의 정규화 과정인지와 해당 정규화 과정에서 필요한 작업을 간략히 서술하시오.
    학생릴레이션 스키마
    학생(학번, 이름,학과, 소속대학, 수강과목)
    학생 릴레이션
    학번이름학과소속대학수강과목
    1255023이재학컴퓨터공학과정보통신대네트워크
    자료구조
    1539011성길현전기공학과정보통신대전기회로
    1255008류덕호컴퓨터공학과정보통신대데이터베이스
    1603547김개동전자공학과정보통신대반도체
    광통신
    정규화된 학생 릴레이션
    학번이름학과소속대학수강과목
    1255023이재학컴퓨터공학과정보통신대네트워크
    1255023이재학컴퓨터공학과정보통신대자료구조
    1539011성길현전기공학과정보통신대전기회로
    1255008류덕호컴퓨터공학과정보통신대데이터베이스
    1603547김개동전자공학과정보통신대반도체
    1603547김개동전자공학과정보통신대광통신

    1. 학생 릴레이션에 필요한 정규화를 쓰시오

    • 제1정규화

    2. 위 정규화 과정에서 수행된 작업을 쓰시오

    • 도메인이 원자 값만을 갖도록 다중 값 속성을 제거한다.
  25. 아래의 상품주문 릴레이션은 복합키(Composite Key)로서 주문번호와 생산번호가 식별자다. 함수적 종속 관계의 괄호(1~3)에 들어갈 적합한 속성명을 쓰시오.
    상품주문 릴레이션
    주문번호상품명상품가격주문수량생산번호생산자
    R001사과500500P01홍길동
    R0011000500P02윤봉길
    R003오이20001500P03이순신
    R003사과5005001000홍길동
    함수적 종속 관계
    • (주문번호, 생산번호) → 상품명, 상품가격, 주문수량, 생산자
    • 생산번호 → ( 1 ), ( 2 ) , ( 3 )
    • 상품명 → 상품가격
    • 1. 생산자
    • 2. 상품명
    • 3. 상품가격
  26. 다음의 정규화(Normalization) 과정은 어떤 단계의 정규화 과정인지 쓰시오.
    부품구입
    부품번호구입처구입연락처
    BD-4185영풍기계031-478-5231
    BD-3345제일공구02-345-6789
    BD-4785한성전자051-733-4747
    BD-6231제일공구02-345-6789
    BD-2377한성전자051-733-4747
    정규화 결과
    부품구입처
    부품번호구입처
    BD-4185영풍기계
    BD-3345제일공구
    BD-4785한성전자
    BD-6231제일공구
    BD-2377한성전자
    구입처정보
    구입처구입연락처
    영풍기계031-478-5231
    제일공구02-345-6789
    한성전자051-733-4747
    답 : 제3정규화
  27. 함수적 종속을 확인하면서, 상품주문 릴레이션의 이상(Anomaly)과 중복(Redundancy)를 제거하는 정규화(Normalization) 중이다. 어떤 단계의 정규화 과정인지와 해당 정규화 과정에서 수행된 작업을 간략히 서술하시오.
    상품주문
    주문번호상품명상품가격주문수량생산번호생산자
    R001사과500500P01홍길동
    상품주문 릴레이션을 무손실 분해한 결과
    주문
    주문번호주문수량생산번호
    R001500P01
    생산
    생산번호상품명상품가격생산자
    P01사과500홍길동
    1. 주문생산 릴레이션은 상품주문 릴레이션의 어떤 정규화 결과인지 쓰시오
    • 제2정규화
    2. 위 정규화 과정에서 수행된 작업을 쓰시오
    • 부분 함수적 종속성 제거
    생산 릴레이션을 무손실 분해한 결과
    생산
    생산번호상품명생산자
    P01사과홍길동
    상품 생산
    상품명상품가격
    사과500
    3. 생산자상품 릴레이션은 생산 릴레이션의 어떤 정규화의 결과인지 쓰시오
    • 제3정규화
    2. 위 정규화 과정에서 수행된 작업을 쓰시오
    • 이행적 함수적 종속성 제거
  28. 정규화 과정 중 릴레이션 R의 모든 결정자(Determinant)가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는지 쓰시오
    • BVNF (Boyce-Codd Normal Form)
  29. 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위헤 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법은 무었인지 쓰시오.
    • 반정규화(Denormalization)
  30. 다음 설명과 관련된 트랜잭션(Transition)의 특징을 쓰시오
    트랜잭션의 연산은 모두 실행되거나, 모두 실행되지 않아야 한다.
    • 원자성
  31. CRUD 분석에 대한 다음 설명에서 괄호에 차례대로 들어갈 용어를 쓰시오
    • CRUD 는 ( ), ( ), ( ), ( )의 앞 글자만 모아서 만든 용어이며, CRUD 분석은 데이터베이스 테이블에 변화를 주는 트랜잭션의 CRUD 연산에 대해 CRUD 매트릭스를 작성하여 분석하는 것이다.
    • CRUD 분석을 통해 많은 트랜잭션이 몰리는 테이블을 파악할 수 있으므로 디스크 구성시 유용한 자료로 활용할 수 있다.
    • Create(생성),Read(읽기),Update(갱신),Delete(삭제)
  32. 다음 설명에서 괄호에 공통으로 들어갈 알맞은 용어를 쓰시오.
    파일의 구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식을 의미하는 것으로 크게 순차, ( ), 해싱 으로 구분한다. ( )파일 구조는 값, 주소 쌍으로 구성되는 데이터구조를 활용하여 데이터에 접근하는 방식으로, 자기 디스크에서 주로 활용된다.
    • 인덱스(Index, 색인)