MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로...

71
MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 시험 98-364 데이터베이스 관리의 기초

Transcript of MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로...

Page 1: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

M I C R O S O F T T E C H N O L O G Y A S S O C I A T E

학생 학습 안내서

시험 98-364

데이터베이스 관리의 기초

Page 2: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

Certification

MTA 인증 준비

MICROSOFT TECHNOLOGY ASSOCIATE (MTA) 개발자를 위한 학생 학습 가이드

98-364 데이터베이스 관리 기초

Page 3: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

저자

Peggy Fisher (웹 개발 및 데이터베이스 관리). Peggy는

미국 펜실베이니아 중부에 있는 Indian Valley 고등학교에서

컴퓨터 과학을 가르칩니다. 이 고등학교는 프로그래밍(AP용 C#,

VB 및 Java 과정) 및 웹 디자인(Expression Web, HTML, JavaScript

및 CSS) 과정을 제공합니다. 이전에 Peggy는 펜실베이니아 주

필라델피아 밖에 있는 큰 보험 회사에서 일했으며 교육 분야에

진출하기 위해 회사를 그만두었습니다. Peggy는 지난 8년 동안

IVHS에서 일했고 새로운 업무를 즐기면서 경력을 쌓았습니다.

또한 Peggy는 펜실베이니아 주립 대학의 평생 교육 프로그램에서

파트 타임으로 학생들을 가르칩니다. Peggy의 목표는 학생들이

졸업 후에도 계속 배우는 자세를 잃지 않도록 배움의 중요성을

알게 하는 것입니다. Peggy는 MTA 시험 복습 키트 시리즈에서

웹 개발 시험 복습 키트를 공동으로 제작했습니다.

Patricia Phillips (선임 저자 및 프로젝트 관리자). Patricia는

미국 위스콘신 주 제인스빌에서 20년 동안 컴퓨터 과학을

가르쳤습니다. Patricia는 Microsoft 국립 K-12 직원 자문

위원회에 소속되었으며 2년 동안 기술 교육가를 위한

Microsoft MainFunction 웹 사이트의 편집 업무를 담당했습니다.

지난 5년 동안 Patricia는 Expression Studio 웹 디자인, XNA 게임

개발 등을 비롯한 K-12 교육 과정 개발 및 파일럿 프로그램과

관련된 다양한 역할을 수행하면서 Microsoft와 협력했습니다.

저자 및 편집자로서 Patricia는 컴퓨터 과학, 웹 디자인, 정보과학적

사고 능력 등의 주제에 대한 여러 기사와 교과서를 제작했습니다.

Patricia는 현재 Computer Science Teachers Association 뉴스레터인

Voice의 편집자로 일하고 있습니다.

이 내용은 학생들이 개인적인 용도로만 사용하도록 되어 있습니다.

여기에서 언급된 일부 예제는 단지 설명을 위한 가상의 내용입니다. 실제 내용과 연관 또는 관련되지 않으며 그렇게 유추해서도

안 됩니다.

http://www.microsoft.com/about/legal/en/us/IntellectualProperty/Trademarks/EN-US.aspx (영문) 에 나열된 Microsoft 및 기타

상표는 Microsoft 그룹 계열사의 상표입니다. 다른 모든 상표는 해당 소유자의 자산입니다.

© 2012 Microsoft Corporation. 모든 권리 보유. 이 내용은 “있는 그대로” 제공되며 Microsoft는 명시적이든 묵시적이든 어떠한 보증도

하지 않습니다.

Page 4: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는
Page 5: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는
Page 6: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는
Page 7: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는
Page 8: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는
Page 9: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는
Page 10: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

목차

소개. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi

경력 계획. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xii

직무 역할 개요. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiv

인증의 중요성. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xvi

98-364 데이터베이스 관리의 기초

1장

2장

핵심 데이터베이스 개념 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1 데이터가 테이블에 저장되는 방법 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

1.2 관계형 데이터베이스 개념 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

1.3 DML(데이터 조작 언어) 이해. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . .9

1.4 DDL(데이터 정의 언어) 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

데이터베이스 개체 만들기. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

2.1 데이터 형식 선택. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

2.2 테이블 및 테이블 생성 방법 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3A T-SQL을 사용하여 보기 만들기. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

2.3B 그래픽 디자이너를 사용하여 보기 만들기. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

2.4 저장 프로시저 및 함수 만들기. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Page 11: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

3장

4장

5장

6장

데이터 조작. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.1A 단순 쿼리가 있는 SELECT를 사용하여 데이터 선택. . . . . . . . . . . . . . . . . . . .27

3.1B 복잡한 쿼리가 있는 SELECT를 사용하여 데이터 선택. . . . . . . . . . . . . . . . . .29

3.2 데이터 삽입. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3 데이터 업데이트. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.4 데이터 삭제. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

데이터 저장소 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.1 정규화 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.2 기본 키, 외래 키 및 복합 키 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

4.3 인덱스 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

데이터베이스 관리. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1 데이터베이스 보안 개념 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2 데이터베이스 백업 및 복원 이해. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49

데이터베이스 개념 복습. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

데이터베이스 관리의 기초 복습. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

x 목차

Page 12: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

M

소개

TA는 기본 기술 개념을 검증하고

학생들이 흥미롭고 보람 있게 IT

(정보 기술) 에서 원하는 직업을 찾아

성공적으로 경력을 쌓는 데 도움을 줍니다.

Microsoft 기술 인증 시리즈의 첫 번째 단계인

새로운 이 초급 인증에서는 확신과 신뢰감을

심어주고 차별화할 수 있는 능력을 제공합니다.

많은 시간과 노력을 들이지 않고 IT 경력 쌓기

MTA 시험에서는 오늘날 전 세계 기업에서

요구하는 핵심 기술 지식을 검증합니다.

원하는 경력이 네트워크 관리자인지, 소프트웨어

엔지니어인지, 웹 개발자인지, 데이터베이스

분석가인지 여부에 상관없이 MTA는 올바른

길을 안내합니다.

경쟁에 대비 IT에 약간만 투자하면 오늘날의

치열한 채용 시장을 헤쳐 나갈 수 있습니다.

MTA 인증을 획득하면 중급 기술 교육과 MCTS

(Microsoft Certified Technology Specialist) 인증을

받을 수 있는 확실한 기초를 갖추게 됩니다.

또한 대학 입학에도 도움이 되고 IT 경력 계획을

시작하는 발판이 됩니다.

능력 배양 MCTS가 되기 위한 첫 번째 단계인 MTA 는

5백만 명 이상의 MCP (Microsoft Certified Professionals)

로 구성된 커뮤니티와 연결해주는 동시에 기술에 대한

당사자의 노력을 증명합니다. 커뮤니티에서 지식을

터득하고 MTA 인증을 획득하여 자신의 지식을 입증할

수 있습니다.

이 MTA 학생 학습 안내서는 MTA 인증 시험을

준비하는 데 도움을 주는 학습 도구입니다. 학생들은

시험에서 다루는 각 주요 항목과 관련된실제 상황을

맞게 됩니다. 학습 안내서를 성공적으로 마치더라도

MTA 시험에 반드시 통과한다는 보장은 없지만 이

안내서는 시험을 제대로 준비했는지 파악하고 시험

당일에 문제를 풀 수 있다는 확신을 주는 훌륭한

자료입니다.

기술 분야에서 성공적인 경력을 쌓을 수 있도록

최대한 준비하시기를 바랍니다!

Victoria Pohto

Victoria Pohto

MTA 제품 마케팅 관리자

소개 xi

Page 13: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

M

경력 계획

icrosoft 기술을 기반으로 구축된 대부분의

IT 솔루션 또는 인프라를 사용하려면 흔히

"Microsoft 스택" 이라고 부르는 다음 제품 중 하나

또는 모두에 능숙해야 합니다.

• Microsoft Windows Server - 데이터 센터 또는

개발 플랫폼

• Microsoft SQL Server - 데이터 및 BI(비즈니스

인텔리전스) 플랫폼

• Microsoft Visual Studio - 응용 프로그램 수명 주기

관리 도구 제품군

Microsoft 기술 인증을 위한 출발점인 MTA는

지속적인 학습 및 성공적인 기술 경력을 쌓아가는

데 필요한 기초 지식을 의욕적인 기술자에게

제공합니다.

MTA 인증을 준비 및 획득하면 전문적 직업 분야에

많은 시간과 비용을 들이지 않고도 다양한 기술

경력 분야에 진출할 수 있습니다. 적합한 직업

분야를 찾았다면 Microsoft 학습 제품 및 인증이

장기적인 경력 계획을 준비하고 실행하는 데

도움이 될 것입니다.

기술 분야에서 경력을 쌓기로 이미 결정한 경우

MTA 준비 및 인증을 출발점으로 활용하는 것이

좋습니다. MTA 인증을 획득했다는 것은 중급

교육 및MCTS (Microsoft Certified Technology

Specialist) 와 같은 인증에 필수적인 기본 IT 개념을

확실하게 이해하고 있다는 것을 나타냅니다. 또한

Microsoft 인증은 업계가 인정하는 자격증을 통해

지식과 기술을 한 단계 높이려는 개인적인 노력과

확신이 있었다는 것을 증명합니다.

MTA는 바로 업무에 투입할 수 있음을 뜻하는

"경력 증명서" 가 아니라, 경력 목표를 향한 첫

단계로서 인턴 채용 또는 대학 입학에서 활용할

수 있는 인증서입니다. 기술 분야에서 처음 직업을

찾는 경우 Microsoft 제품 및 기술을 검증하는

중급 레벨 인증인 MCTS 자격증을 갖추어야

합니다.

다음 페이지의 MTA 인증 경로는 Microsoft 중급

기술 인증인 MCTS에 도전하기 전에 권장되는

MTA 시험을 보여 줍니다.

xii 경력 계획

Page 14: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

경력 계획 xiii

Page 15: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

직무 역할 개요

업 분야를 선택하는 것은 중요한

결정이고 항상 쉬운 일이 아니지만

여러분은 혼자가 아닙니다. Microsoft는

IT 분야에서 경력을 쌓기 위한 다양한 선택과

가능성을 이해하는 데 도움이 되는 경력

사이트를 구축했습니다. 이 사이트에서 학습

리소스와 교육 커뮤니티를 찾을 수 있을

뿐만 아니라 기술 경력을 준비하는 데 도움을

받을 수 있습니다.

Microsoft 기술에 대한 경력을 차트로 작성하려면

www.microsoft.com/learning/career/en/us/

career-org-charts.aspx (영문) 를 방문하십시오.

데이터베이스 관리자

데이터베이스 관리자는 여러 플랫폼과

환경을 포함하는 중요한 데이터베이스를

담당합니다. 데이터베이스 관리자는 빠르게

변화하는 환경에서 살아남기 위해 중요한

팀 역할을 수행합니다. 데이터베이스 관리자는

비즈니스 및 보안 요구 사항을 충족하는 뛰어난

