Giter Site home page Giter Site logo

database_design_midterm's Introduction

1. 다음 용어들을 설명하시오.



데이터베이스 - 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로

통합해 놓은것이다.



DBMS - 데이터베이스 관리 시스템. 사용자와 데이터베이스를 연결시켜주는 소프트웨어로 주기억장치에

상주. 데이터를 모아둔 토대를 말한다.



데이터 모델 - 데이터가 저장되는 기법에 관한 내용, 눈에 보이지 않는 논리적 개념. 

데이터가 저장되는 스타일을 나타낸다.



데이터베이스 시스템 - 각 조직에서 사용하던 데이터를 모아서 통합하고 서로 공유하여 생기는 장점을 이용하는 시스템이다.

데이터베이스 시스템은 데이터베이스 관리 시스템(DBMS), 데이터베이스, 데이터 모델 

세 가지로 구성되어 있다.



2. 데이터베이스의 개념 네 가지를 설명하시오.



통합된 데이터 - 여러 곳에서 사용하던 데이터를 통합하여 하나로 저장한 데이터를 의미한다. 통합시 중요한 점은 각자 사용하던 데이터의 중복을 최소화함으로써 중복 저장으로 인한 데이터 불일치 현상을 없애는 것.



저장된 데이터 - 문서로 보관된 데이터가 아니라 디스크, 테이프 같은 컴퓨터 저장장치에 저장된 데이터

직접 볼 수는 없지만 컴퓨터 프로그램을 이용하여 디스플레이 하거나 인쇄물로 출력할 수 있다.



운영 데이터 - 조직의 목적을 위해 사용되는 데이터를 의미. 업무를 위한 검색을 할 목적으로 저장된 데이터



공용 데이터 - 한 사람 또는 한 업무를 위해 사용되는 데이터가 아닌 공동으로 사용되는 데이터를 의미



3. 데이터베이스의 특징 네 가지를 설명하시오.



실시간 접근성 - 데이터베이스는 실시간으로 서비스된다. 데이터 요청시 몇 시간이나 몇 일 뒤가 아닌

수초 내에 결과를 서비스한다.



계속적인 변화 - 데이터베이스에 저장된 내용은 어느 한 순간의 상태를 나타내지만, 데이터 값은 시간에 따라 항상 바뀐다. 데이터베이스는 삽입, 삭제, 수정 등의 작업으로 바뀐 데이터 값을 저장한다.



동시 공유 - 데이터베이스는 서로 다른 업무 또는 여러 사용자에게 동시에 공유된다.



내용에 따른 참조 - 데이터베이스에 저장된 데이터는 데이터의 물리적인 위치가 아닌 데이터 값에 따라 참조된다. 데이터를 얻기 위해 데이터 값을 사용하여 조건을 제시하면 데이터베이스는 해당하는 데이터를 검색해준다.



4. 파일 시스템과 DBMS의 데이터 접근 방법의 차이를 설명하시오.



파일 시스템은 데이터를 프로그램과 분리하여 별도의 파일에 저장하는 방식이다.

DBMS는 프로그램에 데이터 정의나 데이터 값을 포함하지 않고 DBMS가 관리한다. DBMS는 데이터 정의, 데이터 변경 등의 작업을 할 수 있는 별도의 프로그램을 가지고 있다.



5. 파일 시스템과 DBMS의 장단점을 비교하여 설명하시오.

파일 시스템으로 구축된 응용 프로그램은 데이터가 저장될 파일을 정의하고 직접 관리한다. 따라서 프로그램 개발 시 파일을 다루어야 하는 부담감이 있다.

또한 데이터를 서로 공유하지 않기 때문에 데이터의 중복이 발생할 위험이 있다.

DBMS로 구축된 프로그램은 데이터 정의 및 관리를 DBMS에 맡기기 때문에 프로그램이 훨씬 간단하다.

또한 정보를 한 번만 정의하여 공유하기 때문에 데이터의 일관성을 유지할 수 있다.



6. 데이터 모델을 설명하고 종류를 나열하시오.



데이터 모델은 데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법에 관한 것으로, 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정한다.



