[Growth Log] 2기 6차

권준형·2024년 11월 23일

지난주부터 미친듯이 시험 공부를 하고 있다. 매학기 기말고사를 마치면서 "다음 학기에는 더 부지런히 들어서 여유롭게 시험공부 해야지"라고 다짐을 하지만 4학기째인 지금까지 이를 한 번도 지키지 못하였다...😂 다 내가 게을러서 그런 것이라고 생각한다. 비록 지켜지지 않을 것 같지만 다음 학기에는 더 부지런하고 성실히 수업을 듣겠다고 다시 한 번 다짐하고자 한다.

지난 2주간 시험공부만 하면서 지냈기에 딱히 성장일지에 쓸 내용이 없었다. 그래서 오늘은 지난 2주간 공부를 하면서 나름 정리했었던 내용들에 대해서 간략히 적어보고자 한다. 일반 컴퓨터과학에 대한 내용도 많으니 이 글을 보시는 분들이 나중에라도 유용하게 사용하실 수 있지 않을까 기대한다.

  1. 데이터베이스
    (1) 데이터 조작 언어(Data Manipulation Language, DML) : DML은 데이터베이스 내에서 데이터의 조작(SELECT, INSERT, UPDATE, DELETE 등)을 하는데 사용되는 언어를 뜻합니다. 이를 통해 DBMS 사용자는 데이터베이스의 구조(스키마, 정의) 등에 영향을 주지 않고 데이터베이스 내의 데이터 변경이 가능합니다.

    (2) 데이터 정의 언어(Data Definition Language, DDL) : DDL은 데이터를 정의하는 언어로서, 데이터베이스의 전체적인 구조를 정의, 제거, 변경 등의 역할을 수행합니다. 사용자는 데이터 정의 언어를 통해 외부 스키마를 정의하거나 스키마에 사용되는 제약조건에 대한 명세를 정의하며, 데이터베이스 전체의 논리적, 물리적 구조와 순서를 설계할 수 있습니다.

    (3) 데이터 제어 언어(Data Control Language, DCL) : DCL은 사용자가 데이터를 보호하고 관리하는 목적으로 사용하는 언어를 뜻하며, 이를 통해 사용자는 데이터에 대한 무결성, 데이터 회복, 데이터 보안, 사용자별 데이터베이스에 대한 권한 제어 등을 수행할 수 있습니다. DCL의 주 사용자는 해당 데이터베이스의 관리자(Administrator)이며, 관리자는 DCL을 활용하여 공용 데이터베이스에 누가 접속할 수 있는지 접속 권한을 부여하는 제어할 수 있습니다.

  1. 파일처리시스템
    1960년대 2세대 컴퓨터의 등장과 함께 시작되었습니다. 현재의 데이터베이스가 등장하기 전 파일처리시스템은 각각의 어플리케이션(프로그램)에 속한 개별적인 파일들을 생성하고 관리하기 위해 사용되었습니다. 초기 파일처리시스템은 처리속도가 빠르고, 구현이 간단하며, 관리비용이 저렴한 장점 덕분에 널리 사용되었습니다. 하지만 컴퓨터와 관련 산업의 급속한 발전으로 인해 다양한 어플리케이션이 등장함에 따라 기존의 파일처리시스템은 아래와 같은 문제점을 노출하게 되었습니다.
    (1) 데이터 종속성
    (2 데이터 중복성
    (3) 무결성 훼손의 원칙
    (4) 동시 접근의 문제
  1. 데이터베이스 3단계 구조

    (1) 외부단계(External Level) : DBMS의 3단계 구조 중 가장 추상화 수준이 높은 단계가 바로 외부단계입니다. 외부단계는 DBMS의 개별 사용자 관점에서 데이터베이스의 구조와 내용을 보여줍니다. 이 과정에서 개별 사용자에게 필요한 데이터베이스를 정의한 것을 “외부 스키마”라고 합니다. 외부 스키마는 개별 사용자의 니즈나 혹은 생각에 따라 데이터베이스의 구조와 모습을 표현하며 따라서 외부단계에서 데이터베이스는 개별 사용자마다 모두 다르게 표현됩니다. 따라서 데이터베이스는 비록 한 개일지라도 개별 사용자의 숫자에 따라 다수의 외부 스키마가 존재할 수 있으며, 사용 목적이 같은지 혹은 다른지에 따라 동일한 외부 스키마를 공유할 수도 있고 아닐 수도 있습니다.

    (2) 개념단계(Conceptual Level) : DBMS의 3단계 구조 중 중간 수준의 추상화 수준을 보여주는 단계입니다. 개념단계는 조직 전체의 관점에서 DBMS의 구조와 데이터를 보여주고 관리하는 단계라고 할 수 있습니다. 앞서 DBMS는 수많은 개별 사용자의 니즈와 생각을 반영하고 있으며 이에 따라 개별 사용자마다 필요한 정보와 양식이 모두 다릅니다. 이런 개별 사용자 전체 집합의 니즈를 통합하여 조직 전체의 관점에서 표현하는 것이 개념단계입니다. 이러한 개념단계는 주로 DB관리자를 타켓으로 하며, 해당 관리자들의 관점에서 필요한 모든 데이터를 통합/구조화하여 전체 데이터베이스의 논리적 구조를 정의하며 이를 “개념 스키마”라고 합니다.

    (3) 내부단계(Internal Level) : DBMS의 3단계 중 가장 낮은 추상화 수준을 보이는 단계입니다. 내부단계는 물리적인 저장 장치의 관점에서 데이터베이스의 구조를 이해하고 표현합니다. 이러한 내부단계에서는 “내부 스키마”가 사용되며, 내부 스키마는 전체 데이터베이스가 하드디스크, SSD, 자기테이프 등과 같은 저장장치에 실제로 어떻게 저장되는지에 대한 방법을 정의합니다. 내부단계의 주 사용자는 데이터베이스 전체 시스템의 설계자 혹은 프로그래머이며, 이들의 관점에서 데이터베이스의 구조를 표현하여 줍니다. 예를 들어 내부 스키마는 각 데이터가 파일의 형태로 데이터베이스에 저장될 때 각 레코드 행의 구조, 레코드를 구성하는 필드의 크기와 종류 혹은 숫자, 또는 인덱스를 활용하여 특정 레코드에 어떻게 접근할 것인지 등을 정의합니다.

profile
매 순간 최선을 다하자

0개의 댓글