확장성의 복잡한 데이터베이스를 구축해야 하므로

데이터베이스 최적화, 유지 관리 및 문제 해결뿐만

아니라 보관, 데이터 배포 및 고가용성 솔루션

설계에 대한 전문가입니다.

서버 관리자

서버 관리자는 조직에서 가장 중요한

기술 중 하나인 서버를 구현하고 관리

하는 역할을 수행합니다. 서버 관리자는

광범위한 모니터링 및 프로파일링 도구를

사용하여 네트워크를 관리하고 시스템을 미세

조정하여 최적의 성능을 발휘하도록 합니다. 또한

Active Directory 전문가이고 네트워크 프로토콜과

파일 및 디렉터리 보안에 대한 세부적인 지식을

갖고 있습니다.

고객 지원 기술자

고객 지원 기술자로 IT 경력을 시작해볼 수 있습니다. 공식적인 업무 경험이 필요하지는 않지만 데스크톱 컴퓨터, 노트북 및 프린터가 있는 홈 네트워크 환경에서 운영 체제를 설치 및 관리하고

문제를 해결하는 방법에 대한 지식이 필요할 수 있습니다. 또한 고객 지원 기술자는 네트워크, 바이러스, 악성 소프트웨어 및 하드웨어 지원 문제를 처리합니다. 일반적으로 중소 기업에서 이와 관련된 직원을 채용합니다.

xiv 직무 역할 개요

Page 16: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

직무 역할 개요 웹 개발자

웹 개발자는 웹을 구동하는 동적

프로그래밍 도구와 언어를 사용하는

데 전문가입니다. 웹 개발자는 내부 및

외부 사이트를 위한 대화형 웹 사이트,

응용 프로그램 및 서비스를 작성 및 통합하는 팀의

구성원으로 일하거나 독립적으로 일할 수 있습니다.

웹 개발자의 역할은 웹 응용 프로그램을 개발하고

다양한 브라우저에서 테스트한 후에 필요에 따라

사용자를 위한 최선의 환경이 되도록 개선 및

수정하여 웹 사이트를 작동하도록 만드는 것입니다.

또한 웹 사이트를 설계하거나 데이터 기반 응용

프로그램을 설계하거나 효율적인 클라이언트-서버

솔루션을 찾을 수 있습니다. 웹 개발자는

소프트웨어 개발 수명 주기를 자세히 이해하고

프로젝트 상태, 문제 및 해결 방법을 전달할

수 있어야 합니다.

Windows 개발자

Windows 클라이언트 개발자는

Windows 코드를 최적화하고 버그를

추적하는 방법을 알고 있습니다.

또한 Microsoft Visual Studio 및

Microsoft .NET Framework를 사용하여 회사

서버와 데스크톱 컴퓨터 둘 다에서 실행되는

Windows 기반 응용 프로그램을 설계, 개발,

테스트 및 배포할 수 있습니다.

Windows 개발자가 갖추어야 할 주요 지식으로는

여러 Windows 응용 프로그램 모델 및 n-계층 응용

프로그램에 대한 지식과 개체 지향 프로그래밍,

알고리즘, 데이터 구조 및 다중 스레딩을 사용하는

방법에 대한 지식을 들 수 있습니다. 이외에도

Windows 개발자는 소프트웨어 엔지니어링 원칙,

소프트웨어 수명 주기 및 보안 원칙에 대한 세부적인

지식을 갖고 있어야 합니다.

초급 개발자를 위한 추가 온라인 리소스:

http://msdn.microsoft.com/beginner

http://msdn.microsoft.com/rampup

Imagine Cup

Imagine Cup은 새로운

기술을 배우거나 새로운

친구를 사귀거나

세상을 변화시키기 위해

전 세계 학생들이 모여서 경쟁하는 세계 최고의

시합입니다. 시합 종목으로는 소프트웨어 디자인,

임베디드 개발, 게임 디자인, 디지털 미디어,

Windows Phone 7 등이 있습니다. 영리하고 뛰어난

학생들이 강력한 기술을 활용하여 전 세계에서

가장 어려운 문제를 해결해 나갑니다.

www.imaginecup.com (영문)

직무 역할 개요 xv

Page 17: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

인증의 중요성

술은 실제로 우리와 관련된 모든 일에

필요합니다. Microsoft가 20년이 넘는

기간 동안 제품 및 기술과 관련하여 사용자를

인증한 이후로 수백만 명의 사용자가 거의 모든

비즈니스 및 사회 부문에서 경력을 향상시키거나

비즈니스 솔루션을 최적화하거나 혁신을 실현하는

데 필요한 지식, 기술 및 자격증을 획득했습니다.

오늘날 IT (정보 기술) 분야에서 일하는 관리자는

잠재적 기술이 있는 IT 직원을 식별하기 위해

Microsoft 인증과 같은 전문가 자격증을 자주

활용합니다. 인증은 넘쳐나는 이력서 속에서

자격 있는 인재를 쉽게 식별할 수 있는 방법이

되었습니다.

미국 노동부 BLS (노동 통계청) 가 발표한 조사

결과에 따르면 IT 전문가의 직업 전망은 밝은

편입니다. BLS는 2014년까지 컴퓨터 지원 전문가,

시스템 엔지니어, 데이터베이스 관리자, 컴퓨터

소프트웨어 엔지니어 등을 비롯한 모든 직종에서

평균보다 빠르게 채용 인력이 증가할 것이라

보고 있습니다.

이 조사 결과에서 밝혀진 중요한 사실은 국가,

산업 또는 업종에 상관없이 ICT (정보 및 통신 기술)

분야의 기술이 기본적으로 요구된다는 것입니다.

정보 기술은 분명히 시간, 리소스 및 교육을 투자할

만한 가치가 있는 분야이고 기술 인증은 학습을

통해 제품 및 기술 전문 지식을 갖추었는지

검증하는 교육 과정의 핵심적인 부분이 되었습니다.

Microsoft IT 인증은 전 세계 IT 전문가, 개발자 및

정보 노동자를 위해 중요한 IT 기능을 성공적으로

수행할 수 있는 능력을 검증합니다. Microsoft

인증은 다양하고 풍부한 지식, 직무 역할 및

책임을 나타냅니다. 또한 특정 인증을 획득하면

중요한 IT 기능을 성공적으로 수행할 수 있다는

것을 의미합니다. 전 세계 업계 전문가가 인정하는

Microsoft 인증은 여전히 장기적인 경력 목표에

도달하는 데 도움이 되는 가장 효과적인 방법

중 하나입니다.

xvi 인증의 중요성

Page 18: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

MTA 98-364

데이터베이스 관리의 기초

Page 19: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는
Page 20: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

1

핵심 데이터베이스 개념 이해

이 장의 내용

■ 1.1 데이터가 테이블에 저장되는 방법 이해

■ 1.2 관계형 데이터베이스 개념 이해

■ 1.3 DML (데이터 조작 언어) 이해

■ 1.4 DDL (데이터 정의 언어) 이해

Page 21: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는
Page 22: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 핵심 데이터베이스 개념 이해 1.1

데이터가 테이블에 저장되는 방법 이해

시나리오: 고등학생인 Rajesh M. Patel 은 인도 푸네에 있는 아버지의 자전거 매장에서 파트 타임으로

일합니다. 푸네는 인도에서 자전거 전용 도로를 처음으로 갖춘 도시입니다.

Raj의 아버지는 연필과 종이를 사용하여 재고를 관리합니다. 부품과 부속품을 주문하고 재고를

계산하려면 여러 날이 걸립니다. Raj는 학교에서 데이터베이스 관리 수업을 듣고 있으며 데이터베이스

관리 시스템을 구현하면 아버지의 사업에 크게 도움이 된다는 것을 알게 됩니다.

Raj는 시작하기 전에 몇 가지 기본 개념에 대한 복습이 필요하여 프로젝트의 처음 단계에서 중요하다고

생각되는 항목 목록을 만들었습니다.

1. 데이터베이스에 대해 만들 수 있는 테이블을 식별합니다.

a. 부품 테이블, 자전거 테이블 및 부속품 테이블

b. 모든 부품, 자전거 및 부속품을 위한 하나의 테이블

c. 각 부품, 각 자전거 및 각 유형의 부속품에 대한 테이블 (헬멧 테이블, 자전거

장갑 테이블 등)

2. 부품 테이블의 열 머리글에 사용해야 하는 필드를 식별합니다.

a. 부품 번호, 부품 이름, 자전거 번호 및 자전거 이름

b. 부품 번호 및 판매 수량

c. 부품 번호, 부품 이름, 수량, 색 및 자전거 식별자

3. 행과 열의 교차 부분에 있는 데이터의 이름은 무엇입니까?

a. 필드

b. 레코드

c. 변수

데이터가 테이블에 저장되는 방법 이해 5

데이터베이스 테이블을 행과 열이 포함된 Excel 스프레드시트로 생각합니다. 한 테이블의 데이터가 다른 테이블의 데이터를 참조해야 할 수 있습니다.

Page 23: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인 점수

/3

정답

1. Raj는 다음 테이블이 필요합니다.

a. 부품 테이블, 자전거 테이블 및 부속품 테이블

2. Raj는 부품 테이블의 열 머리글에 다음 필드를 사용해야 합니다.

c. 부품 번호, 부품 이름, 수량, 색 및 자전거 번호

3. 행과 열의 교차 부분에 있는 데이터의 이름은 다음과 같습니다.

a. 필드

필수 세부 정보 • 필드는 특정 유형의 데이터가 저장되는 레코드의 위치입니다.

• 열은 행 또는 레코드의 특성입니다.

• 행은 테이블 내의 레코드입니다.

• 테이블은 행과 열로 구성된 데이터베이스 개체입니다.

• 레코드는 테이블에서 하나의 행에 필드 그룹으로 표시되는 고유한 이름과 유형을 가진 필드 (요소)

모음인 데이터 구조입니다.

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/library/aa174501(SQL.80).aspx (영문)

• http://msdn.microsoft.com/en-us/library/ms189104.aspx (영문)

6 1장: 핵심 데이터베이스 개념 이해

Page 24: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 핵심 프로그래밍 이해 1.2

관계형 데이터베이스 개념 이해

시나리오: 아버지의 자전거 사업을 효율적으로 운영하기 위한 데이터베이스 디자인에서 Raj가

해야 할 다음 단계는 테이블 간의 가장 유용한 관계를 결정하는 것입니다. 한 테이블의 데이터를

사용하여 다른 테이블의 추가 데이터를 찾기 위해 검색을 수행하는 것이 중요하기 때문에 관계형

데이터베이스를 만들어야 한다는 것을 Raj는알고 있습니다. 자전거 매장의 요구를 최대한 충족하는

디자인을 찾는 것이 중요한 단계입니다. 현재 비즈니스 요구 사항을 검토하는 동안 자전거 부품의

공급자를 포함하기 위해 추가 테이블을 추가해야 한다는 것을 알게 되었습니다. 이 새 테이블의

