본문 바로가기

IT Language/SQL

[DataBase] 데이터 베이스 모델링

데이터베이스란?

‘a collection of related data’

서로 관련 있는 데이터들의 모임이다.

 

데이터베이스 관리 시스템  (DBMS, Database Management System)

- 데이터베이스 잘 구축해서 관리하는 작업에 사용되는 프로그램들의 묶음

- 오라클사의 Oracle, 마이크로소프트사의 MS SQL, 리눅스 계열의 My SQL

 

 데이터베이스 시스템(DBS, Database System)

- 사용자가 데이터베이스 관리 시스템을 통하여 물리적인 데이터베이스와 소통하는 형태의 시스템

 

데이터베이스 관리 시스템의 장점

- 데이터의 중복성과 불일치성 감소

- 데이터 보안

- 질의 처리에 효율적인 저장 구조

- 백업(Backup)과 복구(Recovery)

- 다양한 인터페이스

- 일관된 데이터를 유지

 

데이터베이스 관리 시스템의 단점

- 자원이 많고 복잡하며 비싸다.


데이터베이스 언어

- 데이터베이스를 정의하고 모든 저장 데이터베이스의 접근을 지원하는 통신 수단

 

데이터 정의어(DDL, Data Definition Language)

데이터 조작어(DML, Data Manipulation Language)

데이터 제어어(DCL, Data Control Language)

 

데이터 정의어(DDL)

- 데이터베이스 관리자나 설계자가 데이터 간의 관계를 정의하거나 이미 정의된 데이터베이스의 구조를 변경하거나 수정하는 데 사용하는 언어

 

데이터 조작어(DML)

- 데이터베이스 사용자가 응용 프로그램이나 질의어를 이용해서 저장된 실제 데이터를 검색, 수정, 삭제, 변경 등을 수행하는 데 사용하는 언어

 

데이터 제어어(DCL)

- 데이터베이스 관리자가 데이터를 관리하려고 데이터의 보안, 무결성, 데이터 복구, 병행 수행 제어 등을 정의할 때나, 사용자의 권한을 설정할 때 사용하는 언어

 

데이터베이스 스키마(Schema)

- 데이터베이스의 구조와 제약조건에 대해서 분명하고 자세하게 기술한 것

- 구체적으로 데이터베이스를 구성하는 애트리뷰트와 관계 등의 집합

 

데이터베이스 단위

- 필드(Field) : 문자와 워드로 구성된 컴퓨터 상에 정보를 표현할 때 의미가 있는 데이터 표현의 최소 단위

- 레코드(Record) : 하나 이상의 필드가 모인 것

- 파일 : 레코드들이 모여서 구성된 관련 레코드들의 집합

데이터베이스 추상화와 데이터 모델

데이터베이스 추상화와 데이터 독립성

- 추상화(Abstraction) : 알 필요가 없는 복잡한 부분을 은폐하는 것

- 데이터 독립성 : 특정 스키마를 변경할 때 상위 단계의 스키마에 영향을 미치지 않는 성질

 

3계층 스키마

- 사용자의 응용 프로그램과 물리적 데이터베이스를 분리시키는 것이 목적


데이터 모델링이란?

- 데이터베이스를 구축하고자 하는 대상이 되는 기관에서 사용되는 데이터를 분석하여 제약조건을 체계적으로 정의하고 개념적인 도구를 이용해서 간결하고 이해하기 쉽게 표현하는 것이다.

데이터 모델링의 중요성
데이터베이스 사용자 간에 의사소통을 쉽게 해준다. / 전체적인 조화와 균형을 유지할 수 있게 해준다.

데이터 모델링의 종류

- 개념적 데이터 모델

- 논리적 데이터 모델

- 물리적 데이터 모델

 

념적 데이터 모델

- 고수준의 데이터 모델

- 전체 시스템에 대한 개념적인 정보를 나타내는 데 사용

- 개체-관계 모델(ER Model, Entity-Relationship Model)이 대표적인 개념적 데이터 모델이다.

논리적 데이터 모델(관계형 데이터 모델)

- 표현 데이터 모델 또는 구현 데이터 모델

- 구축할 시스템의 이미지

  • 계층 데이터 모델
  • 객체지향 데이터 모델
  • 객체-관계 데이터 모델
  • 관계형 데이터 모델

물리적 데이터 모델

- 컴퓨터 내부에서 데이터들이 실제로 어떻게 저장되는가를 표현

'IT Language > SQL' 카테고리의 다른 글

[SQL] 데이터베이스의 정의와 특징  (0) 2022.11.09