데이터베이스_관계형 데이터베이스

황호준·2023년 6월 8일

CS

목록 보기
19/29

관계형 데이터 베이스

데이터베이스를 사용하는 이유

  • 파일 단위로 저장할 때, 데이터 종속성 문제와 중복성, 데이터 무결성 문제가 존재하기 때문

데이터 베이스 특징

1.데이터의 독립성 : 데이터베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리거나 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다.
2. 데이터의 무결성 : 여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능으로 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 된다.
3. 데이터의 보완성 : 인가된 사용자들만 데이터베이스나 데이터베이스 내의 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정함으로써 모든 데이터에 보안을 구현할 수 있다.
4. 데이터의 일관성 : 관된 정보를 논리적은 구조로 관리함으로써 어떤 하나의 데이터만 변경했을 경우 발생할 수 있는 데이터의 불일치성을 배제할 수 있다.
5.데이터 중복 최소화 : 데이터베이스는 데이터를 통합해서 관리함으로써 파일 시스템의 단점 중 하나인 자료의 중복과 데이터의 중복성 문제를 해결할 수 있다.

관계형 데이터베이스 개념과 장단점

관계형 데이터 베이스

  • 테이블(Table)로 이루어져 있으며 이 테이블들은 행(row)과 열(column)으로 이루어져 있다. 이러한 테이블들의 관계(relationship)를 종속적으로 나타내는 것이 관계형 데이터 베이스의 특징이다.

장점

  • 명확하게 정의 된 스키마.
  • 데이터의 무결성과 신뢰성 보장
  • 데이터의 분류,정렬,탐색 속도가 빠르다.

단점

  • 기존에 작성된 스키마를 수정하기 어렵다.
  • 대량의 데이터를 다루는데 비효율적이다.

DML (Data Manipulation Language) 데이터 조작 언어

  • 데이터베이스의 내부 데이터를 관리하기 위한 언어이다. 데이터를 조회, 추가, 변경, 삭제 등의 작업을 수행하기 위해 사용된다.

  • DML 특징 :
    DDL과 달리 DML은 적는 즉시 반영(Auto Commit)이 되기 않는다. 다시 말해, DML에 의한 데이터 변동은 영구적인 변경이 아니기 때문에 ROLLBACK으로 다시 되돌릴 수 있다.

  • 또한, DML은 Target 테이블을 메모리 버퍼 위에 올려두고 변경을 수행하기 때문에, 실시간으로 테이블에 반영되지 않는다. Commit 명령어를 통해 Transaction을 종료해야 해당 변경 사항이 테이블에 반영된다.

DDL (Data Definition Language) 데이터 정의 언어

  • 테이블과 컬럼을 정의하는 명령어로 생성, 수정, 삭제 등의 데이터 전체 골격을 결정하는 역할을 담당한다.
  • DDL 특징 :
    DDL은 명령어를 입력하는 순간 작업이 즉시 반영(Auto Commit)되기 때문에 사용할 때 주의해야 한다.

DCL (Data control Language) 데이터 제어 언어

  • 데이터를 관리 목적으로 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용한다. DCL을 사용하면 데이터베이스에 접근하여 읽거나 쓰는 것을 제한할 수 있는 권한을 부여하거나 박탈할 수 있고 트랜잭션을 명시하거나 조작할 수 있다.
  • DCL 특징 :
    불법적인 사용자로부터 데이터를 보호하기 위한 데이터 보안의 역할을 수행하며, 데이터의 정확성을 위한 무결성을 유지하기도 한다. 마지막으로 시스템 장애에 대비한 회복과 병행수행을 제어한다.

Key

  • 키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 Attribute(속성)이다.

1. 후보키

  • 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분집합을 의미
  • 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야함.
  • 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족

2. 기본키

  • 후보키 중에서 선택한 주키(Main Key)
  • 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
  • Null 값을 가질 수 없습니다. (개체 무결성의 첫번째 조건)
  • 기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없다.(개체 무결성의 두번째 조건)

3. 대체키

  • 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들
  • 보조키라고도 한다.

4. 슈퍼키

  • 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타내지 않음
  • 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족시키지 못함

5. 외래키

  • 관계(Relation)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성
  • 외래키는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구로 사용
profile
기록 블로그

0개의 댓글