본문 바로가기
데이터베이스(DB)

[DB] 개요

by 송기동 2024. 1. 26.
728x90

SQL (Structured Query Language)

- DBMS에서 데이터를 관리/검색하기 위해 사용되는 표준 데이터베이스 언어

- 비절차적(Non-procedural) 언어

- SQL 구문은 목적에 맞게 크게 세가지로 구분

1) DDL(Data Definition Language)

2) DML(Data Manipulation Language)

3) DCL(Data Control Language)

 


데이터베이스 관리 시스템 (DBMS)

- 데이터베이스를 관리/운영하는 소프트웨어

- 하나의 DBMS에는 여러 개의 DB가 존재할 수 있음

ex) MySQL, Oracle, MariaDB 등

 

#  데이터베이스 (DB)

- 대용량의 데이터 집합을 체계적으로 구성한 것

- 하나의 DB에는 여러 개의 테이블이 존재할 수 있음

 

#  DBMS의 특징

1) 데이터 무결성

     - 동일한 내용에 대해 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질

     - 데이터의 오류 X

2) 데이터 독립성

      - DB 크기나 데이터 파일의 저장소를 변경하더라도 기존에 작성된 응용프로그램에는 영향 X

         → 의존적 관계가 아닌 독립적 관계

3) 보안

     - DB 내 데이터에는 접근이 허가된 사람만 접근할 수 있어야 함

     - 접근할 때에도 사용자의 계정에 따라 다른 접근 권한을 가져야 함

4) 데이터 중복의 최소화

     - 동일한 데이터가 여러 개 중복 저장되는 것을 가능한 방지함

5) 데이터 안전성 향상

     - 백업, 복원 기능 제공

 

#  RDBMS (관계형DBMS)

- 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타냄

- 데이터의 종속성을 관계로 표현하는 것이 관계형 데이터베이스의 특징

 

#  RDBMS의 특징

1) 데이터의 분류, 정렬, 탐색 속도가 빠름

2) 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장

3) 기존에 작성된 스키마를 수정하기 어려움

4) 데이터베이스의 부하 분석이 어려움

 

#  RDBMS 용어

1) 열 (column)

     - 각각의 열은 유일한 이름을 가지고 있으며, 자신만의 타입을 가짐

     - 열은 필드(field) 또는 속성(attribute) 이라고 함

2) 행 (row)

     - 행은 관계된 데이터의 묶음을 의미

     - 한 테이블의 모든 행은 같은 수의 열을 가지고 있음

     - 행은 튜플(tuple) 또는 레코드(record)라고도 부름

3) 값 (value)

    - 테이블은 각각의 행과 열에 대응하는 값을 가짐

    - 값은 열의 타입에 맞는 값이어야 함

4) 키 (key)

    - 테이블에서 행의 식별자로 이용되는 열을 키(key) 또는 기본 키(primary key)라고 함

    - 테이블에 저장된 레코드를 고유하게 식별하는 후보 키(candidate key) 중 데이터베이스 설계자가 지정한 속성을 의미합니다

5) 관계 (relationship)

- 테이블 간의 관계는 관계를 맺는 테이블의 수에 따라 다음과 같이 나눔

1. 일대일(one-to-one) 관계

2. 일대다(one-to-many) 관계

3. 다대다(many-to-many) 관계

- 관계형 데이터베이스에서는 이러한 관계를 나타내기 위해 외래 키(foreign key)라는 것을 사용

- 외래 키는 한 테이블의 키 중에서 다른 테이블의 행(row)을 식별할 수 있는 키를 의미

6) 스키마(schema)

    - 테이블을 디자인하기 위한 청사진

      (스키마는 테이블의 각 열에 대한 항목과 타입과 기본 키와 외래 키도 나타내야 함)

    - 스키마는 개체-관계 다이어그램(entity-relationship diagram)이나 문자열로 표현

 


모델링 과정

# 요구사항 분석

  - 시스템에 대한 사용자의 요구사항을 수집 및 분석하는 것

# 시스템 설계

  - DB 시스템을 구축하는 초기 단계

  - 시스템 구축을 위해 필요한 요구사항과, 이를 충족시키기 위한 설계 및 계획 수립

  - DB 구조/기능, 인터페이스, 보안 등 정의

  - 데이터를 체계적으로 관리/활용할 수 있도록 함

#  모델링

  - 시스템에 사용될 데이터들을 수집하고, 어떻게 관리할지 설계하는 것

728x90