[Database] 데이터베이스의 기본 (1)

2023. 4. 9. 19:51·CS/Database
728x90
반응형

1. 데이터베이스의 기본 

  • 데이터베이스(DB, DataBase)는 일정한 규칙, 혹은 규약을 통해 구조화 되어 저장되는 데이터의 모음입니다. 해당 데이터베이스를 제어, 관리하는 통합 시스템을 DBMS(DataBase Management System)라고 말합니다. 
  • 데이터베이스 안에 있는 데이터는 특정 DBMS마다 정의된 쿼리 언어를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있습니다. 
  • 데이터베이스는 실시간 접근과 동시 공유가 가능하다는 특징을 가지고 있습니다. 

데이터베이스와 DBMS

2. 엔터티

    • 데이터베이스에서 엔터티(Entity)란 현실 세계에서 독립적으로 존재하거나, 개별적으로 관리해야 하는 개념이나 객체를 의미합니다.
    • 엔터티의 예시를 회원으로 보자면 엔터티의 속성으로는 고객의 이름, 연락처, 주소 등의 정보를 갖을 수 있습니다.
    • 학생을 예시로 본다면 이름, 학과, 학번 등을 속성으로 볼 수 있습니다.

3. 약한 엔터티와 강한 엔터티 

  • 엔터티는 약한 엔터티와 강한 엔터티로 나뉘게 됩니다. 예시로 A가 혼자서는 존재할 수 없고 B의 존재 여부에 따라 존재하게 된다면 A는 약한 엔터티이고 B는 강한 엔터티가 됩니다. 
  • 우리의 세상 속으로 예시를 들어보면 학교와 교실로 예를 들 수 있습니다. 교실은 학교 안에서만 존재할 수 있기 때문에 교실은 약한 엔터티, 건물은 강한 엔터티로 분류할 수 있습니다.

4. 릴레이션

  • 릴레이션(relation)이란 데이터베이스에서 정보를 구분하여 저장하는 기본 단위입니다. 엔터티에 관한 데이터를 릴레이션 하나에 담아서 관리하게 됩니다. 
  • 릴레이션은 관계형 데이터베이스에서는 '테이블'이라고 하며, NoSQL 데이터베이스에서는 '컬렉션'이라고 합니다.

5. 테이블

  • 데이터베이스 테이블은 데이터를 저장하고 관리하기 위한 구조체입니다.
  • 테이블은 열(column)과 행(row)으로 구성되며, 열은 특정 유형(type)의 데이터를 저장하는 데 사용되는 필드(field)입니다. 행은 테이블에 저장된 개별 데이터 레코드(record)입니다.
  • 데이터베이스 테이블은 데이터를 구조화하고 검색, 정렬 및 필터링을 쉽게 하기 위해 사용됩니다. 테이블은 일반적으로 관련된 데이터를 저장하고 있는 레코드의 집합으로 구성됩니다.
  • 예를 들어, 고객 데이터베이스 테이블은 각 고객의 이름, 주소, 전화번호 등을 저장하는 데 사용됩니다.
  • 각 열은 고유한 이름을 가지며, 이를 컬럼(column)이라고 합니다. 컬럼은 특정 유형의 데이터를 저장하는 데 사용되며, 테이블의 다른 행과의 관계를 정의하는 데 사용될 수도 있습니다.

 

6. 도메인

  • 도메인(domain)이란 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합을 말합니다. 
  • 예를 들어, 학생 정보를 저장하는 데이터베이스의 도메인은 "학생"입니다. 이 도메인에는 학생의 이름, 학과, 학년, 학번 등의 데이터가 포함될 수 있습니다.
  • 이러한 데이터는 특정 형식과 범위를 가져야하며, 데이터베이스 도메인은 이러한 요구 사항을 정의합니다.

 

728x90
반응형

'CS > Database' 카테고리의 다른 글

[DataBase] 데이터베이스와 테이블 관리하기  (2) 2024.03.10
[Database] 트랜잭션과 무결성  (1) 2023.05.19
[Database] ERD와 정규화 과정  (2) 2023.05.18
[Database] 데이터베이스의 기본 (2)  (1) 2023.04.12
'CS/Database' 카테고리의 다른 글
  • [DataBase] 데이터베이스와 테이블 관리하기
  • [Database] 트랜잭션과 무결성
  • [Database] ERD와 정규화 과정
  • [Database] 데이터베이스의 기본 (2)
P_Piano
P_Piano
Apple 생태계 개발자가 되기 위한 학습과 경험의 기록
    반응형
    250x250
  • P_Piano
    피피아노의 개발 일지
    P_Piano
  • 전체
    오늘
    어제
    • 분류 전체보기 (207) N
      • Apple (125) N
        • iOS (22)
        • visionOS (4)
        • Swift (68) N
        • UIKit (2)
        • SwiftUI (23)
        • RxSwift (2)
        • Xcode (4)
      • C언어 (5)
      • C++ (8)
      • Dart (1)
      • Python (3)
      • JavaScript (17)
      • Git (1)
      • CS (39)
        • 디자인 패턴 (6)
        • 네트워크 (20)
        • 운영체제 (8)
        • Database (5)
        • 자료구조 (0)
      • IT 지식 (2)
      • IT 뉴스 (4)
      • 출처 표기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    클래스
    스위프트
    제어문
    combine
    visionOS
    Initializers
    ios
    옵셔널
    SWIFT
    오블완
    디자인패턴
    티스토리챌린지
    함수
    코딩테스트
    네트워크
    UIKit
    Optional
    프로세스
    프로그래머스
    비동기
    변수
    연산자
    Vision Pro
    자바스크립트
    프로퍼티 래퍼
    swiftUI
    운영체제
    배열
    Xcode
    이니셜라이저
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
P_Piano
[Database] 데이터베이스의 기본 (1)
상단으로

티스토리툴바