학습개요
지난 강의에 이어서 실세계의 다양한 유형의 많은 데이터를 효율적으로 저장하고 관리하는 데이터베이스에 대해서 계속해서 살펴본다. 이번 시간에는 관계형 데이터 모델과 데이터베이스 설계 과정을 살펴본 후, 관계형 모델에서 널리 사용되는 질의어인 SQL의 기본적인 사용 방법에 대해서 학습한다.
학습목표
- 관계형 데이터 모델에 관련된 다양한 용어와 개념 등을 이해할 수 있다.
- 데이터베이스 설계 과정을 이해할 수 있다.
- SQL의 데이터 정의문과 조작문의 사용 방법을 이해할 수 있다.
연습문제
- 관계형 데이터 모델에서 사용되는 용어 중에서 레코드의 개수를 나타내는 것은?
- 투플
- 카디널리티
- 차수
- 영역
정답 : 2
- 관계형 데이터 모델과 관련된 설명으로 올바르지 못한 것은?
- 관계형 모델은 실세계의 정보를 개념적으로 2차원 테이블의 형식으로 나타낸다.
- 개체 무결성 제약조건은 어떠한 기본키값도 널값이 될 수 없다는 것이다.
- 한 릴레이션에 포함된 투플들은 순서를 가지고 있지 않다.
- 어떤 릴레이션에 속해 있는 속성이나 속성 집합이 다른 릴레이션의 기본키가 되는 것을 후보키라고 한다.
정답 : 4
- 데이터베이스 설계 과정 중에서 목표 DBMS에 맞는 스키마가 생성되고 트랜잭션에 대한 인터페이스 설계가 이루어지는 단계는?
- 논리적 설계
- 물리적 설계
- 구현
- 개념적 설계
정답 : 1
- SQL에서 기본 테이블을 정의하거나 수정 및 제거하기 위한 데이터 정의어에 속하는 명령문은?
- ALTER
- CHANGE
- UPDATE
- DEFINE
정답 : 1
- SQL 명령어의 사용 형식 중에서 올바르지 못한 것은?
(O)
정답 : 4
- 뷰에 대한 설명으로 적절한 것은?
- 뷰의 생성에 사용된 기본 테이블이 제거되어도 뷰는 유지된다.
- 뷰의 내용은 물리적으로 별도로 구현되어 존재하지 않는다.
- 뷰를 생성하기 위한 AS SELECT문 내에서는 기본 SELECT문에서 사용되는 모든 옵션을 자유롭게 사용할 수 있다.
- 기본 테이블에서처럼 삽입, 삭제, 갱신 등의 연산을 아무런 제약 없이 쉽게 적용할 수 있다.
정답 : 2
정리하기
- 관계형 모델
- 실세계의 데이터를 2차원 테이블(릴레이션)의 형식으로 표현 → 테이블을 사용해서 데이터와 데이터의 관계를 표현 → 실제 데이터가 테이블 형태로 저장되는 것을 의미하지는 않음
- 주요 용어 → 릴레이션, 투플, 속성, 차수, 영역, 카디널리티
- 릴레이션 → 릴레이션 스키마(→ 이름과 속성으로 구성), 릴레이션 인스턴스(→ 어느 한 시점에 릴레이션이 가지고 있는 투플의 집합)
- 릴레이션 특정 → 투플의 유일성, 투플의 무순서성, 속성의 무순서성, 속성값의 원자성
- 키 → 각 투플에 접근할 때 유일하게 구분되는 속성의 집합 → 슈퍼키, 후보키, 기본키, 대체키, 외래키
- 모든 릴레이션 인스턴스가 만족해야하는 제약 조건 → 영역 제약조건, 키 제약조건, 개체 무결성 제약조건, 참조 무결성 제약조건
.
- 데이터베이스 설계
- 사용자 요구 조건에서부터 데이터베이스 구조를 도출해 내는 과정(요구 조건 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현)
- 요구 조건 분석 → 데이터 및 처리 요구 조건 분석
- 개념적 설계 → DBMS에 독립적인 개념 스키마 설계, 트랜잭션 모델링
- 논리적 설계 → 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스 설계
- 물리적 설계 → 목표 DBMS에 맞는 물리적 구조 설계, 트랜잭션 세부 설계
- 구현 → 목표 DBMS DDL로 스키마 작성, 트랜잭션 작성
- 논리적 모델링 → 개념적 구조를 목표 DBMS의 구조로 변환하는 과정
- E-R 다이어그램으로부터 관계형 데이터 모델로 변환하는 과정 → ① 사각형의 개체 타입은 개체 릴레이션으로 변환(개체 타입의 속성은 해당 개체 릴레이션의 속성으로 포함), ② 마름모의 관계 타입은 관계 릴레이션으로 변환(연관된 개체 타입의 키속성을 관계 릴레이션의 속성으로 포함, 관계에 속한 속성은 관계 릴레이션의 속성으로 포함)
.
- E-R 다이어그램으로부터 관계형 데이터 모델로 변환하는 과정 → ① 사각형의 개체 타입은 개체 릴레이션으로 변환(개체 타입의 속성은 해당 개체 릴레이션의 속성으로 포함), ② 마름모의 관계 타입은 관계 릴레이션으로 변환(연관된 개체 타입의 키속성을 관계 릴레이션의 속성으로 포함, 관계에 속한 속성은 관계 릴레이션의 속성으로 포함)
- 사용자 요구 조건에서부터 데이터베이스 구조를 도출해 내는 과정(요구 조건 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현)
- SQL
- “구조화된 질의어”
- 데이터 정의어 → 테이블, 뷰, 인덱스를 정의하거나 수정 및 제거하는 문장
- 종류 → CREATE문, ALTER문, DROP문
- 데이터 조작어 → 기본 테이블과 뷰를 대상으로 검색, 삽입, 삭제, 갱신을 수행하는 문장
- 종류 → SELECT문, INSERT문, DELETE문, UPDATE문
- 뷰
- 하나 이상의 기본 테이블로부터 유도되어 만들어진 가상 테이블 → 기본 테이블을 들여다보는 유리창
- 뷰 내용이 물리적으로 구현되어 실제적으로 존재하지는 않음