경우 Raj는 공급자 테이블에 대한 외래 키를 포함하기 위해

부품 테이블을 업데이트해야 합니다.

1. 공급자 테이블과 부품 테이블 간의 관계는 무엇입니까?

a. 일대일

b. 일대다

c. 다대다

2. 자전거 테이블과 부품 테이블 간의 관계에 적합한 외래 키는 무엇입니까?

a. 부품 번호

b. 자전거 모델 번호

c. 부품 이름

3. 부속품 테이블에 제안되는 기본 키는 무엇입니까?

a. 부속품 번호

b. 부속품 이름

c. 부속품 모델

관계형 데이터베이스 개념 이해 7

기본 키는

테이블의 각

레코드에 고유한

값이어야 합니다.

Page 25: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인 점수

/3

정답

1. 공급자 테이블과 부품 테이블 간의 관계는 다음과 같습니다.

b. 일대다. 모든 공급자는 일대다 부품을 제공합니다.

2. 자전거 테이블과 부품 테이블 간의 관계에 적합한 외래 키는 다음과 같습니다.

a. 부품 번호. 각 자전거에는 여러 고유한 부품이 있습니다.

3. 부속품 테이블의 기본 키는 다음과 같습니다.

a. 부속품 번호. 대부분의 부속품은 이름과 모델이 같을 수 있습니다.

필수 세부 정보 • 대부분의 현대적 데이터베이스 관리 시스템은 데이터가 관계 (테이블) 로 구성되는 관계형 모델을

구현합니다.

• 일대일 관계는 기본 테이블에 있는 각 레코드의 기본 키 값이 관련된 테이블에 있는 한 레코드의

일치하는 필드에 있는 값에 해당하는 두 테이블 간의 연결입니다.

• 다대다 관계는 각 집합의 여러 매개 변수가 두 번째 집합의 다른 여러 매개 변수와 관련될 수 있는

두 매개 변수 집합 간의 복잡한 연결입니다.

• 부모/자식 관계는 부모가 자식보다 루트에서 한 단계 가까이 (즉, 한 수준 더 높이) 있는 트리 데이터

구조에서 노드 간의 관계입니다.

• 기본 키는 고유한 데이터 식별자입니다.

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/library/aa174501(SQL.80).aspx (영문)

• http://www.asp.net/sql-server/videos/designing-relational-database-tables (영문)

• http://msdn.microsoft.com/en-us/library/aa224764(SQL.80).aspx (영문)

8 1장: 핵심 데이터베이스 개념 이해

Page 26: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 핵심 프로그래밍 이해 1.3

DML (데이터 조작 언어) 이해

시나리오: Raj는 인도에 있는 아버지의 자전거 매장을 위한 자전거 데이터베이스를 설정했습니다. 다음 단계는 데이터베이스를

사용하여 수행해야 하는 작업을 아버지와 함께 배우는 것입니다. 이러한 작업을 사용자 요구 사항이라고 합니다. Raj의

아버지는 다음과 같은 초기 작업을 수행하기 위해 새 응용 프로그램이 필요합니다 (다른 요구 사항은 나중에 설명됨).

• 다양한 재고 보고서 만들기

• 판매 보고서 생성 (자전거 모델별, 가격별 등)

• 새 재고가 도착한 경우 시스템에 추가

• 필요에 따라 자전거 및 부품 비용 변경

• 자전거가 판매된 경우 데이터베이스에서 자전거 제거

1. 자전거가 판매되었으며 자전거 테이블에서 제거해야 한다는 것을 나타내기 위해 사용해야 하는 DML

(데이터 조작 언어) 명령은 무엇입니까?

a. DELETE FROM Cycle WHERE cycle id = T1234

b. REMOVE FROM Cycle WHERE cycle id = T1234

c. ERASE FROM Cycle WHERE cycle id = T1234

2. 빨간색 자전거의 현재 보유 수량을 보고하는 데 사용되는 명령은 무엇입니까?

a. SELECT cycle _ model WHERE cycle color = ‘red’

b. SELECT * FROM Cycle WHERE cycle color = ‘red’

c. FIND * FROM Cycle WHERE cycle color = ‘red’

3. 새 자전거를 데이터베이스의 자전거 테이블에 추가하는 방법은 무엇입니까?

a. INSERT INTO Cycle (C3425, ‘Rockrider, ‘red’, 9999.00)

b. ADD INTO Cycle VALUES (C3425, ‘Rockrider’, ‘red’, 9999.00)

c. INSERT INTO Cycle VALUES (C3425, ‘Rockrider’, ‘red’, 9999.00)

DML (데이터 조작 언어) 이해 9

실수로 테이블의

모든 행을 삭제할 수

있으므로 DELETE

명령을 사용할 때는

매우 주의해야 합니다.

테이블을 지우려는

경우가 아니면 WHERE

절을 사용합니다.

Page 27: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인 점수

/3

정답 1. 자전거가 판매되었으며 자전거 테이블에서 제거해야 한다는 것을 나타내는 데 사용되는 DML

(데이터 조작 언어) 명령은 다음과 같습니다.

a. DELETE FROM Cycle WHERE cycle number = T1234

2. 빨간색 자전거의 현재 보유 수량을 보고하는 데 사용되는 명령은 다음과 같습니다.

b. SELECT * FROM Cycle WHERE cycle color = ‘red’

3. 데이터베이스의 자전거 테이블에 새 자전거를 추가하는 데 사용되는 명령은 다음과 같습니다.

c. INSERT INTO Cycle VALUES (C3425, ‘Rockrider’, ‘red’, 9999.00)

필수 세부 정보 • SQL (구조적 쿼리 언어) 은 관계형 데이터베이스를 쿼리, 업데이트 및 관리하는 데 사용되는

관계형 데이터베이스 언어이며 데이터베이스 제품을 위한 사실상의 표준입니다.

• DML (데이터 조작 언어) 은 데이터를 삽입, 업데이트 및 삭제하고 데이터베이스를 쿼리하는 데

사용됩니다.

• DDL (데이터 정의 언어) 은 관계형 데이터베이스, 엔터티, 특성 및 기타 개체 (예: 보기) 를 작성,

수정 또는 삭제하는 데 사용됩니다.

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/library/ms191524.aspx (영문)

• http://msdn.microsoft.com/en-us/library/dd787894(BTS.10).aspx (영문)

• http://msdn.microsoft.com/en-us/rampup/ee832799.aspx (영문)

10 1장: 핵심 데이터베이스 개념 이해

Page 28: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 핵심 프로그래밍 이해 1.4

DDL (데이터 정의 언어) 이해

시나리오: Raj는 아버지의 자전거 매장을 자동화하는 과정을 훌륭하게 해내고 있습니다. Raj는 문서

작업량을 줄였고 아버지가 현재 재고를 유지 관리할 수 있도록 더 정확한 정보를 제공했습니다.

자동화로 인해 웹 사이트를 사용하여 자전거를 광고 및 판매하기로 결정했습니다. 다음 단계는 자전거

매장에 이 흥미로운 변화를 실현하는 것입니다.

Raj는 현재 데이터베이스 스키마를 변경해야 한다는 것을 바로 알게 되었습니다. 사용자가 인터넷에서 구입할 수 있게

하려면 자전거, 부속품 및 부품을 비롯한 모든 제품의 사진이 필요합니다.

1. 사진의 파일 이름을 저장하기 위해 자전거 테이블에 새 필드를 추가하는 데 사용할 수 있는 DDL 명령은 무엇입니까?

a. ALTER TABLE Cycle ADD photo file name CHAR (30) NULL

b. ADD photo file name TO TABLE Cycle

c. ALTER Cycle TABLE USING photo file name CHAR(30) NULL

2. 앞의 질문에 있는 예에서 새 자전거를 테이블에 추가할 때 NULL이라는 단어는

어떤 효과가 있습니까?

a. 사진의 파일 이름을 입력하도록 사용자에게 요구합니다.

b. 사진의 파일 이름을 입력하도록 사용자에게 요구하지 않습니다.

a. 사진의 파일 이름을 자동으로 입력합니다.

3. DML 명령 DELETE와 DDL 명령 DROP의 차이는 무엇입니까?

a. 동일한 작업을 수행하므로 차이가 없습니다.

b. DELETE는 테이블에서 모든 레코드 또는 레코드의 하위 집합만

제거하고 테이블을 제거하지는 않습니다.

c. DROP은 테이블에서 모든 레코드만 제거하고 테이블을 제거하지는

않습니다.

DDL(데이터 정의 언어) 이해 11

ALTER 명령을

사용하여 새 필드를

추가하거나 기존

필드의 형식을 변경할

수 있습니다. 예를 들면

CHAR(20)에서

VARCHAR(35)로

변경합니다.

Page 29: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인 점수

/3

정답

1. Raj는 다음을 사용하여 사진의 파일 이름을 보유하기 위한 새 필드를 자전거 테이블에 추가할

수 있습니다.

a. ALTER TABLE Cycle ADD photo file name CHAR (30) NULL

2. 테이블에 새 자전거를 추가할 때 NULL이라는 단어는 다음을 수행합니다.

b. 사진의 파일 이름을 입력하도록 사용자에게 요구하지 않습니다.

3. DML 명령 DELETE와 DDL 명령 DROP 간의 기본 차이는 다음과 같습니다.

b. DELETE는 테이블에서 모든 레코드 또는 레코드의 하위 집합만 제거하고 테이블을 제거하지는

않습니다.

필수 세부 정보

• 스키마는 DBMS가 제공한 언어로 되어 있는 DBMS (Database Management System) 의 데이터베이스에

대한 설명입니다.

• DDL (데이터 정의 언어) 은 엔터티, 특성, 보기 및 인덱스를 비롯한 데이터베이스 개체를 정의합니다.

• CREATE는 데이터베이스 또는 개체를 추가합니다.

• ALTER는 데이터베이스 또는 개체를 변경합니다.

• DROP은 데이터베이스 또는 개체를 제거합니다.

빠른 참조 도움말

• http://msdn.microsoft.com/ko-kr/library/ms175941.aspx

• http://support.microsoft.com/kb/180841

• http://msdn.microsoft.com/ko-kr/library/ms734677.aspx

12 1장: 핵심 데이터베이스 개념 이해

Page 30: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

2

데이터베이스 개체 만들기

이 장의 내용

■ 2.1 데이터 형식 선택

■ 2.2 테이블 및 테이블 생성 방법 이해

■ 2.3A T-SQL을 사용하여 보기 만들기

■ 2.3B 그래픽 디자이너를 사용하여 보기 만들기

■ 2.4 저장 프로시저 및 함수 만들기

Page 31: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는
Page 32: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터베이스 개체 만들기 2.1

데이터 형식 선택

시나리오: Yuhong Li의 아들인 Yan은 학교에서 프로그래밍 수업을 받고 있으며 수업을 위한 프로젝트를

선택하는 것과 관련된 조언을 Yuhong에게 부탁했습니다. Yuhong은 수년 동안 수집한 CD 컬렉션을 구성하는

