logo

DBMS(데이터베이스 관리 시스템) 도입 – Set 1

데이터베이스 관리 시스템(DBMS)은 데이터를 구조화된 방식으로 관리하고 구성하도록 설계된 소프트웨어 시스템입니다. 이를 통해 사용자는 데이터베이스를 생성, 수정 및 쿼리할 수 있을 뿐만 아니라 해당 데이터베이스에 대한 보안 및 액세스 제어를 관리할 수 있습니다.

DBMS는 데이터를 동시발현하고 효율적으로 저장하고 검색할 수 있는 환경을 제공합니다.



DBMS의 주요 특징

  • 데이터 모델링: DBMS는 데이터베이스의 데이터 구조와 관계를 정의하는 데이터 모델을 생성하고 수정하기 위한 도구를 제공합니다.
  • 데이터 저장 및 검색: DBMS는 데이터베이스에서 데이터를 저장하고 검색하는 역할을 하며, 데이터를 검색하고 쿼리하는 다양한 방법을 제공할 수 있습니다.
  • 동시성 제어: DBMS는 여러 사용자가 서로 충돌하지 않고 데이터에 액세스할 수 있도록 데이터베이스에 대한 동시 액세스를 제어하는 ​​메커니즘을 제공합니다.
  • 데이터 무결성 및 보안: DBMS는 데이터 값에 대한 제약 조건, 데이터에 액세스할 수 있는 사람을 제한하는 액세스 제어 등 데이터 무결성 및 보안 제약 조건을 적용하기 위한 도구를 제공합니다.
  • 백업 및 복구: DBMS는 시스템 장애 발생 시 데이터를 백업하고 복구하기 위한 메커니즘을 제공합니다.
  • DBMS는 두 가지 유형으로 분류할 수 있습니다. 관계형 데이터베이스 관리 시스템(RDBMS) 및 비관계형 데이터베이스 관리 시스템(NoSQL 또는 Non-SQL)
  • RDBMS: 데이터는 테이블 형식으로 구성되며 각 테이블에는 일련의 행과 열이 있습니다. 데이터는 기본 키와 외래 키를 통해 서로 관련됩니다.
  • NoSQL: 데이터는 키-값 쌍, 문서, 그래프 또는 열 기반 형식으로 구성됩니다. 이는 대규모 고성능 시나리오를 처리하도록 설계되었습니다.

데이터베이스는 데이터베이스에서 데이터를 효율적으로 검색, 삽입 및 삭제하는 데 도움이 되는 상호 연관된 데이터의 모음이며 테이블, 뷰, 스키마, 보고서 등의 형태로 데이터를 구성합니다. 예를 들어 대학 데이터베이스는 데이터를 효율적으로 검색, 삽입 및 삭제하는 데 도움이 되는 학생, 교직원, 행정 직원 등에 관한 데이터입니다.

데이터베이스 언어

  • 데이터 정의 언어
  • 데이터 조작 언어
  • 데이터 제어 언어
  • 트랜잭션 제어 언어

데이터 정의 언어

DDL 데이터베이스 스키마와 설명, 데이터가 데이터베이스에 존재하는 방식을 다루는 데이터 정의 언어(Data Definition Language)의 짧은 이름입니다.



  • 만들다: 데이터베이스 및 해당 개체(테이블, 인덱스, 뷰, 저장 프로시저, 함수 및 트리거)를 생성합니다.
  • 바꾸다: 기존 데이터베이스의 구조를 변경합니다.
  • 떨어지다: 데이터베이스에서 객체 삭제
  • 잘라내기: 레코드에 할당된 모든 공간을 포함하여 테이블에서 모든 레코드를 제거합니다.
  • 논평: 데이터 사전에 설명 추가
  • 이름 바꾸기: 개체 이름 바꾸기

데이터 조작 언어

DML 데이터 조작을 다루는 데이터 조작 언어(Data Manipulation Language)의 약칭으로 SELECT, INSERT, UPDATE, DELETE 등과 같은 가장 일반적인 SQL 문을 포함하며 데이터베이스의 데이터를 저장, 수정, 검색, 삭제 및 업데이트하는 데 사용됩니다. 데이터 쿼리 언어(DQL) 데이터 조작 언어의 하위 집합입니다. DQL의 가장 일반적인 명령은 다음과 같습니다. 선택하다 성명. SELECT 문은 테이블의 아무것도 변경하지 않고 테이블에서 데이터를 검색하는 데 도움이 됩니다.

  • 선택하다: 데이터베이스에서 데이터 검색
  • 끼워 넣다: 테이블에 데이터 삽입
  • 업데이트: 테이블 내의 기존 데이터를 업데이트합니다.
  • 삭제: 데이터베이스 테이블에서 모든 레코드 삭제
  • 병합: UPSERT 작업(삽입 또는 업데이트)
  • 부르다: PL/SQL 또는 Java 하위 프로그램 호출
  • 계획을 설명하세요: 데이터 액세스 경로 해석
  • 잠금 테이블: 동시성 제어

