DB

[DB] DB, DBMS 그리고 SQL

행복한 토마토 2024. 9. 26. 00:01

DB(DataBase) 란?

여러 사람이 공유하고 사용할 목적으로 통합 관리되는 데이터(정보)의 집합이라고 정의할 수 있다.

논리적으로 연관된 하나 이상의 자료의 모음으로 중복을 없애고 데이터들을 고도로 구조화 함으로써 검색과 갱신의 효율화를 꾀한 것이다.


DBMS(DataBase Management System)란?

DB를 관리하고 운영하는 역할을 하는 프로그램으로 여러 명의 사용자나 응용 프로그램이 공유하고 동시에 접근이 가능해야한다. Excel과 같은 프로그램은 데이터의 집합으로 사용될 수 있으며 테이블로 표시되기에 DBMS와 유사해 보인다. 하지만 대용량을 관리하거나 여러 명의 사용자가 공유하는 것이 아니기 때문에 DBMS라고 할 수 없다.

 

DBMS의 기능

  • 데이터베이스 조작 인터페이스 제공
  • 효율적인 데이터 관리 기능 제공
  • 데이터베이스 구축 기능 제공
  • 데이터 복구, 사용자 권한부여, 유지보수 기능제공

DBMS의 역사

  • 1999년 ANSI에서 SQL 표준 규정 설정
    • DDL 선언 (create, alter, drop, rename)
    • DML 조작, 관리 (CRUD)
    • DCL 권한 관련 (admin) 
    • DTL 트랜젝션 관련 (commit, rollback)
  • 2001년 Fuction이 추가되고 표준화되지 않아 DBMS 별 쿼리문이 상이함

DBMS의 종류

  • MySQL
  • MariaDB
  • PostgreSQL
  • Oracle
  • SQL Server
  • 그 외 다수

DBMS의 특징

  • 데이터의 무결성
    • 데이터에 오류가 있어서는 안 되기 때문에 제약 조건이라는 특성을 갖되 된다.
    • 예) 학생 데이터에서 모든 학생은 학번이 있어야 하고, 각 학번은 서로 중복되어서는 안된다.
  • 데이터의 독립성
    • 데이터베이스의 크기를 변경하거나 저장소를 변경하더라고 기존에 작성된 응용 프로그램은 영향을 받지 않아야 한다.
  • 보안
    • 데이터베이스에 아무나 접근해서는 안되고 소유자 또는 허가된 사람만 접근할 수 있다.
    • 또한 계정에 따라 다른 권한을 가져야 한다.
  • 데이터 중복의 최소화
    • 동일한 데이터를 중복해서 여러개 작성해서는 안된다.
  • 응용 프로그램 제작 및 수정이 쉬워짐
    • 각 파일의 포맷이 정해지므로 통일된 방식으로 응용 프로그램 작성 및 유지보수가 쉬워진다.
  • 데이터의 안전성 향상
    • DBMS에서 제공하는 백업, 복원 기능을 통해 데이터의 보원 또는 복구가 쉬워진다.

DBMS의 종류

  • 계층형 DBMS
  • 망형 DBMS
  • 관계형 DBMS : 가장 비중이 높음
  • 객체지향형 DBMS : 일부 멀티미디어 분야에서 사용
  • 객체관계형 DBMS : 일부 멀티미디어 분야에서 사용

관계형 DBMS

테이블 기반의 DB로 실제 데이터는 행과 열의 2차원 구조를 가진 테이블에 저장된다.

하나의 데이터(row, tuple, record)는 여러 속성(Attribute)을 가진다.

관계형 DBMS 구조

DBMS안에 여러개의 스키마가 생성되어 있고, 하나의 스키마는 여러개의 테이블로 구성되어 있다.

 

스키마(Schema) : DB에서의 자료구조, 표현방법, 관계 등 전반적인 명세를 기술한 것 

테이블 : 행과 열의 모델을 사용해 조직된 데이터 요소들의 집합

 

열(column) 또는 속성(attribute) : 고유한 데이터 형식 (자료형)이 지정됨 -> 굿스포츠, 나무수, 대한미디어, 대한미디어, 굿스포츠

행(row) 또는 레코드(record) : 실제 데이터가 저장되는 형태 -> 4, 골프 바이블, 대한미디어, 35000

기본키(primary key) : 각 행의 고유 값 -> 도서번호


JDBC

TCP/IP를 사용해 DB와 애플리케이션 서버 사이를 연결한다.

'DB' 카테고리의 다른 글

[DB] Select 실습  (0) 2024.09.26
[DB]SQL이란?  (2) 2024.09.26