본문 바로가기

sqld

2-1) 관계형 데이터베이스 개요

데이터베이스 (Database)와 DBMS(DataBase Management System)
  • 데이터베이스 : 데이터의 집합, 꼭 형식을 갖추지 않아도 엑셀 파일을 모아 둔다면 그것 또한 데이터베이스임
  • DBMS : 데이터를 효과적으로 관리하기 위한 시스템
    • 개인이 파일을 여러 개 묶어서 폴더에 보관하면 데이터를 찾고 관리하는데 많은 비용이 발생
    • 이를 보다 시스템적으로 작동하게 만든 시스템을 DBMS 라고 함
    • ORACLE, MYSQL 등

 

 

관계형 데이터베이스 구성 요소
  • 계정 : 데이터의 접근 제한을 위한 여러 업무별/시스템별 계정이 존재
  • 테이블 : DBMS의 DB 안에서 데이터가 저장되는 형식
  • 스키마 : 테이블이 어떠한 구성으로 되어있는지, 어떠한 정보를 가지고 있는지에 대한 기본적인 구조를 정의

 

테이블
  1. 정의
    • 엑셀에서의 워크시트처럼 행(로우)와 열(컬럼)을 갖는 2차원 구조로 구성
    • 데이터를 입력하여 저장하는 최소 단위
    • 컬럼은 속성이라고도 부름 (모델링 단계마다 부르는 용어가 다름)
  2. 특징
    • 하나의 테이블은 반드시 하나의 유저(계정) 소유여야 함
    • 테이블간 관계는 일대일(1:1), 일대다(1:N), 다대다(N:M) 관계를 가질 수 있음
    • 테이블명은 중복될 수 없지만, 소유자가 다른 경우 같은 이름으로 생성 가능
    • 테이블은 행 단위로 데이터가 입력, 삭제되며 수정은 값의 단위로 가능
      • 예) 사원테이블에 새로운 사원 정보를 사원번호, 사원이름 등의 테이블 내 모든 컬럼의 값을 동시에 전달하여 입력 / 삭제 시에는 해당 사원의 모든 정보가 삭제됨 / 수정 시에는 특정 직원의 급여만 수정 가능 (특정 컬럼)

  • SCOTT 유저의 EMP라는 테이블이 있어도, EMP라는 INDEX는 생성 가능
    • 같은 유저에서 객체가 다르면 같은 이름으로 생성 가능
    • 테이블 등 같은 객체에 대해서는 같은 이름으로 생성 불가
  • 다른 유저 (SYSTEM)에서 같은 이름의 EMP 테이블 생성 가능

 

 

SQL (Structured Query Language)
  • 관계형 데이터베이스에서 데이터 조회 및 조작, DBMS 시스템 관리 기능을 명령하는 언어
  • 데이터 정의 (DDL), 데이터 조작 (DML), 데이터 제어 언어 (DC) 등으로 구분
  • SQL 문법은 대, 소문자를 구분하지 X

 

관계형 데이터베이스 특징
  • 데이터의 분류, 정렬, 탐색 속도가 빠름
  • 신뢰성이 높고, 데이터의 무결성 보장
  • 기존의 작성된 스키마를 수정하기 어려움
  • 데이터베이스의 부하를 분석하는 것이 어려움

 

데이터의 무결성 (Integrity)
  • 데이터의 정확성과 일관성을 유지하고, 데이터에 결손과 부정합이 없음을 보증하는 것
  • 데이터베이스에 저장된 값과 그것이 표현하는 현식의 비즈니스 모델의 값이 일치하는 정확성을 의미
  • 데이터 무결성을 유지하는 것이 데이터베이스 관리시스템의 중요한 기능

 

데이터 무결성 종류
  1. 개체 무결성 : 테이블의 기본키를 구성하는 컬럼(속성)은 NULL 값이나 중복값을 가질 수 없음
  2. 참조 무결성 : 외래키 값은 NULL이거나 참조 테이블의 기본키 값과 동일해야 함
    • 외래키란 참조 테이블의 기본키에 정의된 데이터만 허용되는 구조이므로
  3. 도메인 무결성 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 함
  4. NULL 무결성 : 특정 속성에 대해 NULL을 허용하지 않는 특징
  5. 고유 무결성 : 특정 속성에 대해 값이 중복되지 않는 특징
  6. 키 무결성 : 하나의 관계(Relationship)에 대해서는 적어도 하나의 키가 존재해야 함
    • 테이블이 서로 관계를 가질 경우 반드시 하나 이상의 조인키를 가짐
* 도메인 : 각 컬럼(속성)이 갖는 범위
* 릴레이션 : 테이블간 관계
* 튜플 : 하나의 행
* 키 : 식별자

 

 

ERD (Entity Relationship Diagram)
  • 테이블 간 서로의 상관 관계를 그림으로 표현한 것
  • 구성 요소 : 엔티티 (Entity), 관계 (Relationship), 속성 (Attribute)
    • 현실 세계의 데이터는 이 3가지의 구성으로 모두 표현 가능

 

 

 

'sqld' 카테고리의 다른 글

2-3) 함수  (0) 2024.08.21
2-2) SELECT 문  (0) 2024.08.20
1-10) 본질식별자 vs 인조식별자  (0) 2024.08.19
1-9) Null 속성의 이해  (0) 2024.08.19
1-8) 모델이 표현하는 트랜잭션의 이해  (0) 2024.08.19