🍏 개발일기/으쌰으쌰 SQLD 자격증 준비

관계형 데이터베이스 개요 & 엔터티

보배 진 2026. 2. 10. 23:48

 

데이터베이스의 정의

조직적이 고양이 = 데이터

 

데이터 베이스의 정의

데이터의 집합으로 조직적으로 구성된 데이터들의 모임

 

 

 

 

 

 

여러 관점의 정의

🔹 법적 정의 : 저작물의 소재를 체계적으로 배열 또는 구성한 편집물

🔹 기술적 정의 : 관련된 데이터의 모음으로, 중복을 통제하는 체계

🔹 산업적 정의 : 조직체의 정보 요구를 지원하는 공유 데이터 자원

 

 

데이터베이스의 발전 과정

1960년대 : 파일 시스템 (파일 간 데이터 중복, 일관성/무결성 보장 어려움)

1970년대 : 계층형/망형 DBMS (자료 간 관계가 복잡, 유연성 부족)

1980년대 : 관계형 DBMS 등장 (오라클, DB2 등)

1990년대 : 객체 관계형 DBMS로 발전

 

 

 

 

관계형 데이터베이스의 특징

🔹 데이터 중복 최소화 : 정규화를 통한 중복 제거

🔹 동시성 관리 : 다중 사용자 환경에서 데이터 일관성 보장

🔹 병행제어 : 동시에 여러 사용자가 데이터 처리할 때 일관성 유지

🔹 메타데이터 관리 : 데이터에 관한 데이터(데이터 사전) 관리

🔹 보안/무결성/장애복구 기능 : 데이터 보호와 안정성 보장

🔹 SQL 사용 : 표준 질의어를 통한 데이터 정의/조작/제어

 

 

 

 

SQL (Structed Query Language)

🔹 SQL의 정의 : 관계형 데이터베이스에서 사용하는 표준 질의어

🔹 SQL 표준화 : ANSI SQL을 통한 표준화

🔹 SQL 명령어 유형

    🔴 DML : SELECT, INSERT, UPDATE, DELETE

    🔴 DDL : CREATE, ALTER, DROP, TRUNCATE

    🔴 DCL : GRANT, REVOKE

    🔴 TCL : COMMIT, ROLLBACK, SVAEPOINT

 

 

 

 

 

테이블 구조와 데이터 타입

🔹 테이블 구성 요소

컬럼(Column) : 열, 속성, 필드

행(Row) : 레코드, 튜플

필드(Field) : 컬럼과 행이 만나는 지점, 실제 데이터가 저장됨

 

🔹 주요 데이터 타입

숫자형 : INTEGER, NUMBER, DECIMAL 등

문자형 : CHAR, VARCHER, TEXT 등

날짜형 : DATE, TIMESTAMP 

이진형 : BLOB, BINARY

불리언형 : BOOLEAN

 

CHAR vs VARCHAR: CHAR은 고정길이, VARCHAR는 가변길이 문자열 저장

 

 

 

 


 

 

엔터티의 정의

엔터티: 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 실체 또는 객체

데이터베이스에서는 테이블로 구현됨

 

 

엔터티의 특징

🔹 업무적 필요성 : 반드시 업무에서 필요하고 관리할 가치가 있어야 함

🔹 식별자 : 유일한 식별자(ex: 학번, 사번)로 식별 가능해야 함

🔹 인스턴스 집합 : 2개 이상의 인스턴스(행)를 포함해야 함

🔹 업무 프로세스 참여 : 실제 업무 프로세스에 활용되어야 함

🔹 속성 포함 : 반드시 속성을 가져야 함

🔹 관계 존재 : 다른 엔터티와 최소 1개 이상의 관계가 필요

 

 

 

엔터티의 분류

 

유형 = 물리적 개념 = 보험상품 사건 = 업무 수행

유무형에 따른 분류

🔴 유형 엔터티 : 물리적 형태가 있음 (ex: 학생, 사원 강사, 고양이)

🔴 개념 엔터티 : 개념적인 정보 (ex: 조직, 보험상품)

🔴 사건 엔터티 : 업무 수행에 따라 발생 (ex: 주문, 청구)

 

 

 

 

 

기본 = 상품 중심 = 주문 행위 = 주문 목록

발생시점에 따른 분류

🔴 기본 엔터티 : 독립적으로 생성 가능 (ex:  고객, 상품)

🔴 중심 엔터티 : 기본 엔터티로부터 생성 (ex: 계약, 주문)

🔴 행위 엔터티 : 두 엔터티 간의 행위로 생성 (ex: 주문 목록, 사원변경이력)

 

 

 

엔터티 명명 규칙

🔹 현업업무에서 사용하는 용어 사용

🔹 약어 사용 X

🔹 단순 명사 사용

🔹 모든 엔터티에서 유일한 이름 부여

🔹 생성 의미가 부여된 이름 사용

🔹 명명 방식 : 

   - CamelCase : 각 단어의 첫글자를 대문자로 표시

   - SnakeCase : 단어 사이에 언더바(_) 사용