데 도움이 되는 프로그램을 만들 것을 Yan에게 제안합니다.

Yan은 좋은 아이디어라고 생각했습니다. Yan은 어머니의 CD 컬렉션과 관련된 모든 데이터를 저장하기 위해

데이터베이스 테이블을 만들고 C# 또는 Visual Basic을 사용하여 테이블에서 정보를 검색, 추가 및 삭제하기

위한 사용자 인터페이스를 만들 수 있습니다.

테이블 필드를 정의하는 것이 매우 중요하고 각 필드에 대한 올바른 데이터 형식을 선택하는 것이

필요하다는 점을 Yan은 알고 있습니다.

1. CD 레이블 이름을 저장하기 위해 Yan이 사용해야 하는 데이터 형식은 무엇입니까?

a. char 또는 variable char

b. name

c. integer

2. 각 CD의 트랙 수를 저장하기 위해 Yan이 사용해야 하는 데이터 형식은

무엇입니까?

a. real number

b. integer

c. char

3. 노래의 길이를 초 단위의 총 시간으로 저장하기 위해 Yan이 사용해야 하는 데이터

형식은 무엇입니까?

a. byte

b. integer

c. 부울

데이터 형식 선택 15

성능 저하를

방지하기 위해

항상저장할

데이터와 일치하는

가장 작은 데이터

형식을 사용합니다.

Page 33: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인

점수

/3

정답

1. CD 레이블 이름을 저장하려면 Yan은 다음을 사용해야 합니다.

a. char 또는 variable char

2. 각 CD에 있는 트랙 수를 저장하려면 Yan은 다음을 사용해야 합니다.

b. integer. 노래의 소수 부분이 포함될 수 없으며 모든 앨범의 총 트랙 수와 같은 수학 계산에 값이

사용될 수 있습니다.

3. 노래 길이를 저장하려면 Yan은 다음을 사용해야 합니다.

b. integer. 길이는 초 단위의 총 시간으로 저장될 수 있고 필요한 경우 응용 프로그램에서 분과 초

단위로 다시 변경할 수 있습니다.

필수 세부 정보 • 데이터 형식은 집합의 가능한 값 범위, 값에서 수행할 수 있는 작업 및 값이 메모리에

저장되는 방법을 지정합니다.

• 정수 데이터 형식은 정수를 저장합니다.

• 부동 소수점 데이터 형식은 모든 실수를 저장합니다.

• 문자 데이터 형식은 수학 함수가 적용되지 않는 모든 숫자 또는 문자인 A-Z 또는 0-9를 저장합니다.

• 부울 데이터 형식은 1 또는 0 (true 또는 false) 을 저장합니다.

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/beginner/ff715351.aspx (영문)

• http://msdn.microsoft.com/en-us/library/aa258271(SQL.80).aspx (영문)

• http://msdn.microsoft.com/en-us/library/aa716185(VS.60).aspx (영문)

16 2장: 데이터베이스 개체 만들기

Page 34: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터베이스 개체 만들기 2.2

테이블 및 테이블 생성 방법 이해

시나리오: Yan은 어머니가 갖고 있던 모든 CD를 모았는데 생각보다 양이 많았습니다.

Yan은 데이터베이스 테이블에 필요한 데이터 필드와 각 데이터에 가장 적합한 데이터 형식을 식별했으므로

데이터베이스 테이블을 만들 준비가 되었습니다. Yan은 적절한 ANSI SQL 구문을 사용하여 테이블을 설정할

계획이며 시작하기 전에 세부 정보를 파악하려고 합니다.

1. 적절한 ANSI SQL 구문은 다음과 같은 규칙 집합을 말합니다.

a. 필드가 빈 값을 포함할 수 있는지 여부를 결정합니다.

b. 모든 데이터 필드의 크기를 결정합니다.

c. 문의 구조와 내용을 제어합니다.

2. 새 테이블을 추가하는 데 사용되는 SQL 명령은 무엇입니까?

a. CREATE TABLE table_name (column_name data type null/not null, column_name data type

null/not null 등)

b. ADD TABLE table_name (column_name data type null/not null, column_name data

type null/not null 등)

c. INSERT TABLE table_name (column_name data type null/not null, column_name

data type null/not null 등)

3. Yan이 수집한 정보에 기초하여 테이블의 데이터에 액세스하기 위해 고유

키에 사용할 수 있는 데이터 필드는 무엇입니까?

a. 아티스트 이름

b. CD 레이블 이름

c. 트랙 이름

테이블 및 테이블 생성 방법 이해 17

테이블의 키를 선택할 때 테이블 의 모든 레코드에서 고유한지 확인합니다.

Page 35: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인

점수

/3

정답

1. 적절한 ANSI SQL 구문은 다음과 같은 규칙 집합을 말합니다.

c. 문의 구조와 내용을 제어합니다.

2. 새 테이블을 추가하는 데 사용되는 SQL 명령은 다음과 같습니다.

a. CREATE TABLE table name (column name data type null/not null, column

_name data type null/not null 등)

3. 테이블의 데이터에 액세스하기 위해 Yan이 고유 키에 사용할 수 있는 데이터 필드는 다음과 같습니다.

b. CD 레이블 이름

필수 세부 정보 • ANSI SQL 구문은 문의 구조와 내용을 제어하는 문법 및 규칙입니다.

• 테이블은 일반적으로 항목 목록을 포함하는 데이터 구조입니다.

• 고유하며 하나의 레코드에서만 발견되는 데이터 파일의 레코드에 대한 식별자를 키라고 합니다.

사회 보장 번호를 직원 데이터베이스에서 키로 사용할 수 있습니다.

빠른 참조 도움말

• http://msdn.microsoft.com/ko-kr/library/ms365315.aspx

• http://msdn.microsoft.com/en-us/library/aa258255(SQL.80).aspx (영문)

• http://msdn.microsoft.com/en-us/library/aa977477(VS.71).aspx (영문)

18 2장: 데이터베이스 개체 만들기

Page 36: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터베이스 개체 만들기 2.3 A

T-SQL을 사용하여 보기 만들기

시나리오: Yan은 데이터베이스 관리 수업에서 보기에 대해 배우고 있습니다. 강사는 보기를 만드는 두 가지

접근 방법인 명령줄 언어 T-SQL (Transact-SQL) 과 그래픽 디자이너에 대해 설명했습니다.

Yan은 어머니의 CD 컬렉션을 위해 만드는 데이터베이스 프로젝트에 배운 내용을 적용하려고 합니다. Yan은

응용 프로그램에서 다음 요구 사항을 식별했고 T-SQL을 사용하여 보기를 만들 것입니다.

• 사전순으로 저장된 모든 CD를 봅니다.

• 특정 개수의 트랙이 있는 모든 CD를 보고합니다.

• 아티스트별로 CD 목록을 만듭니다.

• 모든 CD의 개수를 계산합니다.

1. 이 프로젝트에 가장 적합한 보기 및 T-SQL의 적용 방법은 무엇입니까?

a. 각 요청에 대한 정보가 있는 별개의 보기를 만듭니다.

b. 목록의 각 요구 사항에 대한 새 테이블을 만듭니다.

c. 추가 CD를 구입한 경우 기존 테이블에 데이터를 추가합니다.

2. 보기를 사용할 경우의 중요한 이점은 무엇입니까?

a. 사용자가 테이블의 데이터에 직접 액세스할 수 있습니다.

b. 응용 프로그램과 데이터베이스에 대한 저장소 요구 사항이 줄어듭니다.

c. 합계 데이터를 나타내는 데 사용됩니다.

3. 10개가 넘는 트랙이 있는 모든 CD에 대한 제목, 아티스트 및 연도를 포함하는

보기를 만드는 코드 세그먼트는 무엇입니까?

a. CREATE VIEW CD More than 10 AS SELECT CD Title, CD

Artist CD Year FROM CD Collection WHERE Tracks > 10

b. CREATE TABLE CD More than 10 AS SELECT CD Title, CD

ArtistCD Year FROM CD Collection WHERE Tracks > 10

c. CREATE VIEW AS CD More than 10 FROM CD Collection WHERE Tracks > 10

T-SQL을 사용하여 보기 만들기 19

보기를 사용하여 액세스를 제한합니다. 직원이 모든 직원을 포함하는 테이블에서 자신의 급여 정보만 볼 수 있도록보기를 만듭니다.

Page 37: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인

점수

/3

정답

1. 이 프로젝트에서 보기와 T-SQL을 적용하는 최선의 방법은 다음과 같습니다.

a. 각 요청에 대한 정보가 있는 별개의 보기를 만듭니다.

2. 보기를 사용할 경우의 중요한 이점은 다음과 같습니다.

c. 합계 데이터를 나타내는 데 사용할 수 있습니다.

3. 다음 코드는 10개가 넘는 트랙이 있는 모든 CD에 대한 제목, 아티스트 및 연도를 포함하는

보기를 만듭니다.

a. CREATE VIEW CD More than 10 AS SELECT CD Title, CD Artist, CD Year

FROM CD Collection WHERE Tracks > 10

필수 세부 정보

• 보기는 쿼리의 결과 집합에서 가상 테이블을 만드는 저장된 쿼리입니다.

• 쿼리는 특정 데이터를 추출/선택하기 위한 특정 명령 집합입니다.

• 그래픽 디자이너는 개체 지향의 끌어서 놓기 방식인 Microsoft Access와 같은 응용 프로그램입니다.

• T-SQL (Transact-SQL) 은 ANSI SQL에 정의된 기능 외의 추가 기능이 있는 정교한

쿼리 언어입니다.

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/library/aa260642(v=SQL.80).aspx(영문)

• http://msdn.microsoft.com/ko-kr/library/bb510741.aspx

• http://msdn.microsoft.com/en-us/data/ff687144.aspx(영문)

20 2장: 데이터베이스 개체 만들기

Page 38: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터베이스 개체 만들기 2.3 B

그래픽 디자이너를 사용하여 보기 만들기

시나리오: Yan이 T-SQL을 사용하여 만든 보기는 어머니에게 매우 유용했습니다. 어머니는 다양한

방법으로 정렬할 수 있는 목록을 사용하여 컬렉션에 있는 CD를 쉽게 식별할 수 있습니다. 이 방법은

거실 바닥에 CD를 쌓아놓고 정리하는 것보다 훨씬 쉽습니다.

이제 Yan은 T-SQL을 사용하여 보기를 만들었으므로 그래픽 디자이너를 사용하여 동일한 쿼리를 만들려고

합니다. 두 접근 방법을 모두 연습하면 인증 시험에 분명 도움이 될 것입니다.

1. JetSQL과 같은 그래픽 디자이너는 T-SQL과 어떻게 다릅니까?

a. 그래픽 디자이너는 명령줄 인터페이스를 사용합니다.

b. 그래픽 디자이너는 개체 지향입니다.

c. 그래픽 디자이너는 SQL Server 데이터베이스에만 사용됩니다.

