데이터베이스란?
‘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 |
|---|