데이터 제어 언어

DCL 데이터베이스에 대한 액세스 지정자 역할을 하는 데이터 제어 언어(Data Control Language)의 약어입니다.(기본적으로 데이터베이스의 사용자에게 권한을 부여하고 취소합니다.

  • 승인하다: 테이블에서 DML(SELECT, INSERT, DELETE,…) 명령을 실행할 수 있는 권한을 사용자에게 부여합니다.
  • 취소: 지정된 테이블에서 DML(SELECT, INSERT, DELETE,…) 명령을 실행하기 위해 사용자의 권한을 취소합니다.

트랜잭션 제어 언어

TCL 모든 유형의 트랜잭션 데이터와 모든 트랜잭션에 대한 관리자 역할을 하는 트랜잭션 제어 언어(Transactional Control Language)의 약자입니다. TCL의 명령 중 일부는 다음과 같습니다.



  • 롤백: 데이터베이스 변경 사항을 취소하거나 실행 취소하는 데 사용됩니다.
  • 저지르다: 데이터베이스에 변경 사항을 적용하거나 저장하는 데 사용됩니다.
  • 저장 지점: 데이터베이스에 임시로 데이터를 저장하는 데 사용됩니다.

데이터 쿼리 언어(DQL):

데이터 쿼리 언어(DQL) 의 하위 집합입니다 데이터 조작 언어 . DQL의 가장 일반적인 명령은 1the입니다. SELECT 문 . SELECT 문은 테이블을 변경하거나 수정하지 않고도 테이블에서 데이터를 검색하는 데 도움이 됩니다. DQL은 데이터베이스에서 필수 데이터를 검색하는 데 매우 중요합니다.

데이터베이스 관리 시스템

데이터베이스를 관리하는 데 사용되는 소프트웨어를 데이터베이스 관리 시스템(DBMS)이라고 합니다. 예를 들어, MySQL, Oracle 등은 다양한 애플리케이션에서 사용되는 널리 사용되는 상용 DBMS입니다. DBMS를 사용하면 사용자는 다음 작업을 수행할 수 있습니다.

  • 데이터 정의: 이는 데이터베이스의 데이터 구성을 정의하는 정의의 생성, 수정 및 제거에 도움이 됩니다.
  • 데이터 업데이트: 데이터베이스의 실제 데이터를 삽입, 수정 및 삭제하는 데 도움이 됩니다.
  • 데이터 검색: 이는 다양한 목적으로 애플리케이션에서 사용할 수 있는 데이터베이스에서 데이터를 검색하는 데 도움이 됩니다.
  • 사용자 관리: 사용자 등록 및 모니터링, 데이터 보안 강화, 성능 모니터링, 데이터 무결성 유지, 동시성 제어 처리, 예상치 못한 오류로 인해 손상된 정보 복구에 도움이 됩니다.

DBMS의 응용:

  • 기업 정보: 영업, 회계, 인사, 제조, 온라인 소매업체.
  • 은행 및 금융 부문: 고객 세부 정보, 계좌, 대출, 은행 거래, 신용 카드 거래를 유지하는 은행. 금융: 판매 및 보유, 금융주 및 채권 매입에 대한 정보를 저장합니다.
  • 대학교: 학생의 수강신청 정보, 학생 성적, 교직원 역할에 대한 정보를 유지합니다.
  • 항공사: 예약 및 일정.
  • 통신: 선불, 후불 청구서 유지 관리.

파일 시스템에서 DBMS로 패러다임 전환

파일 시스템은 하드 디스크의 파일을 사용하여 데이터를 관리합니다. 사용자는 자신의 요구 사항에 따라 파일을 생성, 삭제 및 업데이트할 수 있습니다. 파일 기반 대학 관리 시스템의 예를 살펴보겠습니다. 학생들의 데이터는 각 학과, 학업 섹션, 결과 섹션, 회계 섹션, 호스텔 사무실 등에 제공됩니다. 일부 데이터는 학생의 롤 번호, 이름, 아버지 이름, 주소 및 전화번호와 같은 모든 섹션에 공통되지만 일부 데이터는 호스텔 사무실의 일부인 호스텔 할당 번호와 같은 특정 섹션에서만 사용할 수 있습니다. 이 시스템의 문제를 논의해 보겠습니다.

  • 데이터 중복: 동일한 데이터가 여러 곳에 복사되면 데이터가 중복된다고 합니다. 학생이 전화번호를 변경하고 싶다면 다양한 섹션에서 업데이트해야 합니다. 마찬가지로, 해당 학생을 대표하는 모든 섹션에서 기존 기록을 삭제해야 합니다.
  • 데이터 불일치: 동일한 데이터의 여러 복사본이 서로 일치하지 않는 경우 데이터가 일관성이 없다고 합니다. Accounts 섹션과 Academics 섹션의 전화번호가 다를 경우 일치하지 않습니다. 불일치는 입력 오류나 동일한 데이터의 모든 복사본을 업데이트하지 않기 때문에 발생할 수 있습니다.
  • 어려운 데이터 액세스: 사용자가 데이터에 접근하려면 파일의 정확한 위치를 알아야 하기 때문에 그 과정이 매우 번거롭고 지루합니다. 정렬되지 않은 10,000명의 학생 기록에서 해당 학생의 기숙사 배정번호를 검색하고자 한다면 얼마나 어렵겠습니까.
  • 승인되지 않은 접근: 파일 시스템은 데이터에 대한 무단 액세스로 이어질 수 있습니다. 학생이 자신의 표시가 있는 파일에 접근할 수 있게 되면 승인되지 않은 방식으로 해당 파일을 변경할 수 있습니다.
  • 동시 액세스 불가: 동시에 여러 사용자가 동일한 데이터에 액세스하는 것을 동시성이라고 합니다. 파일 시스템은 한 번에 한 명의 사용자만 데이터에 액세스할 수 있으므로 동시성을 허용하지 않습니다.
  • 백업 및 복구 없음: 파일 시스템은 파일이 손실되거나 손상된 경우 데이터 백업 및 복구를 통합하지 않습니다.

DBMS의 장점

  • 데이터 구성: DBMS를 사용하면 구조화된 방식으로 데이터를 구성하고 저장할 수 있으므로 필요에 따라 데이터를 쉽게 검색하고 쿼리할 수 있습니다.
  • 데이터 무결성: DBMS는 데이터 값에 대한 제약 조건, 데이터에 액세스할 수 있는 사람을 제한하는 액세스 제어 등 데이터 무결성 제약 조건을 적용하기 위한 메커니즘을 제공합니다.
  • 동시 액세스: DBMS는 여러 사용자가 서로 충돌하지 않고 데이터에 액세스할 수 있도록 데이터베이스에 대한 동시 액세스를 제어하는 ​​메커니즘을 제공합니다.
  • 데이터 보안: DBMS는 데이터에 대한 액세스 제어, 민감한 데이터 암호화 등 데이터 보안을 관리하기 위한 도구를 제공합니다.
  • 백업 및 복구: DBMS는 시스템 장애 발생 시 데이터를 백업하고 복구하기 위한 메커니즘을 제공합니다.
  • 데이터 공유: DBMS를 사용하면 여러 사용자가 동일한 데이터에 액세스하고 공유할 수 있으므로 협업 작업 환경에 유용할 수 있습니다.

DBMS의 단점

  • 복잡성: DBMS는 설치 및 유지 관리가 복잡할 수 있으며 전문적인 지식과 기술이 필요합니다.
  • 성능 오버헤드: DBMS를 사용하면 특히 높은 수준의 동시성이 필요한 경우 애플리케이션 성능에 오버헤드가 추가될 수 있습니다.
  • 확장성: DBMS를 사용하면 데이터 일관성을 보장하기 위해 잠금 및 기타 동기화 메커니즘을 사용해야 하므로 애플리케이션의 확장성이 제한될 수 있습니다.
  • 비용: 특히 규모가 크거나 복잡한 시스템의 경우 DBMS 구매, 유지 관리 및 업그레이드 비용이 높을 수 있습니다.
  • 제한된 사용 사례: 모든 사용 사례가 DBMS에 적합한 것은 아니며, 일부 솔루션에는 높은 신뢰성, 일관성 또는 보안이 필요하지 않으며 다른 유형의 데이터 스토리지가 더 나은 서비스를 제공할 수 있습니다.

이것이 파일 시스템에서 DBMS로 전환한 주된 이유입니다. 또한 참조하세요

데이터베이스 관리 시스템(DBMS)은 사용자가 데이터베이스를 생성, 유지 및 관리할 수 있는 소프트웨어 시스템입니다. 사용자가 데이터베이스의 데이터에 액세스하고 조작할 수 있도록 하는 프로그램 모음입니다. DBMS는 보안, 개인 정보 보호 및 신뢰성을 제공하는 방식으로 데이터를 저장, 검색 및 조작하는 데 사용됩니다.

여러 유형의 DBMS

  • 관계형 DBMS(RDBMS): RDBMS는 행과 열이 있는 테이블에 데이터를 저장하고 SQL(구조적 쿼리 언어)을 사용하여 데이터를 조작합니다.
  • 객체지향 DBMS(OODBMS): OODBMS는 데이터를 객체 지향 프로그래밍 언어를 사용하여 조작할 수 있는 객체로 저장합니다.
  • NoSQL DBMS: NoSQL DBMS는 키-값 쌍, 문서 기반 모델 또는 그래프 모델과 같은 비관계형 데이터 구조로 데이터를 저장합니다.

전반적으로 DBMS는 데이터를 관리하고 조작하기 위한 강력한 도구이며 금융, 의료, 소매 등 다양한 산업 및 애플리케이션에서 사용됩니다.

  • 데이터베이스 관리 시스템 – 소개 | 세트 2
  • 모든 DBMS 기사
  • DBMS 퀴즈