1. 데이터베이스 (Database)
1) 개념
- 관련된 데이터들을 체계적으로 저장하고 관리할 수 있도록 구성된 데이터의 집합
- 데이터 중복 최소화, 데이터 무결성 및 일관성 유지, 효율적인 데이터 접근 및 검색을 위한 목적으로 설계
2) DBMS (데이터베이스 관리 시스템)
- 데이터베이스를 관리하기 위한 시스템
- 사용자와 데이터베이스 간의 인터페이스 역할
- 데이터의 저장, 검색, 수정, 삭제 등을 수행
3) DBMS의 주요 기능
① 데이터 정의 : 데이터베이스 스키마를 생성, 수정, 삭제
② 데이터 조작 : 데이터 삽입, 수정, 삭제, 검색
③ 데이터 보안 : 데이터 접근 권한을 관리하여 민감한 정보 보호
④ 데이터 무결성 : 데이터베이스 내의 데이터가 정확하고 일관성이 유지되도록 함
⑤ 트랜잭션 관리 : 여러 작업이 동시에 수행될 때 데이터의 일관성을 유지하고, 시스템 장애 발생 시 데이터 복구
2. SQL (Structrued Query Language)
1) 개념
- 관계형 데이터베이스 관리 시스템 (RDBMS)에서 데이터를 정의, 조작, 제어하기 위해 사용되는 표준화된 프로그래밍 언어
- SQL 사용 시 데이터 저장, 수정, 삭제, 검색 가능
2) SQL의 종류
① DDL (Data Definition Language) : 데이터베이스 스키마를 생성, 변경, 삭제하기 위한 명령어
- CREATE
- ALTER
- DROP
- RENAME
- TRUNCATE
② DML (Data Manipulation Language) : 데이터를 검색, 삽입, 수정, 삭제하기 위한 명령어
- SELECT
- INSERT
- UPDATE
- DELETE
③ DCL (Data Control Language) : 데이터베이스 사용자의 권한을 관리하기 위한 명령어
- GRANT
- REVOKE
④ TCL (Transaction Control Language) : 데이터베이스 트랜잭션을 관리하기 위한 명령어
- COMMIT
- ROLLBACK
- SAVEPOINT
3. 데이터베이스 테이블
1) 개념
- 관계형 데이터베이스에서 데이터를 구조화하여 저장하는 기본 단위
- 테이블은 행(row)과 열(column)의 2차원 구조로 이루어져 있으며, 각 행은 개별 레코드, 열은 레코드의 속성을 나타냄
- 데이터를 체계적으로 저장 및 관리 가능하며 테이블 간의 관계를 통해 효율적인 데이터 모델링 및 검색이 가능하고, 무결성과 일관성을 유지할 수 있음
2) 구성요소
① 행(Row)
- 개별레코드
- 한 행은 테이블의 모든 열에 대한 값을 포함
- 각각의 행은 고유한 식별자(ex.기본키)를 가질 수 있음
② 열(Column)
- 특정 속성
- 이름과 데이터 타입을 가짐
- 제약 조건이나 기본값 등 추가 속성 설정 가능
③ 기본키(Primary Key)
- 각 행을 고유하게 식별하는 열
- 기본키로 설정된 열은 NULL값을 가질 수 없고, 각 행에 대해 고유한 값을 가져야 함
④ 외래키(Foreign Key)
- 다른 테이블의 기본키를 참조하는 열
- 서로 다른 테이블 간의 관계를 정의하고, 데이터 무결성을 유지할 수 있음
4. ERD (Entity-Relationship Diagram)
1) 개념
- 데이터베이스의 구조와 관계를 그래픽적으로 표현한 도표
- 데이터의 구조와 관계를 명확히 이해하고, 효율적인 데이터 모델을 만들기 위한 청사진을 작성할 수 있음
2) 주요 구성요소
① 엔터티 (entity)
- 데이터베이스에서 관리하려는 실체나 개체
- 일반적으로 테이블과 일치하며, ERD에서는 직사각형으로 표현됨
② 속성 (Attribute)
- 엔터티의 특징이나 성질
- 데이터베이스 테이블의 열에 해당
- ERD에서 원 또는 타원으로 표현되며, 해당 엔터티와 연결됨
③ 관계 (Relationship)
- 서로 다른 엔터티 간의 연결
- 일대일, 일대다, 다대다 등의 다양한 형태로 존재 가능
- ERD에서 마름모로 표현되고, 관련된 엔터티와 직선으로 연결됨
3) ERD 작성 방법
① 엔터티 식별 : 데이터베이스에서 관리하고자 하는 개체나 실체를 파악, 엔터티 정ㅇ의
② 속성 결정 : 각 엔터티에 대한 속성을 식별하고, 엔터티와 속성 연결
③ 관계 설정 : 서로 다른 엔터티 간의 관계를 파악하고, ERD에 관계 표현
④ 정규화 : 데이터 중복을 최소화하고, 데이터 무결성을 보장하기 위해 정규화 과정 수행
4) ERD 예시
- ERD 작성 시 데이터베이스의 전체 구조와 관계를 한눈에 파악 가능하여 설계 과정에서 문제점을 사전에 발견하고 수정 가능
- 데이터베이스 설계자와 개발자 간의 의사소통 원활, 시스템에 대한 전반적인 이해를 높일 수 있음
- 최종 ERD를 바탕으로 실제 데이터베이스 스키마를 생성하여 효율적인 데이터 모델 구축 가능
'네트워크캠퍼스 > DATABASE' 카테고리의 다른 글
WHERE절 (0) | 2024.02.16 |
---|---|
DML (0) | 2024.02.15 |
DDL (0) | 2024.02.15 |
데이터 모델링의 중요 개념 (0) | 2024.02.13 |
데이터 모델의 이해 (0) | 2024.02.13 |