Devlog
article thumbnail

위 글은 해당 카테고리의 수업 강의 자료를 정리한 것입니다. 

 

 

 

1. 개요

  • Data(자료) + Base(저장장소)
  • 여러 응용 시스템(프로그램)들의 통합된 정보들을 저장하여 운영할 수 있는 공용(share) 데이터의 집합
  • 효율적으로 저장, 검색, 갱신할 수 있도록 데이터 집합들끼리 연관시키고 조직화되어야 함 

 

 

2. 데이터베이스의 특성

  • 실시간 접근성(Real-time Accessability): 사용자의 요구를 즉시 처리할 수 있음
  • 계속적인 변화(Continuous Evolution): 정확한 값을 유지하려고 삽입, 삭제, 수정 작업 등을 이용해 데이터를 지속적으로 갱신할 수 있음
  • 동시 공유성(Concurrent Sharing): 사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근 이용할 수 있음
  • 내용 참조(Content Reference): 저장한 데이터 레코드의 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터 값에 따라 참조할 수 있어야 함

 

 

3. 데이터베이스 관리시스템(DBMS, Database Management System)

  • 데이터베이스를 관리하는 소프트웨어로 여러 응용 소프트웨어(프로그램) 또는 시스템이 동시에 데이터베이스에 접근하여 사용할 수 있게 함
  • 필수 3기능
    • 정의 기능: 데이터베이스의 논리적, 물리적 구조를 정의
    • 조작 기능: 데이터를 검색, 삭제, 갱신, 삽입, 삭제하는 기능
    • 제어 기능: 데이터베이스의 내용 정확성과 안전성을 유지하도록 제어하는 기능
  • Oracle, SQL Server, MySQL, DB2 등의 상용 또는 공개 DBMS가 있음

 

 

4. 데이터베이스 관리시스템의 장단점

  • 장점
    • 데이터 중복이 최소화
    • 데이터의 일관성 및 무결성 유지
    • 데이터 보안 보장
  • 단점
    • 운영비가 비쌈
    • 백업 및 복구에 대한 관리가 복잡
    • 부분적 데이터베이스 손실이 전체 시스템을 정리

 

 

5. 관계형 데이터베이스(RDB, Relational Database)

  • 1970년 IBM E. F. Codd에 의해 제안되어 수십년 동안 주류 데이터베이스로 성장 확대
  • 키와 값들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 개념의 데이터베이스
  • 일련의 정형화된 테이블로 구성된 데이터 항목들의 집합이며 각 테이블은 데이터의 성격에 따라 여러 개의 컬럼(키)이 포함됨
  • 사용자는 SQL(Structured Query Language)이라는 표준 질의어를 통해 데이터를 조작, 조회할 수 있음

 

 

6. SQL(Structured Query Language)

  • 데이터베이스 스키마 생성, 자료의 검색, 수정, 데이터베이스 객체 접근 관리 등을 위해 고안된 언어
  • 다수의 데이터베이스 관련 프로그램의 표준언어
  • SQL 명령어의 종류
    • DML(Data Manipulation Language)
      • 데이터 조작어로 검색 및 수정하기 위한 수단 제공
      • SELECT, INSERT, UPDATE, DELETE, MERGE
    • DDL(Data Definition Language)
      • 데이터 구조를 생성, 변경, 삭제 등의 기능을 제공
      • CREATE, ALTER, DROP, RENAME
    • DCL(Data Control Language)
      • 데이터에 대한 권한 관리 및 트랜잭션 제어
      • GRANT, REVOKE

 

 

7. 테이블 구조

  • 테이블: RDBMS의 기본적 저장 구조, 한 개 이상의 column과 0개 이상의 row로 구성
  • 열(column): 테이블 상에서의 단일 종류의 데이터를 나타냄, 특정 데이터 타입 및 크기를 가짐
  • 행(row): column들의 값의 조합, 레코드라고도 부름, 기본키(PK)에 의해 구분됨, 기본키는 중복을 허용하지 않으며 없어서는 안됨
  • Field: row와 column의 교차점, field는 데이터를 포함 할 수도 있고 없을 때는 null 값을 가짐

 

 

8. Primary Key(PK, 기본키)

  • 릴레이션에서 튜플을 구분하기 위하여 사용하는 기본키
  • 하나의 애트리뷰트 또는 애트리뷰트의 집합(복합키) 가능
  • 관리자에 의해 릴레이션 생성시 정의됨 (자동으로 index 생성)
  • 동일한 PK를 지닌 레코드가 존재할 수 없음

 

 

9. Foreign Key(FK, 외래키)

  • 기본키를 참조하는 속성
  • 다른 테이블과의 연결고리
  • null 가능 (= 참조되지 않음을 의미)
profile

Devlog

@덩이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그