Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

개발자로 살아남기

[DB] 데이터베이스란? 데이터베이스와 DBMS 그리고 SQL 본문

DB

[DB] 데이터베이스란? 데이터베이스와 DBMS 그리고 SQL

UnaUna 2023. 10. 31. 23:48

데이터베이스(Database)란?

  • 데이터의 집합
  • 데이터의 저장공간
  • 구조화된 정보 또는 데이터의 조직화된 모음
  • 컴퓨터 시스템에 전자적으로 저장
  • 여러 명의 사용자나 응용프로그램이 공유하고 동시에 접근이 가능해야 한다.

가장 일반적인 유형의 데이터베이스에서 데이터는 일반적으로 처리 및 데이터 쿼리를 효율적으로 수행하기 위해 일련의 테이블에서 행과 열로 모델링 된다.
그러면 데이터에 쉽게 액세스하고 관리, 수정, 업데이트, 제어 및 구성할 수 있다.

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

  • DBMS는 데이터베이스를 관리·운영하는 역할을하는 소프트웨어 개념이다.
  • 데이터베이스와 최종 사용자 또는 프로그램 간의 인터페이스 역할을 하여 사용자가 정보의 구성 및 최적화 방법을 검색, 업데이트 및 관리할 수 있게 해준다.
  • 데이터베이스의 감독 및 제어가 용이하여 성능 모니터링, 튜닝, 백업, 복구 같은 다양한 관리 작업이 가능하다.
  • DBMS에 데이터를 구축하고 관리하고 활용하기 위해서 사용되는 언어가 SQL(Structured Query Language)이다.

DBMS로는 MySQL, Oracle, Microsoft Access 등이 있다.

DBMS, 데이터베이스의 중요한 특징

데이터의 무결성

  • 데이터베이스 안의 데이터는 어떤 경로를 통해 들어 왔던지 데이터에 오류가 있어서는 안 된다.
  • 무결성을 위해 데이터베이스는 제약 조건(Constrain)이라는 특성을 가진다.
  • 제약 조건을 지키면 무결한 데이터로 보장할 수 있기에 해당 데이터를 이용하여 원하는 데이터를 얻을 수 있다.
    제약조건의 예
    학생의 학번은 서로 중복되면 안 된다.
    쇼핑몰의 ID는 서로 중복되면 안 된다.
    

학번을 이용하여 성적증명서를 출력한다.
ID를 이용하여 회원정보를 확인한다.


**데이터의 독립성**
- 데이터베이스의 크기를 변경하거나 데이터 파일의 저장소를 변경하더라도, 기존에 작성된 응용프로그램은 전혀 영향을 받지 않아야 한다.
- 서로 의존적인 관계가 아닌 독립적인 관계여야 한다.

저장된 디스크가 새 것으로 변경되어도 기존에 사용하던 응용프로그램은 아무런 변경 없이 계속 사용하여야 한다.

```

보안

  • 데이터를 소유한 사람이나 데이터의 접근이 허가된 사람만 접근할 수 있어야 한다.
  • 접근할 때도 사용자의 계정에 따라서 다른 권한을 가져야 한다.

데이터 중복의 최소화

  • 동일한 데이터가 여러 개 중복되어 저장되는 것을 방지한다.
  • 데이터베이스에 하나의 테이블에 저장하고 이를 공유함으로써 데이터 중복이 최소화된다.

응용프로그램 제작 및 수정 용이

  • 기존 파일 시스템 사용 시 각각 파일의 포맷에 맞춰 개발해야 하는 응용프로그램을 데이터베이스를 이용함으로써 통일된 방식으로 응용프로그램을 작성할 수 있고, 유지보수 또한 쉬워진다.

데이터의 안정성 향상

  • 대부분의 DBMS가 제공하는 백업·복원 기능을 이용하여 데이터가 꺠지는 문제가 발생할 경우에 원상태로 복원 또는 복구하는 방법이 명확해진다.

SQL(Structured Query Language)이란?

SQL은 데이터를 쿼리, 조작 및 정의하고 액세스 제어를 제공하기 위해 거의 모든 관계형 데이터베이스에서 사용되는 프로그래밍 언어이다.

참고 https://www.oracle.com/kr/database/what-is-database/

'DB' 카테고리의 다른 글

[DB] 데이터베이스 테이블(Table)/행(Row)/열(Column)  (0) 2023.11.13