2. Access에서 JetSQL이 사용될 경우 보기를 만드는 올바른 순서의 단계는 무엇입니까?

a. 쿼리 만들기, 소스 테이블 및/또는 쿼리 식별, 필드 선택, 조건 설정, 실행 및 표시

b. 쿼리 만들기, 데이터 필드 식별, 테이블 선택, 조건 설정, 실행 및 표시

b. 쿼리 만들기, 조건 식별, 테이블 선택, 필드 선택, 실행 및 표시

3. 사전순으로 모든 CD를 검색하기 위해 지정해야 하는 추가 조건은 무엇입니까?

a. ORDER BY

b. WHERE

c. SELECT

그래픽 디자이너를 사용하여 보기 만들기 21

Microsoft

Access 와 같은

그래픽 디자이너를

사용하면 쿼리는

테이블 및 이전

쿼리에서 필드를

선택할 수

있습니다.

Page 39: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인

점수

/3

정답

1. JetSQL과 같은 그래픽 디자이너는 다음과 같은 점에서 T-SQL과 다릅니다.

b. 그래픽 디자이너는 개체 지향입니다.

2. Access에서 보기를 만드는 올바른 순서의 단계는 다음과 같습니다.

a. 쿼리 만들기, 소스 테이블 및/또는 쿼리 식별, 필드 선택, 조건 설정, 실행 및 표시

3. 사전순으로 모든 CD를 검색하기 위한 추가 조건은 다음과 같습니다.

a. ORDER BY

필수 세부 정보

• 보기는 해당 쿼리의 결과 집합에 대한 가상 테이블을 만드는 저장된 쿼리입니다.

• 쿼리는 특정 데이터를 추출하기 위한 특정 명령 집합입니다.

• 그래픽 디자이너에는 개체 지향이며 끌어서 놓기 방식인 Microsoft Access와 같은 응용

프로그램이 포함됩니다.

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/library/aa196232(SQL.80).aspx(영문)

• http://msdn.microsoft.com/en-us/library/aa140011(office.10).aspx(영문)

• http://msdn.microsoft.com/ko-kr/library/ms365414.aspx

22 2장: 데이터베이스 개체 만들기

Page 40: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터베이스 개체 만들기 2.4

저장 프로시저 및 함수 만들기

시나리오: 어머니를 위한 CD 컬렉션 데이터베이스를 만드는 과정을 끝낸 후에 Yan은 이 유형의 구조를

여러 다른 재고 데이터베이스에 사용할 수 있다는 것을 알게 되었습니다.

Yan은 미리 정의된 SQL 함수에서 몇 가지 공통 기능을 사용할 수 있다는 것을 발견했습니다. 즉시 사용

가능한 기본 제공 함수를 사용하여 Yan은 생산성을 향상시키고 다른 필요한 사용자 정의 함수를 만드는

데 시간을 할애할 수 있습니다. 또한 Yan은 집계 함수와 스칼라 함수를 서로 구별하는 방법을 배웠습니다.

1. CD 컬렉션 데이터베이스에 있는 총 CD 수를 계산하기 위해 Yan이 사용할 수 있는 집계 함수는

무엇입니까?

a. SUM(열 이름)

b. COUNT(열 이름)

c. AVG(열 이름)

2. Yan은 스칼라 함수가 작동하는 방법을 잘 알지 못합니다. 다음 중에서 스칼라 함수는 무엇입니까?

a. FIRST(열 이름)는 지정한 열에 있는 첫 번째 필드를 반환합니다.

b. SUM(열 이름)은 열에 있는 모든 값의 합계를 반환합니다.

c. UCASE(열 이름)는 필드 값을 모두 대문자로 반환합니다.

3. 저장 프로시저를 호출하는 방법은 무엇입니까?

a. RUN(프로시저 이름, 입력 값)

b. EXECUTE(프로시저 이름, 입력 값)

c. PERFORM(프로시저 이름, 입력 값)

저장 프로시저 및 함수 만들기 23

데이터 무결성을

적용하려면 저장

프로시저에 대한

사용 권한을 부여하되

기본 테이블에 대한

액세스를 제한합니다.

Page 41: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인

점수

/3

정답

1. CD 컬렉션 데이터베이스에 있는 총 CD 수를 계산하기 위해 Yan이 사용할 수 있는 집계 함수는

다음과 같습니다.

b. COUNT(열 이름)

2. 다음 예제는 스칼라 함수입니다.

c. UCASE(열 이름)는 필드 값을 모두 대문자로 반환합니다.

3. 저장 프로시저는 다음을 사용하여 호출합니다.

b. EXECUTE(프로시저 이름, 입력 값)

필수 세부 정보

• 함수는 SQL 명령 집합으로 기록된 단일 값을 반환하는 한 단어의 명령입니다.

• 집계 함수는 열의 값에서 계산된 단일 값을 반환합니다.

• 스칼라 함수는 단일 필드의 입력 값에 기초한 단일 값을 반환합니다.

• 사용자 정의 함수는 매개 변수를 받아들이며 값 또는 테이블을 반환하는 사용자 작성 SQL

코드의 축소된 세그먼트입니다.

• 저장 프로시저는 데이터베이스에 저장된 미리 컴파일된 SQL 문 그룹입니다.

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/library/aa258901(SQL.80).aspx(영문)

• http://msdn.microsoft.com/ko-kr/library/ms177499.aspx

• http://msdn.microsoft.com/en-us/library/aa214363(SQL.80).aspx(영문)

24 2장: 데이터베이스 개체 만들기

Page 42: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

3 데이터조작

이 장의 내용

■ 3.1A 단순 쿼리가 있는 SELECT를 사용하여 데이터 선택

■ 3.1B 복잡한 쿼리가 있는 SELECT를 사용하여 데이터 선택

■ 3.2 데이터 삽입

■ 3.3 데이터 업데이트

■ 3.4 데이터 삭제

Page 43: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

26 CHAP TE R 2: Creatin g Dat abase O bje c t s

Page 44: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터 조작 3.1 A

단순 쿼리가 있는 SELECT를 사용하여 데이터 선택

시나리오: Katarina Larsson은 카누, 하이킹, 수영, 자전거 등과 같은 다양한 운동을 항상 즐겨왔습니다. 따라서

Katarina는 Adventure Works의 정보 시스템 부서에 인턴으로 채용되었을 때 크게 기뻐했습니다. Katarina는

대학에서 데이터베이스 관리를 공부하는 중이므로 이 인턴쉽은 캐나다 Nova Scotia에서 활동적인 모험을

경험할 수 있는 귀중한 기회입니다.

새로운 업무에는 섬에서 주민과 관광객이 즐기는 레크리에이션 활동의 최신 동향에 대한 데이터를 분석하기 위해 SQL 쿼리를 작성하는 일이 포함됩니다. Katarina는 다음 활동에 대한 보고서를 만들 준비가 되어 있습니다.

• 하이킹

• 고래 감상

• 카누

• 캠핑

• 골프

1. 예약 시스템에 대해 쿼리를 실행할 때 재방문객을 한 번만 계산하도록 하는 명령은 무엇입니까?

a. SELECT ONLY

b. SELECT DISTINCT

c. SELECT UNIQUE

2. 일부 보고서의 경우 결과를 사전순으로 표시하는 것이 유용합니다.

사전순 목록을 생성하는 명령은 무엇입니까?

a. ORDER BY column _ name(ASC 또는 DESC)

b. SORT BY column _ name(ASC 또는 DESC)

c. ARRANGE BY column _ name(ASC 또는 DESC)

3. 진리표는 논리 연산자의 결과를 시각화하는 데 도움이 됩니다.

두 개의 필드를 비교할 경우 항상 TRUE가 되는 조건은 무엇입니까?

a. AND 연산자 및 하나 뿐인 필드 = TRUE

b. OR 연산자 및 하나 이상의 필드 = TRUE

c. AND 연산자 및 하나 이상의 필드 = FALSE

단순 쿼리가 있는 SELECT를 사용하여 데이터 선택 27

SELECT 문은 하나 이상의 테이블 또는

보기에서 t 데이터를

검색할 수 있습니다.

결과는 result _

set이라는 결과 테이블에

저장됩니다.

Page 45: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인

점수

/3

정답

1. 재방문객이 한 번만 계산되도록 하는 명령은 다음과 같습니다.

b. SELECT DISTINCT

2. 사전순 목록을 반환하는 명령은 다음과 같습니다.

a. ORDER BY column _ name(ASC 또는 DESC)

3. 항상 TRUE가 되는 조건은 다음과 같습니다.

b. OR 연산자 및 하나 이상의 필드 = TRUE

필수 세부 정보

• SELECT는 데이터베이스에서 데이터를 선택하기 위해 가장 많이 사용되는 SQL 명령입니다.

• DISTINCT는 고유한 값만 반환합니다.

• WHERE는 검색할 행을 지정합니다.

• ORDER BY는 행을 반환할 순서를 지정합니다.

• 부울 논리 연산자

• AND는 첫 번째 조건 및 두 번째 조건이 모두 true인 경우 레코드를 표시합니다.

• OR은 첫 번째 조건 또는 두 번째 조건이 true인 경우 레코드를 표시합니다.

• 진리표는 부울 논리 연산자의 관계를 보여 줍니다.

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/library/aa393276(VS.85).aspx(영문)

• http://msdn.microsoft.com/en-us/library/aa259187(SQL.80).aspx(영문)

• http://msdn.microsoft.com/en-us/library/ms691985(VS.85).aspx(영문)

28 3장: 데이터 조작

Page 46: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터 조작 3.1 B

복잡한 쿼리가 있는 SELECT를 사용하여 데이터 선택

시나리오: Nova Scotia는 아름다운 곳이며 Katrina는 자유 시간에 다양한 야외 활동을 즐깁니다. 도전적이고

많은 것을 배울 수 있다는 점에서 Katrina는 Adventure Works에서 새로 시작한 일을 좋아합니다.

인턴쉽이 3주째 접어들면서 Katrina는 복잡한 쿼리를 레크리에이션 동향 데이터베이스에 적용하여 매우

세부적인 보고서를 얻을 수 있다는 것을 알게 되었습니다. Katrina는 약간의 시간을 들여 하위

쿼리(조건자, 스칼라 및 테이블), UNIONS, JOINS 및 INTERSECTS에 대한 개념을 복습하기로 결정했습니다.

1. 조건자 하위 쿼리를 가장 잘 설명한 문장은 무엇입니까?

a. 단일 값을 반환하며 CASE 식, WHERE 절, ORDER BY 및 SELECT에서 사용할 수 있습니다.

b. FROM 절에 중첩된 쿼리에 기초하여 테이블을 반환합니다.

c. AND, OR, LIKE, BETWEEN, AS 및 TOP과 함께 WHERE 절에서 확장된 논리 구문을 사용합니다.

2. UNION과 JOIN의 차이는 무엇입니까?

a. UNION은 동일한 수의 열과 데이터 형식이 있는 경우 두 SQL 쿼리의 결과를 결합하고

