클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

데이터 입출력 구현 14 - 기출문제 다시 풀기 1 : 세션 29~37 본문

자격증 공부/정보처리기사 실기

데이터 입출력 구현 14 - 기출문제 다시 풀기 1 : 세션 29~37

huenuri 2024. 9. 26. 22:57

오후에 계속 놀다가 밤 늦게 공부를 시작해본다. 두번째로 문제를 풀어보는 건 더 많이 어려웠다. 한번은 책을 다시 읽고 암기해야 하기 때문이다.

그래도 다시 공부를 시작할 수 있어서 다행이었다. 오늘부터는 머신러닝 공부를 하고 싶었지만 아직은 때가 아닌 모양이다. 조금 늦더라도 나만의 속도대로 가야 실패하지 않는다는 것을 오늘 깨달았다.


 

 

 

기출 따라잡기 문제 다시 풀기

 

세션 29 - 데이터베이스 개요

 

 

데이터베이스는 여러 사람에 의해 공동으로 사용될 데이터를 중복 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 우영하는 운영 데이터이다. 스키마는 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것이다.

DBMS의 필수 기능은 3가지가 있는데 3번 문제는 그냥 찍은 것이지 알아서 푼 게 아니니 한번 더 정리해보자.

 

  1. 정의 기능 : 데이터의 형과 구조에 대한 정의 , 이용 방식, 제약 조건 등을 명시하는 기능
  2. 제작 기능 : 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공하는 기능
  3. 제어 기능 : 데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능

 

 

 

 

세션 31 - 데이터 모델의 개념

 

 

데이터 모델에 표시할 요소는 다음과 같은 3가지가 있다.

  1. 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질 표현
  2. 연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구
  3. 제약 조건(Constraint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

 

 

 

세션 32 - 데이터 모델의 구성 요소

 

 

데이터 모델의 속성 3가지를 써야 하는데 모델의 종류를 쓰고 말았다. 데이터 모델의 속성은 개체, 속성, 관계이다. 아주 작은 글씨로 써 있어서 미쳐 보지 못했다.

3번 문제는 대대일이라는 말 대신 일대다라고 써야 한다. 여러 개라는 말이 앞에 나오니 다를 먼저 써야 한다고 생각했다. 하지만 뭐든 용어 그대로 써야 말이 되고 통용되는 것이다.

 

속성의 특성에 따른 분류도 암기해야 한다. 대부분 문제는 해당 용어가 등장하는 단어는 쓰지 않고 설명하지 때문에 문제를 읽어도 무슨 말인지 찾기 힘들 때가 많은 것 같다.

  1. 기본 속성 : 업무 본석을 통해 정의한 속성으로 속성 중 가장 많고 일반적이다. 업무로부터 분석한 속성이라도 업무상 코드로 정의한 속성은 기본 속성에서 제외된다.
  2. 설계 속성 : 원래 업무상 존재하지 않고 설계 과정에서 도출해내는 속성이다. 업무에 필요한 데이터 외에 데이터 모델링을 위해 업무를 규칙화하려고 속성을 새로 만들거나 변형하여 정의한다.
  3. 파생 속성 : 다른 속성으로부터 계산이나 변형 등의 영향을 받아 발생하는 속성이다. 되도록 적은 수를 정의하는 것이 좋다.

개체는 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.


 

 

 

세션 33 - E-R(개체 관계) 모델

 

 

타원은 속성, 마름모는 관계, 사각형은 개체이다.


 

 

 

세션 34 - 관계형 데이터베이스의 구조 / 관계형 데이터 모델

 

 

릴레이션은 데이터들을 표 형태로 표현한 것이므로 1개이다. 릴레이션은 구조를 나타내는 렐레이션 스키마와 실제 값들이 릴레이션 인스턴스로 구성된다. 도메인은 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합이다.

 

 

 

 

 

 

렐레이션 인스턴스가 아니라 튜플이다. 튜플은 릴레이션을 구성하는 각각의 행을 말한다. 그리고 릴레이션 인스턴스는 데이터 개체를 구성하고 있는 속성들의 데이터 타입이 정의되어 있는 구체적인 데이터 값을 가진 것을 말한다.

튜플의 개수는 카디널리티가 맞다.


 

 

 

 

세션 35 - 관계형 데이터베이스의 제약 조건 : 키

 

 

아직 유일성과 최소성의 개념을 잘 모르고 어떤 것이 이 기준을 만족하는지 모르고 있다. 확실히 정리해보자. 후보키는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합이다. 후보키는 유일성과 최소성을 모두 만족시켜야 한다.

  1. 유일성 : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 한다
  2. 최소성 : 키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 꼭 필요한 최소의 속성으로 구성되어야 한다

슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말한다. 유일성은 만족하지만 최소성은 만족하지 못한다. 그러니까 2번 문제의 답은 유일성, 최소성이다. 이 답을 거꾸로 썼다.

3번은 슈퍼키이다. 대체키는 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미한다.


 

 

 

 

세션 36 - 관계형 데이터베이스의 제약 조건 : 무결성

 

 

무결성은 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미한다. 개체 무결성과 참조 무결성은 자주 출제되는 문제이므로 꼭 암기해보자.

개체 무결성은 기본 테이블의 기본키를 구성하는 어떤 속성도 NULL 값이나 중복값을 가질 수 없다는 규정이다. 참조 무결성은 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다는 것이다.

 

 


 

 

학습을 마치고

기출문제를 다시 분석하고 공부해보니 정말 좋았다. 분량이 많아서 3개로 나누어서 정리해려고 한다. 아직 공부가 많이 부족해서 틀린 문제가 많지만 좌절하지 않기로 했다.