본문 바로가기
🖊️Certificate/📌SQLD

[SQLD] 2과목 - 1장) 1절. 관계형 데이터베이스 개요

by 빛나고요 2024. 3. 6.
BIG

2과목. SQL 기본 및 활용
1장. SQL 기본
1절. 관계형 데이터베이스 개요

# 데이터베이스(Database)와 DBMS(Database Management System)
- 데이터베이스
  · 데이터의 집합
  · 형식을 갖추지 않은 엑셀 파일 모음도 데이터베이스임

- DBMS
  · 데이터를 효과적으로 관리하기 위한 시스템
  · 개인이 파일을 여러 개 묶어서 폴더에 보관하면 데이터를 찾거나 관리하는데 큰 비용이 발생 ➪ 보다 시스템 적으로 작동하게 만든 시스템임
  ex) Oracle, MYSQL 등

# 관계형 데이터베이스 구성요소
- 계정: 데이터의 접근 제한을 위한 여러 업무별/시스템별 계정이 존재함
- 테이블: DBMS의 DB 안에서 데이터가 저장되는 형식(수정, 삽입 등)
- 스키마: 한 유저가 가지고 있는 모든 객체/테이블이 어떻게 구성되어있는지 표현

# 테이블
- 정의
  · 데이터가 저장되는 단위
  · 엑셀 시트에서 표처럼 행(row)과 열(column)의 구조를 갖는 2차원 구조
  · 컬럼: 논리모델링에서는 속성이고 물리모델링에서는 컬럼이라고 불림

- 특징
  · 하나의 테이블은 반드시 하나의 유저(계정) 소유여야 함
  · 테이블 간 관계는 일대일(1:1), 일대다(1:N), 다대다(N:N)의 관계를 가짐
  · 테이블명은 중복될 수 없음. but 소유자(계정)가 다른 경우 같은 이름으로 생성 가능(같은 계정 내 동일한 객체명 생성 불가능!)
  · 테이블은 행 단위로 데이터가 입력, 삭제되며 수정은 값의 단위로 가능함(셀 단위로는 삭제가 아닌 수정이고 입력과 삭제는 행단위로만 가능함)

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

# 관계형 데이터베이스(DBMS) 특징
- 데이터의 분류, 정렬, 탐색 속도가 빠름
- 신뢰성이 높고(신뢰 할 수 있는 설계도 기반이기 때문) 데이터의 무결성 보장
- 기존의 작성된 스키마를 수정하기 어려움(엑셀시트는 수정이 쉬운데 DBMS는 테이블이 설계되어있고 물리적으로 만들어져 있어서 구조 변경이 어려움)
- 데이터베이스의 부하를 분석하는 것이 어려움

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

- 종류
  ① 개체 무결성: 테이블의 기본키를 구성하는 컬럼(속성)은 NULL 값이나 중복값을 가질 수 없음
  ② 참조 무결성: 외래키 값은 NULL 이거나 참조 테이블의 기본키 값과 동일해야 함(외래키란 참조 테이블의 기본키에 정의된 데이터만 허용되는 구조이기 때문)
  ③ 도메인 무결성: 주어진 속성 값이 정의된 도메인에 속한 값이어야 함
  ④ NULL 무결성: 특정 속성에 대해 NULL 을 허용하지 않는 특징
  ⑤ 고유 무결성: 특정 속성에 대해, 값이 중복되지 않는 특징
  ⑥ 키 무결성: 하나의 릴레이션(관계)에는 적어도 하나의 키가 존재해야 함(테이블이 서로 관계를 가질 경우 반드시 하나 이상의 조인키를 가짐)

* 도메인: 각 컬럼(속성)이 갖는 범위
* 릴레이션: 테이블간 관계를 말함
* 튜플: 하나의 행을 의미
* 키: 식별자

# ERD(Entity Relationship Diagram)
- 의미
  · 테이블들 끼리 어떤 종류의 관계를 맺고 있고 어떤 식별자나 속성을 가지고 있는지 그림으로 표현한 것(테이블 간 서로의 상관관계를 그림으로 표현한 것)
- 구성요소
  · 엔터티(Entity)
  · 관계(Relatioinship)
  · 속성(Attribute)
  ➪ 현실 세계의 데이터는 위 3가지 구성요소로 모두 표현이 가능함

댓글