JOIN은 하나 이상의 일치하는 열이 있는 경우 행을 반환합니다.

b. UNION은 하나 이상의 일치하는 열이 있는 경우 두 SQL 쿼리의 결과를 결합하고

JOIN은 동일한 수의 열과 데이터 형식이 있는 경우 행을 반환합니다.

c. UNION은 두 테이블에 표시되는 행만 반환하고 JOIN은 하나 이상의

일치하는 열이 있는 경우 행을 반환합니다.

3. INTERSECT 쿼리를 사용해야 하는 경우는 언제입니까?

a. 일치하는 항목이 없는 경우에도 왼쪽 테이블에서 모든 행을 찾으려는 경우

b. 부울 OR과 비슷하게 두 테이블 모두에 표시되는 모든 행을 반환하려는 경우

c. 부울 AND와 비슷하게 두 테이블 모두에 표시되는 행만 반환하려는 경우

복잡한 쿼리가 있는 SELECT를 사용하여 데이터 선택 29

UNION 쿼리를

사용할 경우 UNION

ALL을 지정하지 않으면 중복된 항목은

자동으로 제거됩니다.

Page 47: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인

점수

/3

정답

1. 조건자 하위 쿼리는 다음과 같습니다.

c. AND, OR, LIKE, BETWEEN, AS 및 TOP과 함께 WHERE 절에서 확장된 논리 구문을 사용합니다.

2. UNION과 JOIN의 차이는 다음과 같습니다.

a. UNION은 동일한 수의 열과 데이터 형식이 있는 경우 두 SQL 쿼리의 결과를 결합하고 JOIN은 하나

이상의 일치하는 열이 있는 경우 행을 반환합니다.

3. INTERSECT 쿼리는 다음 경우에 사용됩니다.

c. 부울 AND와 비슷하게 두 테이블 모두에 표시되는 행만 반환하려는 경우

필수 세부 정보

• UNION은 둘 이상의 SELECT 문을 OR 함수로 결합합니다.

• JOIN은 둘 이상의 테이블에서 데이터를 쿼리하는 데 사용됩니다.

• 하위 쿼리는 또 다른 쿼리 안에 중첩됩니다.

• INTERSECT는 둘 이상의 SELECT 문을 AND 함수로 결합합니다.

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/library/aa393276(VS.85).aspx(영문)

• http://msdn.microsoft.com/en-us/library/aa259187(SQL.80).aspx(영문)

• http://msdn.microsoft.com/ko-kr/library/ms190659.aspx

30 3장: 데이터 조작

Page 48: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터 조작 3.2

데이터 삽입

시나리오: Katarina는 Adventure Works에서의 보고 프로젝트를 통해 데이터베이스 레이아웃을 더 잘 이해하게 되었습니다.

팀의 데이터베이스 관리자는 Katarina에게 새로운 일을 맡겼습니다. Katarina는 데이터를 데이터베이스에서 삽입,

업데이트 및 삭제하기 위해 프로그래머가 사용할 수 있는 SQL 저장 프로시저를 작성해야 합니다.

Adventure Works는 Nova Scotia의 레크리에이션 활동 선호도에 대한 새로운 데이터를 관광객으로부터 많이 수집했습니다.

Katarina의 첫 번째 작업은 이 데이터를 저장하기 위해 새 행을 데이터베이스에 삽입하는 것입니다. Katarina는 이 중요한

작업을 시도하기 전에 데이터를 정확하고 효율적으로 데이터베이스에 삽입하는 방법을 기억해 내려고 했습니다.

1. INSERT SQL을 설계할 때 특정 열에 대한 데이터가 없으면 어떻게 됩니까?

a. INSERT 문은 구문 오류를 반환합니다.

b. INSERT 문은 기본값을 열에 사용합니다.

c. INSERT 문은 NULL 값을 열에 삽입합니다.

2. 다른 테이블의 행을 프로그래머가 복사할 수 있도록 Katarina가 INSERT를 설정할 수 있는 방법은 무엇입니까?

a. SELECT . . . FROM 절과 함께 INSERT INTO를 사용할 수 있습니다.

b. INSERT 명령을 사용하여 이 작업을 수행할 수 없으므로 JOIN을

사용해야 합니다.

c. 행 값 생성자를 사용할 수 있습니다.

3. 여러 행을 한 번에 삽입하기 위한 올바른 구문은 무엇입니까?

a. INSERT INTO table (column1, val1a), (column2, val2a);

b. INSERT (column1, column2) VALUES (val1a, val1b), (val2a, val2b)INTO table;

c. INSERT INTO table (column1, column2) VALUES (val1a, val1b), (val2a, val2b);

데이터 삽입 31

새 행을 삽입할 때 각 열의 기본값

에 주의합니다. 새 데이터가 지정되지 않은 경우 기본값이

사용됩니다.

Page 49: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인

점수

/3

정답

1. 열에 대한 데이터가 없는 경우 다음과 같습니다.

b. INSERT 문은 기본값을 열에 사용합니다.

2. 다른 테이블의 행을 프로그래머가 복사할 수 있도록 INSERT를 설정하려면 다음 작업을 수행합니다.

a. SELECT . . . FROM 절과 함께 INSERT INTO를 사용합니다.

3. 여러 행을 한 번에 삽입하기 위한 올바른 구문은 다음과 같습니다.

c. INSERT INTO table (column1, column2) VALUES (val1a, val1b), (val2a, val2b);

필수 세부 정보

• INSERT INTO 문은 테이블에 새 행을 삽입하는 데 사용됩니다.

• SELECT가 있는 INSERT INTO 문은 VALUES 절 대신에 sub-SELECT가 사용될 경우 테이블에서 새 행을

삽입하는 데 사용됩니다.

빠른 참조 도움말

• http://msdn.microsoft.com/ko-kr/library/ms365309.aspx

• http://msdn.microsoft.com/ko-kr/library/ms188263.aspx

32 3장: 데이터 조작

Page 50: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터 조작 3.3

데이터 업데이트

시나리오: 레크리에이션 활동에 대한 Adventure Works 데이터베이스에서 데이터를 추가하고 보고서를 만드는 광범위한

작업으로 인해 Katarina는 회사의 데이터베이스 구성을 더 잘 이해하게 되었습니다.

팀의 데이터베이스 관리자는 Katarina의 성과에 만족했으며 그녀에게 새 일을 맡겼습니다. Katarina는 데이터베이스에서

데이터를 삽입, 업데이트 및 삭제하기 위해 개발자가 사용하게 될 SQL 저장 프로시저를 작성해야 합니다.

1. 개발자는 8%에서 10%로 증가한 지방 부가가치세를 반영하기 위해 데이터베이스의 모든 레코드를

업데이트하려고 합니다. 다음 중 올바른 구문은 무엇입니까?

a. UPDATE RENTALS SET value _ added _ tax = .10;

b. SET sales _ tax _ rate = .10 IN RENTALS;

c. UPDATE sales _ tax _ rate = .10 IN RENTALS;

2. Katarina는 조건이 true일 경우 데이터를 업데이트하고 조건이 false일 경우 대체 업데이트를

수행하려고 합니다. 다음 중 가장 적합한 방법은 무엇입니까?

a. CASE 문

b. LIKE 문

c. IF/THEN/ELSE 문

3. 개발자 중 한 명은 한 테이블에서 다른 테이블의 데이터를 업데이트해야 하는

경우가 종종 있다고 언급했습니다. 이 유형의 업데이트에 맞는 올바른 구문은

무엇입니까?

a. UPDATE SET kayak = RENTALS.kayak + EQUIPMENT.kayak FROM RENTALS, EQUIPMENT;

b. UPDATE RENTALS SET RENTALS.kayak + EQUIPMENT.kayak;

c. UPDATE RENTALS SET kayak = RENTALS.kayak + EQUIPMENT.kayak FROM RENTALS, EQUIPMENT;

데이터 업데이트 33

CASE 문을 사용

할 경우 ELSE 문

(NULL 반환) 을

생략할 수 있습니다.

Page 51: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인

점수

/3

정답

1. 8%에서 10%로 증가한 지방 부가가치세를 반영하도록 데이터베이스에서 모든 레코드를

업데이트하려면 개발자는 다음을 사용해야 합니다.

a. UPDATE RENTALS SET value _ added _ tax = .10

2. Katarina는 다음을 사용하여 조건이 true인 경우 데이터를 업데이트하고 조건이 false인 경우 대체

업데이트를 수행할 수 있습니다.

a. CASE 문

3. 한 테이블에서 다른 테이블의 데이터를 업데이트하려면 개발자는 다음을 사용해야 합니다.

c. UPDATE RENTALS SET kayak = RENTALS.kayak + EQUIPMENT.kayak FROM RENTALS,

EQUIPMENT

필수 세부 정보

• UPDATE는 테이블에서 기존 레코드를 업데이트하는 데 사용됩니다.

• UPDATE 문의 WHERE 절은 업데이트할 행을 지정합니다.

• CASE는 when-then-else 기능(이 조건 충족 시(WHEN) 이 작업 수행(THEN))을 만듭니다.

• case 식의 값은 true인 첫 번째 WHEN 절의 값입니다.

true인 항목이 없으면 결과는 ELSE입니다.

빠른 참조 도움말

• http://msdn.microsoft.com/ko-kr/library/ms189074.aspx

• http://msdn.microsoft.com/en-us/library/aa275660(SQL.80).aspx(영문)

34 3장: 데이터 조작

Page 52: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터 조작 3.4

데이터 삭제

시나리오: Katarina는 최근 몇 가지 업무에서 Adventure Works 데이터베이스에 대해 많은 것을 알게 되었고

데이터베이스에서 데이터를 삽입, 업데이트 및 삭제하기 위해 프로그래머가 사용할 수 있는 SQL 저장

프로시저를 작성하는 업무를 완료할 준비가 되었습니다.

이 업무에서 Katarina가 수행할 마지막 작업은 SQL을 사용하여 데이터베이스의 기존 데이터를 삭제하는

것입니다. 하나 또는 여러 개의 테이블에서 데이터를 삭제하는 것을 프로시저에서 허용해야 하고 이러한

트랜잭션은 데이터 및 참조 무결성을 보장해야 합니다.

1. WHERE 문이 DELETE 문에 포함되지 않은 경우 어떻게 됩니까?

a. 전체 테이블이 삭제됩니다.

b. 테이블의 데이터가 삭제됩니다.

c. 사용자에게 구문 오류가 표시됩니다.

2. 데이터베이스에서 레코드를 업데이트/삭제/추가할 때 트랜잭션이 유용한 이유는 무엇입니까?

a. 데이터 무결성 오류를 방지하기 위해 여러 문을 그룹화할 수 있도록 허용합니다.

b. 테이블의 레코드에 대한 변경 수를 계산합니다.

c. 한 번에 하나의 문만 실행하도록 업데이트를 제한합니다.

3. 프로그래머가 데이터베이스의 레코드를 변경할 때 데이터 무결성 규칙을

