[CS] 9. 데이터베이스 기본 용어

ofohj·2023년 8월 11일
0

CS

목록 보기
14/14
post-thumbnail

1. 데이터베이스(Database)

개념

  • 체계적으로 구조화된 데이터의 모음
  • 여러 사용자나 응용 프로그램이 공유하여 사용할 수 있는 데이터를 저장하고 관리하는 시스템

역할

  • 데이터의 효율적인 관리, 검색, 조작
  • 데이터의 일관성, 무결성, 보안 유지

2. 엔티티(Entity)

개념

데이터베이스에서 특정 객체, 사물, 개념 등을 나타내는 추상적인 개념
ex. 객, 제품, 주문과 같은 실세계의 개체나 개념

구조

  • 데이터베이스 내에서 테이블의 행으로 표현

3. 릴레이션(Relation)

개념

데이터베이스에서 테이블을 의미

구조

  • 릴레이션은 행과 열의 조합으로 구성됨
  • 각 행은 엔티티의 인스턴스를, 각 열은 속성(Attribute)을 나타냄

4. 속성(Attribute)

개념

엔티티의 특성이나 데이터의 특징을 나타냄
ex. '고객' 엔티티의 속성: 이름, 주소, 전화번호 등

구조

  • 속성은 릴레이션의 열(Column)에 해당
  • 데이터베이스 테이블의 각 필드에 해당하는 정보를 담음

5. 도메인(Domain)

개념

  • 속성이 가질 수 있는 값의 범위를 정의하는 것
  • 각 속성은 특정한 도메인을 가지며, 해당 도메인 내에서만 유효한 값들을 가질 수 있음
    ex. '나이' 속성의 도메인은 0 이상의 양의 정수만 입력 가능

중간정리

💡 데이터베이스는 여러 개의 엔티티들로 구성되며, 각 엔티티는 릴레이션으로 표현되고 속성들을 가집니다. 이 때, 속성들은 특정 도메인 내의 값들로 제한됩니다.


6. 필드

개념

  • 데이터베이스 내에서 하나의 정보 조각을 나타냄
  • 각 필드는 특정한 데이터 유형(데이터 타입)을 가질 수 있으며, 엔티티의 특징을 나타냄
    ex, 이름, 나이, 주소

7. 레코드

개념

  • 데이터베이스 내에서 하나의 데이터 엔트리를 나타냄
    ex. 고객 테이블의 레코드: 특정 고객의 정보를 포함

8. 데이터 타입

개념

  • 필드가 가질 수 있는 값의 종류와 형식

예시

CREATE TABLE Customer (
    CustomerID INT,
    Name VARCHAR(50),
    Age INT,
    Email VARCHAR(100)
);

Text와 BLOB

공통점

큰 데이터를 저장할 때 쓰는 타입

차이점

  • Text: 큰 문자열 저장에 사용, 주로 게시판의 본문!
  • BLOB: 이미지, 동영상 등 큰 데이터 저장에 쓰임
    👉 잘 안쓰임. 일반적인 경우 이미지 호스팅 서비스에 파일을 올리고 해당 경로를 VARCHAR로 저장해 이미지 표시

9. 관계

예시

1:1 관계

유저 당 한 개의 이메일을 가질 때

1:N 관계

유저 당 여러 개의 상품을 가질 수 있을 때

N:M 관계

학생과 강의가 있을 때, 학생도 여러개의 강의를 들을 수 있고 강의도 여러명의 학생을 수용할 수 있을 때

10. 키

개념

테이블 간 관계를 명확하게 하고 인덱스 설정을 위해 있는 장치

종류

🙋‍♀️ 유일성: 중복되는 값이 없어야함
🙋‍♀️ 최소성: 필드를 조합하지 않고 최소 필드만 사용하여 키 형성!

⭐ 외래키

  • 한 테이블의 칼럼이 다른 테이블의 기본키를 그대로 참조하는 값
    👉 개체와의 관계를 식별하는데 사용
  • 데이터를 보호하고 정상적인 상태를 유지하는 무결성을 보장할 수 있음

0개의 댓글