[MySQL] 데이터베이스, DBMS

    데이터

    특성에 따른 분류 : 범주형 데이터(categorical data), 수치형 데이터(numerical data)

    범주형 데이터 : 학년, 과목, 상품이름 등 연산이 불가능한 데이터. 질적 데이터라고도 한다.

    순서가 없는 명목형(nominal)과 데이터 사이에 순서가 존재하는 순서형(ordinal) 데이터가 있다.

    수치형 데이터 : 숫자로 표현되어, 계산이 가능한 데이터. 양적 데이터라고 한다.

    셀 수 있는 이산(discrete), 셀 수 없고 측정이 가능한 연속(continuos) 데이터가 있다.

     

    형태에 따른 분류 : 정형(structured), 반정형(semi-structured), 비정형(unstructured data) 데이터

    정형 데이터 : 데이터의 형태(틀)이 정해져 있다. RDB의 테이블, 엑셀 스프레드 시트 등.

    반정형 데이터 : 데이터와 함께 데이터의 형태를 같이 저장. HTML, XML, JSON 파일 등

    비정형 데이터 : 데이터의 정해진 형태가 없다. PDF 등 멀티미디어 파일 

     

    데이터베이스

    정의 

    1. stored data : 저장 데이터, 컴퓨터가 접근 가능한 매체(디스크, 테이프) 같은 저장매체에 저장된 데이터

    2. operational data : 운영 데이터, 조직의 주요 기능을 위해, 검색이나 변경을 할 목적으로 저장된 데이터

    3. shared data : 공유 데이터, 여러 사용자가 함께 소유하고 이용할 수 있는 공용데이터

    4. integrated data : 통합 데이터, 데이터의 중복 최소화. 중복으로 인한 데이터 불일치 제거

     

    특징

    1. 실시간 접근성

    2. 끊임없는 변화

    3. 동시 공유

    4. 내용 기반 참조 - 데이터가 저장된 주소가 아닌, 데이터의 값(내용)을 기반으로 참조

     

    DBMS(DataBase Management System) : 파일 시스템의 문제를 해결하기 위해 1960년대 등장한 '소프트웨어'

    파일 시스템이 가진 문제 : 응용 프로그램마다 파일이 저장되므로 같은 내용의 파일이 중복으로 저장된다.

    -> 저장공간 많이 차지, 데이터의 일관성 무결성 유지가 어려움

     

    응용 프로그램은 데이터에 종속적이므로, 데이터베이스의 데이터가 바뀌어도 응용 프로그램을 수정하지 않고 돌아가게 하기 위해,

    응용 프로그램과 데이터베이스 가운데 DBMS를 두어 관리한다.

    일반적인 사용자는 DBMS를 통해 데이터베이스를 검색, 변경(삽입, 삭제, 수정) 한다.

     

    데이터베이스 시스템 : 사용자 + DBMS + 데이터베이스 + 데이터(모델)

    1. 데이터베이스 언어 : SQL(structrued query language), 데이터 조작어(DML), 정의어(DDL), 제어어(DCL)

    사용 목적에 따른 구분

    데이터 정의어(DDL) : 스키마를 정의하거나, 수정 또는 삭제하기 위해 사용

    데이터 조작어(DML) :  데이터의 삽입, 삭제, 수정, 검색을 위해 사용

    데이터 제어어(DCL) : 내부적으로 필요한 규칙이나 기법을 정의하는데 사용, 무결성, 보안, 회복, 동시성 제어 등을 위한 목적

     

    2. 데이터베이스 사용자 : DBA, 일반 사용자, 응용 프로그래머

    DBA : DB 시스템을 운영 및 관리, DDL과 DCL을 주로 사용하여 스키마 정의, 보안, 접근 권환, 무결성 유지를 위한 제약조건 등을 관리한다.

    일반 사용자, 응용 프로그래머 : 주로 DML을 사용, 데이터베이스에 접근하여 데이터를 조작(삽입, 삭제, 수정, 검색).

     

    DBMS의 기능

    데이터 정의(Definition) : 데이터 구조 정의, 구조에 대한 삭제 및 변경 기능

    데이터 조작(Manipulation) : 데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 삽입, 수정, 삭제 작업 지원

    데이터 제어(Control) : DB 사용자를 생성하고 모니터링하며 접근 제어, 백업과 회복, 동시성 제어 등의 기능을 지원

    데이터 추출(Retrieval) : 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출함

     

    데이터베이스 개념적 구조 : ANSI/SPARC 에서 제안

    데이터베이스를 관점에 따라 3단계로 나눈다.

    1. external level, 외부관점 : 사용자 관점

    2. conceptual level, 개념 관점 : 조직 전체 관점

    3. internal level, 내부 관점 : 물리적인 저장 장치의 관점

     

    3 -> 2 -> 1로 갈수록 추상화 레벨이 높아진다. 

    위와 강티 데이터를 3단계로 나눈 이유는 데이터 독립성(independency)을 위함인데,

    내부 스키마 -> 개념 스키마 -> 외부 스키마로 단계별로 스키마를 유지하며, 스키마 사이에 대응 관계를 정의한다.

    개념/내부 사상 : 물리적 데이터 독립성

    외부/개념 사상 : 논리적 데이터 독립성

     

    데이터 모델링 : 현실 세계의 데이터를 추상화하여 컴퓨터 세계의 데이터베이스로 옮기는 과정

    데이터 모델링은 크게 2단계로 개념적 데이터 모델링(현실 -> 개념), 논리적 데이터 모델링(개념 -> 데이터베이스)으로 나뉜다.

    데이터 모델 : 데이터 모델링의 결과물을 표현하는 도구, 데이터가 저장되는 기법

    개념적 데이터 모델 : E-R 모델(entitiy-relation), 개체-관계 모델로 표현

    논리적 데이터 모델 : RD 모델(relation data), 관계 데이터 모델로 표현

     

    '강의요약 > 데이터베이스' 카테고리의 다른 글

    [DB] 4. SQL  (0) 2023.04.04
    [DB] 3. 관계대수  (0) 2023.03.20
    [DB] 2.2 키(key)  (0) 2023.03.20
    [DB] 2. 데이터 모델  (0) 2023.03.13

    댓글