계층 데이터 모델, 네트워크 데이터 모델 - 데이터를 직접 찾아갈 수 있어서 프로그램 속도는 빠르지만 찾아갈 것에 대한 프로그래밍을 해야 하기 때문에 응용 프로그램 개발 속도 면에서는 느리다는 단점이 있다.



관계 데이터 모델 - 현재 데이터베이스 시스템은 관계 데이터 모델을 기본 개념으로 하고 객체 데이터 모델의 장점을 일부 수용한 객체-관계 데이터 모델로 발전중이다.



객체 데이터 모델 - 객체지향 언어의 상속, 캡슐화 등의 개념을 도입



7. 다음 데이터베이스 사용자들의 역할을 설명하시오.



일반 사용자 - 보통 특별한 지식 없이 데이터베이스에 접근하여 데이터의 검색, 삽입, 삭제, 수정 작업을 한다.



응용 프로그래머 -  일반 사용자가 사용할 수 있도록 프로그램을 만든다. 프로그래밍 언어와 SQL로 일반 사용자를 위한 사용자 인터페이스와 데이터를 관리하는

응용로직을 개발한다.



SQL 사용자 - 응용 프로그램으로 구현되어 있지 않은 업무를 SQL을 사용하여 처리한다. 주로 데이터 검색, 데이터 구조 변경, 데이터에 관한 통계처리 등

데이터를 모니터링하는 업무를 한다.



DBA - 데이터베이스 운영 조직의 데이터베이스 시스템을 총괄하는 사람. 보통 데이터베이스마다 한 명을 두며 큰 조직의 경우 여러 명을 두기도 한다.

데이터 설계, 구현, 유지보수의 전 과정을 담당. 또한 데이터베이스 사용자 통제, 보안, 성능 모니터링, 데이터 전체 파악 및 관리, 데이터 이동 및 복사 등 제반업무



8. 데이터 독립성을 정의하고, 데이터베이스 시스템에서 그 중요성을 설명하시오.



데이터 독립성은 하위 단계의 내용을 추상화하여 상위 단계에 그 세부 사항을 숨김으로써 한 단계 내의 변경에 대해서 다른 단계와 상호 간섭이 없도록 하는 것이다. 



논리적 데이터 독립성 - 외부 단계와 개념 단계 사이의 독립성으로, 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원한다.

논리적 구조가 변경되어도 응용 프로그램에는 영향이 없도록 하는 개념이다. 예를 들어 개념 스키마의 테이블을 생성하거나 변경하여도 외부 스키마가 직접 다루는 테이블이 아니면 영향이 없다.



물리적 데이터 독립성 - 개념 단계와 내부 단계 사이의 독립성으로, 저장 장치 구조 변경과 같이 내부 스키마가 변경 되어도 개념 스키마에 영향을 미치지 않도록 지원한다. 예를 들어 성능 개선을 위하여 물리적 저장 장치를 재구성할 경우 개념 스키마나 응용 프로그램 같은 외부 스키마에 영향이 없다.

물리적 독립성은 논리적 독립성보다 구현하기 쉽다.



9. ANSI의 3단계 데이터 베이스 구조에 대해 설명하시오. 



외부 단계, 개념 단계, 내부 단계로 나뉜다.

외부 단계 - 일반 사용자나 응용 프로그래머가 접근하는 계층으로 전체 데이터 베이스 중에서 하나의 논리적인 부분을 의미.



개념 단계 - 전체 데이터베이스의 정의를 의미한다. 통합 조직별로 하나만 존재하며 DBA가 관리한다.

즉 하나의 데이터베이스에는 하나의 개념 스키마가 있다. 개념 스키마는 저장 장치에 독립적으로 기술되며, 데이터와 관계, 제약사항, 무결성에 관한 내용이 포함



내부 단계 - 물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법의 표현이다. 내부 스키마는 하나이며, 인덱스, 데이터 레코드의 배치 방법, 데이터 압축등에 관한 사항이 포함



외부/개념 매핑 - 사용자의 외부 스키마와 개념 스키마 간의 매핑(사상)으로 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시킨다.

개념/내부 매핑 - 개념 스키마의 데이터가 내부 스키마의 물리적 장치 어디에 어떤 방법으로 저장되는지 대응시킨다.
중간고사 35% (90점획득)

database_design_midterm's People

Contributors

chihyeonwon avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.