적용할 수 있는 방법은 무엇입니까?

a. 트랜잭션의 모든 문이 성공적으로 완료된 경우 커밋 문을 실행합니다.

b. 트랜잭션의 모든 문이 성공적으로 완료된 경우 롤백 문을 실행합니다.

c. 트랜잭션 내의 한 문에서 오류가 발생한 경우 커밋 문을 실행하고

계속해서 다음 문을 진행합니다.

데이터 삭제 35

데이터베이스를

업데이트할 때

데이터 무결성을

적용하려면 커밋 문을

사용하여 트랜잭션의

문을 그룹화합니다.

Page 53: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인

점수

/3

정답 1. DELET 문에 WHERE 문을 포함하지 않을 경우 다음과 같습니다.

b. 테이블의 데이터가 삭제됩니다.

2. 데이터베이스에서 레코드를 업데이트/삭제/추가할 때 트랜잭션이 유용한 이유는 다음과 같습니다.

a. 데이터 무결성 오류를 방지하기 위해 여러 문을 그룹화할 수 있도록 허용합니다.

3. 프로그래머는 데이터베이스의 레코드를 변경할 때 다음과 같은 방법으로 데이터 무결성을 적용할 수

있습니다.

a. 트랜잭션의 모든 문이 성공적으로 완료된 경우 커밋 문을 실행합니다.

필수 세부 정보

• DELETE FROM은 테이블의 행을 삭제합니다.

• TRANSACTIONS은 단일 단위로 그룹화된 둘 이상의 문 집합입니다.

• ROLLBACK은 변경 사항을 되돌립니다.

• 단일 트랜잭션 내의 모든 문이 올바른 경우 COMMIT 명령은 데이터베이스에 대한 변경 사항을

기록합니다.

빠른 참조 도움말

• http://msdn.microsoft.com/ko-kr/library/ms233823(VS.80).aspx

• http://msdn.microsoft.com/ko-kr/library/ms233823.aspx

• http://msdn.microsoft.com/en-us/library/aa213068(v=SQL.80).aspx(영문)

36 3장: 데이터 조작

Page 54: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

4

데이터 저장소 이해

이 장의 내용

■ 4.1 정규화 이해

■ 4.2 기본 키, 외래 키 및 복합 키 이해

■ 4.3 인덱스 이해

Page 55: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

38 CHAP TE R 4: Un ders tandin g Data Storage

Page 56: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터 저장소 이해 4.1

정규화 이해

시나리오: Natasha A. Desai는 오하이오 주립 대학의 학생이며 기술 전문가 협회인 Epsilon Pi Tau의

회원입니다. Epsilon Pi Tau 협회는 동창생들로부터 후원금을 모금하는 캠페인을 수행하는 중입니다.

현재 모든 레코드는 교내의 Epsilon Pi Tau 사무실에 있는 문서 캐비닛에 보관됩니다. Natasha는 최근에

데이터베이스 디자인 수업을 들었으므로 동창생 정보를 디지털 방식으로 저장하고 자동화된 우편을

생성하기 위해 데이터베이스를 만드는 업무를 맡았습니다.

첫 번째 단계는 다음을 포함하는 데이터 요구 사항을 수집하는 것이었습니다.

• 전체 이름 및 결혼 전

이름(해당되는 경우)

• 주소, 시/도 및 우편 번호

• 전자 메일 주소(전자 메일과

우편 중에서 선호되는 것)

• 졸업 연도

• 취득한 학위

• 전년도 기부금

Natasha는 Microsoft Access에서 데이터베이스를 만들려고 했지만 정보가 정규화된 폼이 아니라는 것을 알게

되었습니다. 데이터베이스 디자인을 정규화하는 데 도움이 되도록 다음 질문에 대답하십시오.

1. 제1 정규형의 목표는 무엇입니까?

a. 중복된 정보의 포함을 최소화합니다.

b. 기본 및 외래 키를 식별합니다.

c. 기본 키에 종속되지 않은 열을 제거합니다.

2. 위에 나열된 요구 사항에 기초하여 제2 정규형에 데이터베이스를 만들기

위해 제거해야 하는 데이터의 하위 집합은 무엇입니까?

a. 시/도

b. 졸업 연도

c. 전년도 기부금

3. 제2 및 제3 정규형을 적용할 경우의 이점이 아닌 것은 무엇입니까?

a. 저장소 요구 사항이 줄어듭니다.

b. 간단하게 쿼리 및 업데이트를 관리합니다.

c. 쉽게 검색할 수 있도록 데이터가 인덱싱됩니다.

정규화 이해 39

기본 테이블에만 우편 번호를 저장

하고 시/도 및 우편 번호에 대한 별개의 테이블을 만들어 주소 데이터베이스를 단순화할 수

있습니다.

Page 57: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

/3

확인

점수

정답

1. 제1 정규형의 목표는 다음과 같습니다.

a. 중복된 정보의 포함을 최소화합니다.

2. 제2 정규형에서 데이터베이스를 만들기 위해 제거할 데이터의 하위 집합은 다음과 같습니다.

a. 시/도

3. 제2 및 제3 정규형을 적용할 경우의 이점에서 다음은 제외됩니다.

c. 쉽게 검색할 수 있도록 데이터가 인덱싱됩니다.

필수 세부 정보

• 정규화에는 중복된 정보의 포함을 최소화하기 위해 관계형 데이터베이스에 일련의 기술을 적용하는

것이 포함됩니다.

• 정규형은 중복과 불일치를 방지하고 효율적인 유지 관리, 저장 및 업데이트를 증진하기 위해 정보를

구조화(구성)한 결과입니다.

• 제1 정규형(1NF)은 데이터베이스에 대한 몇 가지 기본 규칙을 설정하여 동일한 테이블에서 중복된

열을 제거합니다.

• 제2 정규형(2NF) = 1NF + 테이블의 여러 행에 적용되는 데이터의 하위 집합을 제거하고 별개의

테이블에 배치

• 제3 정규형(3NF) = 2NF + 기본 키에 종속되지 않은 열 제거

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/library/aa200276(office.11).aspx(영문)

• http://msdn.microsoft.com/ko-kr/library/aa139981(office.10).aspx

40 4장: 데이터 저장소 이해

Page 58: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터 저장소 이해 4.2

기본 키, 외래 키 및 복합 키 이해

시나리오: Epsilon Pi Tau 동창회 데이터베이스는 순조롭게 진행되고 있습니다. Natasha는 저장소 요구 사항을

줄이고 쿼리 및 업데이트 프로시저를 단순화하기 위해 정규화의 개념을 적용했습니다. 데이터베이스를 제3

정규형에 배치한 결과로 네 개의 개별 테이블인 인구 통계, 우편 번호, 학위 및 기부금 테이블이 생성되었습니다.

다음 단계는 각 테이블에 대한 기본, 외래 및 복합 키를 만드는 것입니다. 이 단계에서는 높은 수준의 데이터

무결성과 정보의 일관성 및 유용성을 보장합니다.

1. 인구 통계 테이블에 가장 적합한 기본 키는 무엇입니까?

a. 성

b. 동창회 ID(시스템에 의해 자동으로 생성됨)

c. 성과 이름

2. 다음 중 외래 키의 예는 무엇입니까?

a. 우편 번호

b. 졸업 연도

c. 성

3. 기본 키의 규칙이 아닌 것은 무엇입니까?

a. 고유해야 합니다.

b. 숫자여야 합니다.

c. NULL이 아닌 값을 포함해야 합니다.

기본 키, 외래 키 및 복합 키 이해 41

세 가지 유형의 데이터 무결성이

있는데, 엔터티는 기본 키에 초점을 두고 참조는 외래 키에 초점을 두며 도메인은 값을 선언해야 한다는

것을 지정합니다.

Page 59: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

/3

확인

점수

정답 1. 인구 통계 테이블에 가장 적합한 기본 키는 무엇입니까?

b. 동창회 ID(시스템에 의해 자동으로 생성됨)

2. 다음 중 외래 키의 예는 무엇입니까?

a. 우편 번호

3. 기본 키의 규칙이 아닌 것은 무엇입니까?

b. 숫자여야 합니다.

필수 세부 정보

• 기본 키는 특정 행의 고유 식별자로 사용되고 데이터베이스 내의 관계를 고유하게 정의합니다.

• 외래 키는 다른 테이블의 기본 키를 참조합니다.

• 데이터 무결성은 데이터베이스 전체에서의 데이터 일관성, 정확성 및 유용성을 보장합니다.

빠른 참조 도움말

• http://msdn.microsoft.com/ko-kr/library/ms191236.aspx

• http://msdn.microsoft.com/ko-kr/library/ms175464.aspx

42 4장: 데이터 저장소 이해

Page 60: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터 저장소 이해 4.3

인덱스 이해

시나리오: Natasha는 Epsilon Pi Tau 동창회 데이터베이스의 디자인 및 설정을 거의 끝냈습니다. 이제 협회

임원이 다양한 이벤트와 판촉을 계획하거나 회원에게 연락할 때 데이터를 검색하는 데 도움이 되도록

인덱스가 필요한지 여부를 결정해야 합니다.

인덱스의 목표와 이점을 간략하게 복습하면 인덱스가 데이터베이스에 중요한지 여부와 인덱스를 만들기

위해 시간을 들일 가치가 있는지 여부를 확인하는 데 도움이 될 것입니다.

1. 인구 통계 테이블의 기본 키가 시스템에서 정의된 숫자이므로 적절한 클러스터형 인덱스는 무엇에

기반을 두어야 합니까?

a. 성

b. 성별

c. 이름

2. 비클러스터형 인덱스의 특징은 무엇입니까?

a. 실제 데이터 페이지나 레코드를 포함합니다.

b. 데이터에 대한 키워드와 포인터가 있습니다.

c. 외래 키를 포함합니다.

3. 인덱스를 사용한 결과가 아닌 것은 무엇입니까?

a. 데이터 검색 속도가 빨라집니다.

b. 저장소 요구 사항이 증가합니다.

c. 레코드 기록 속도가 빨라집니다.

인덱스 이해 43

일반 규칙: 데이터베이스에 많은 수의 레코드가 포함된 경우 인덱스를 추가하는 데 드는 시간과 노력보다 인덱스를 추가할 경우의 이점이 더큽니다.

Page 61: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

/3

확인

점수

정답

1. 이 테이블을 위한 적절한 클러스터형 인덱스는 다음에 기초해야 합니다.

a. 성

2. 비클러스터형 인덱스는 다음과 같습니다.

b. 데이터에 대한 키워드와 포인터가 있습니다.

3. 인덱스를 사용해도 다음 결과가 발생하지는 않습니다.

c. 레코드 기록 속도가 빨라집니다.

필수 세부 정보

• 인덱스는 디스크에 있는 파일 및 레코드나 데이터베이스에 있는 레코드 키와 같은 더 포괄적인 정보의

위치를 가리키는 키워드 및 연결된 데이터를 포함합니다.

