데이버베이스의 기본

데이버베이스의 기본

Tags
Backend
Published
Author

SQL(Structured Query Langauage)

1. Entity 엔티티

  • 여러 개의 속성을 지닌 명사
  • ex) 회원이라는 entity - 이름/아이디/주소/전화번호 등의 속성을 가진다.
  • 서비스의 요구사항에 따라 속성은 달라질 수 있다.

2. Relation 릴레이션

  • DB에서 정보를 구분하여 저장하는 기본 단위
  • Entitly 하나를 Relation 하나에!

3. Attribute 속성

  • 릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보
  • 서비스의 요구사항을 기반으로 관리해야 할 필요가 있는 속성들만 엔터티의 속성이 된다.

4. Domain 도메인

  • 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합
  • ex) 회원의 나이 속성이 가질 수 있는 값 = {1,2,3,40,100}

5. 필드와 레코드

id
account_name
email
address
gender
created_at
1
장윤서
younseojj@gmail.com
서울
여성
2022-12-23-23:12:38
2
정성우
anfrosus@naver.com
서울
남성
2023-01-12-01:43:49
  • 회원이라는 entity는 테이블로 이름,이메일,주소,성별 등의 속성
  • account_name,email,address,gender 등의 필드
  • 테이블에 쌓이는 한 줄 한 줄의 데이터 = 레코드 = 튜블
  • 레코드의 단위 = 행(row)

6. 필드 타입

  • 날짜 타입
    • DATE : 날짜만
    • DATETIME : 날짜 및 시간 모두
    • TIMESTAMP : 날짜 및 시간 모두
  • 문자 타입
    • CHAR : 0~255 사이의 값을 가질 수 있다. 길이가 고정
    • VARCHAR : 0~65,535 사이의 값, 가변 길이 문자열
    • TEXT : 큰 문자열 저장용 (게시판의 본문 등)
    • BLOB : 이미지, 동영상 등 큰 데이터 저장용
    • ENUM, SET : 문자열을 열거한 타입

  • 테이블 간의 관계를 좀 더 명확하게 하고, 테이블 자체의 인덱스를 설정하기 위해 필요
  • 기본키, 외래키, 슈퍼키, 대체키
  • 기본키(Primary Key, PK) : 유일성과 최소성을 만족하는 키
    • 기본키는 중복이 안됨
  • 외래키(Foreign Key, FK) : 다른 테이블의 PK를 참조하는 값
    • 외래키는 중복이 됨
  • 후보키 : 기본키가 될 수 있는 후보들
  • 대체키 : 후보키가 두 개 이상일 경우 어느 하나를 PK로 지정하고 남은 후보키
  • 슈퍼키 : 레코드를 유일하게 식별할 수 있는 유일성을 갖춘 키