관리 메뉴

효습

4.1 데이터베이스의 기본 본문

CS

4.1 데이터베이스의 기본

효효효효 2024. 9. 26. 16:54

DB (DataBase) : 일정한 규칙 , 규약을 통해 구조화되어 저장되는 데이터 모음

DBMS (DataBase Management System) : 데이터베이스를 제어 , 관리하는 통합 시스템

DBMS 마다 정의된 쿼리 언어(query language)를 통해 삽입 , 삭제 , 수정 , 조회 등을 수행할 수 있음

 

4.1.1  엔티티 (Entity)

 

사람 , 장소 , 물건 , 사건 , 개념 등 여러 개의 속성을 지닌 명사를 의미

서비스의 요구사항에 맞춰 속성을 정함

약한 엔티티와 강한 엔티티

A가 혼자서는 존재하지 못하고 B의 존재 여부에 따라 종속적이라면 A는 약한 엔티티이고 B는 강한 엔티티이다

 

4.1.2 릴레이션 (Relation)

  • 데이터베이스에서 정보를 구분하여 저장하는 기본 단위
  • 엔티티에 관한 데이터를 데이터베이스는 릴레이션 하나에 담아서 관리
  • 릴레이션은 관계형 데이터베이스에서는 테이블 이라고 하며 NoSQL에서는 컬렉션 이라고 함
    • MySQL은 레코드 - 테이블 - 데이터베이스 구조
    • NoSQL은 도큐먼트-컬렉션 - 데이터베이스 구조

 

4.1.3 속성 (Attribute)

릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보

 

4.1.4 도메인(Domain)

릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합

 

4.1.5 필드와 레코드

  • 필드 - 속성
  • 테이블에 쌓이는 행(row)이 레코드

 

필드

  • 날짜
    • DATE : 날짜 O , 시간 X , 3바이트
    • DATETIME : 날짜 O , 시간 O , 8바이트 ,1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 사이의 데이터를 지원
    • TIMESTAMP : 날짜 O , 시간 O , 4바이트 , 1970-01-01 00:00:01 ~ 2038-01-19 08:44:07까지의 데이터만 지원
    • DATETIME과 TIMESTAMP의 차이점 : TIMESTAMP타입의 값은 현재 시각 → UTC 시각으로 변환되며 DATETIME은 변환되지 않음 → 글로벌 서비스라면 TIMESTAMP 사용하는 게 좋음
  • ENUM & SET
    • ENUM : 메모리를 적게 사용하는 이점 , 최대 65,535개의 요소를 넣을 수 있음
    • SET : 여러 개의 데이터를 선택할 수 있고 비트 단위의 연산 가능 , 최대 64개의 요소를 집어넣을 수 있음

 

4.1.6 관계

1:1 관계

1:N 관계

 

N:M 관계

 

4.1.7 키

 

기본키(Primary key)

유일성과 최소성을 만족하는 키

자연키

주민등록번호 처럼 중복된 값들을 제외한 키들 , 언젠가는 변하는 속성을 가진

인조키

인위적으로 생성한 키 , 오라클은 sequence , MySQL은 auto increment 사용

 

외래키(Foreign Key)

다른 테이블의 기본키를 그대로 참조하는 값

개체와의 관계를 식별하는데 사용

 

후보키(Candidate Key)

기본키가 될 수 있는 후보들

유일성과 최소성을 동시에 만족

 

대체키(alternate key)

후보키가 두 개 이상일 경우 어느 하나를 기본키로 지정하고 남은 후보키들을 지칭

 

슈퍼키(Super key)

각 레코드를 유일하게 식별할 수 있는 유일성을 갖춘 키

'CS' 카테고리의 다른 글

4.2 ERD와 정규화 과정  (0) 2024.09.26
3.4 CPU 스케쥴링 알고리즘  (1) 2024.09.26
2.3 네트워크 기기  (0) 2024.09.04
2.2 TCP/IP 4계층 모델  (0) 2024.08.27
2.1 네트워크 기초  (0) 2024.08.27