• 데이터베이스 인덱스를 저장하기 위한 b-트리 구조에서 트리의 각 노드는 키 값의 정렬된 목록과

나열된 값 사이의 키 값 범위에 해당하는 링크를 포함합니다.

• 비클러스터형 인덱스는 인덱스 값이 실제 정보를 가리키는 책 인덱스와 비슷하게 정렬됩니다.

• 클러스터형 인덱스는 정보에 직접 액세스하여 정보를 빠르게 검색할 수 있도록 특정 순서로 정렬됩니다.

빠른 참조 도움말

• http://msdn.microsoft.com/ko-kr/library/ms180978.aspx

• http://msdn.microsoft.com/en-us/library/aa933129(v=SQL.80).aspx(영문)

44 4장: 데이터 저장소 이해

Page 62: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

5

데이터베이스 관리

이 장의 내용

■ 5.1 데이터베이스 보안 개념 이해

■ 5.2 데이터베이스 백업 및 복원 이해

Page 63: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

46 CHAP TE R 4: Un ders tandin g Data Storage

Page 64: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터베이스 관리 5.1

데이터베이스 보안 개념 이해

시나리오: 최근에 다양한 보안 위반을 통해 고객 및 클라이언트의 레코드를 분실한 회사에 대한 많은 뉴스가

보도된 바 있습니다. Humongous Insurance Company는 회사 이름이 이러한 뉴스에 나오는 것을 원하지

않으므로 정보 시스템에서 가능한 모든 보안 위험을 식별하기 위해 내부 감사를 실시하기로 결정했습니다.

분석가 팀은 실제 보안, 내부 보안, 외부 보안 등과 같은 가능한 위험 영역에 매우 익숙합니다.

감사자에 따르면 이 회사가 사용자 및 사용자가 수행하는 작업을 식별하여 데이터 무결성을 보장하고

데이터를 해커로부터 보호하는 적절한 보안 계획을 갖고 있습니다. 그러나 포괄적인 보안 계획에서 다른

측면을 고려해야 합니다.

1. 실제 보안 계획에 포함해야 하는 것은 무엇입니까?

a. 저장된 사용자 계정 및 암호의 위치

b. 데이터베이스 관리자의 위치

c. 액세스가 제한된 서버의 위치

2. 내부 보안 계획과 관련되지 않은 전략은 무엇입니까?

a. 백업 및 작업 연속성을 제공합니다.

b. 오래되고 사용되지 않는 사용자 계정을 삭제합니다.

c. 사용자 계정이 강력한 암호를 사용하도록 강제 지정합니다.

3. 다음 중 보안 공격의 예가 아닌 것은 무엇입니까?

a. 액세스를 부여하기 위한 역할 적용

b. 권한 상승

c. SQL 주입

데이터베이스 보안 개념 이해 47

대규모 조직에 서의 역할별 사용 자 그룹화. GRANT 문을 사용하여 해당 역할에 대한 액세스를 제공합니다.

Page 65: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

/3

확인

점수

정답

1. 실제 보안 계획은 다음을 포함해야 합니다.

c. 진입 액세스가 제한된 서버의 위치

2. 내부 보안과 관련되지 않은 전략은 다음과 같습니다.

a. 백업 및 작업 연속성을 제공합니다.

3. 다음은 보안 공격이 아닌 예입니다.

a. 액세스를 부여하기 위한 역할 적용

필수 세부 정보

• 보안 계획은 데이터베이스의 데이터에 대해 어떤 사용자가 어떤 작업을 수행할 수 있는지 식별합니다.

• 실제 보안 계획은 데이터베이스의 실제 위치에 대한 안전을 다룹니다.

• 액세스 제어는 연결할 수 있는 사용자 및 해당 사용자가 수행할 수 있는 작업을 보장하고 제한합니다.

• 사용자 계정은 데이터베이스에 대한 액세스 권한을 사용자에게 제공합니다.

• 역할은 데이터베이스에 대한 사용 권한을 부여합니다. 정의된 역할은 그룹 내의 모든 사용자에게

동일한 사용 권한을 제공합니다.

빠른 참조 도움말

• http://msdn.microsoft.com/ko-kr/library/aa291801(VS.71).aspx

• http://msdn.microsoft.com/en-us/library/dd568741.aspx(영문)

48 5장: 데이터베이스 관리

Page 66: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터베이스 관리 5.2

데이터베이스 백업 및 복원 이해

시나리오: 분석가 팀은 Humongous Insurance Company의 내부 보안 감사를 완료했습니다. 분석가 팀은

시스템에서 몇 가지 취약점을 식별했고 관련 위험을 최소화하기 위한 수정 조치를 제안했습니다. 그러나

최종 보고서를 완료하기 전에 백업 및 복구 계획을 이해해야 합니다.

분석가 팀은 데이터베이스 관리자와 만나기 전에 Humongous Insurance Company의 고유한 상황과 관련하여

이러한 프로세스를 제대로 이해하기 위해 데이터베이스 백업 및 복원 개념을 복습했습니다.

1. 다음 중에서 마지막 전체 백업 이후에 변경된 파일만 복사하는 백업 전략을 무엇입니까?

a. 부분 백업

b. 증분 백업

c. 차등 백업

2. 다음 중에서 복제 서비스 사용이 권장되는 상황은 무엇입니까?

a. 데이터베이스를 24시간 연중무휴로 사용할 수 있어야 합니다.

b. 데이터베이스가 리소스를 매우 많이 사용합니다.

c. 회사에서 데이터베이스 백업을 위해 오프사이트 저장소를 사용합니다.

3. 전체 백업을 수행할 경우 선택 사항인 정보는 무엇입니까?

a. 변경되지 않은 데이터

b. 사용자 보안 NAT와 같은 서버 파일

c. 마지막 전체 백업 이후로 변경되지 않은 데이터

데이터베이스 백업 및 복원 이해 49

백업 소프트웨 어가 잠긴 레코드 와 함께 작동한다는 것이 중요합니다.

Page 67: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

/3

확인

점수

정답 1. 마지막 전체 백업 이후로 변경된 파일만 복사하는 백업 전략은 다음과 같습니다.

c. 차등 백업

2. 복제 서비스는 다음 경우에 권장됩니다.

a. 데이터베이스를 24시간 연중무휴로 사용할 수 있어야 합니다.

3. 전체 백업을 위한 선택적 정보는 다음과 같습니다.

b. 사용자 보안 NAT와 같은 서버 파일

필수 세부 정보

• 백업은 상대적으로 짧은 기간에 데이터베이스를 유용한 폼으로 다시 만들기 위해 중요한

데이터를 모두 저장하는 프로세스입니다.

• 전체 백업에서는 나중에 검색하기 위해 모든 파일이 복사됩니다.

• 증분 백업에서는 마지막 백업이 이후로 변경된 파일만 복사됩니다.

• 차등 백업에서는 마지막 전체 백업 이후로 변경된 파일만 복사됩니다.

• 복제 서비스는 데이터베이스의 전체 또는 증분 복제를 다시 만듭니다.

빠른 참조 도움말

• http://msdn.microsoft.com/ko-kr/library/ms187510.aspx

• http://msdn.microsoft.com/ko-kr/library/ms188312.aspx

50 5장: 데이터베이스 관리

Page 68: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

6

데이터베이스 개념 복습

이 장의 내용

■ 데이터베이스 관리의 기초 복습

Page 69: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

52 CHAP TE R 5: Adminis ter in g a Dat abase

Page 70: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

힌트

목표 데이터베이스 개념 복습

데이터베이스 관리의 기초 복습 시나리오: 축하합니다! 데이터베이스 관리를 위한 학생 학습 안내서가 모두 끝났습니다. 시나리오가 즐거웠기를 바라며 실제 기술 상황의 많은 측면에 데이터베이스가 관련되는 방법을 알게 되셨을 것입니다. 데이터베이스 관리 기술을 통해 미래의 경력을 위한 문을 열 수 있습니다.

이 학습 안내서에 포함된 질문과 힌트는 데이터베이스 관리 인증 시험을 준비하는 데 도움이 될 것입니다.

1. 데이터베이스 관리 인증 시험을 준비하는 데 있어 필요한 핵심 데이터베이스 개념은 무엇입니까?

a. 관계형 데이터베이스 관리 시스템, 데이터 조작 언어, 데이터 정의 언어, SQL

b. 전기 엔지니어링, 데이터 형식, 보기 및 그래픽 디자이너

c. 데이터베이스 백업, 개발 언어 및 복원 기술

2. 다음 중에서 데이터를 조작하는 방법이 아닌 것은 무엇입니까?

a. 선택, 삽입, 업데이트 및 삭제

b. 저장 프로시저 및 함수 만들기

c. 기본 및 외래 키 만들기

3. 정규화란 무엇입니까?

a. 중복된 정보의 포함을 최소화하는 기술

b. 데이터베이스를 백업 및 복원하는 데 사용되는 프로세스

c. 저장된 데이터에 대한 키워드 및 포인터를 제공하기 위한 전략

데이터베이스 관리의 기초 복습 53

개념을 복습하고 데이터베이스 관리 기술을 연습합니다. 각 단원의 빠른 참조 링크를 사용하면 더 많은 지식을 얻을 수 있습니다.

Page 71: MICROSOFT TECHNOLOGY ASSOCIATE 학생 학습 안내서 · 중요한 IT 기능을 성공적으로 수행할 수 있다는 것을 의미합니다. 전 세계 업계 전문가가 인정하는

확인 점수

/3

정답

1. 핵심 데이터베이스 개념에는 다음이 포함됩니다.

a. RDBMS, DML, DDL, SQL

2. 다음 방법으로는 데이터를 조작하지 않습니다.

c. 기본 및 외래 키 만들기

3. 정규화는 다음과 같습니다.

a. 중복된 정보의 포함을 최소화하는 기술

필수 세부 정보

• 대부분의 현대적 데이터베이스 관리 시스템은 데이터가 관계(테이블)로 구성되는 관계형 모델을

구현합니다.

• RDBMS는 Relational Data Base Management System의 약어입니다.

• SQL(구조적 쿼리 언어)은 관계형 데이터베이스의 쿼리, 업데이트 및 관리에 사용되는 데이터베이스

하위 언어입니다.

• DML(데이터 조작 언어)는 데이터베이스에서 데이터를 삽입하고, 데이터베이스를 업데이트 및 쿼리하는

데 사용됩니다.

• DDL(데이터 정의 언어)은 특히 레코드 레이아웃, 필드 정의, 키 필드, 파일 위치,

저장소 전략 등과 같은 데이터베이스의 모든 특성과 속성을 정의합니다.

• 정규형은 중복을 방지하고 효율적인 유지 관리, 저장 및 업데이트를 증진하기

위해 정보를 구조화(구성)한 결과입니다.

빠른 참조 도움말

• http://msdn.microsoft.com/en-us/data/default.aspx(영문)

• http://msdn.microsoft.com/ko-kr/sqlserver/default.aspx

54 6장: 데이터베이스 개념 복습