TIL230902(토)

박지은·2023년 9월 2일
0

TIL

목록 보기
16/36

오늘은 RDM (관계형 데이터베이스) SQL과
ORM과 Prisma에 대해서 배웠다.
오늘은 RDM, SQL에 대해서 정리

01. 관계형 데이터베이스 (RDB)

각 데이터를 ‘테이블’이라는 표형태의 구조에 저장합니다. 여기서, 각 ‘테이블’은 여러 정보를 저장하며, ‘테이블’간에 연관 관계를 설정하여, 여러 테이블에 분산된 데이터를 서로 연결하여 관리할 수 있습니다.

관계형 데이터베이스와 비관계형 데이터베이스의 개념

MongoDB는 비관계형 데이터베이스(NoSQL)에 해당

  • 특징 : 데이터형식이 자유로움
  • 저장(Write)과 읽기(Read) 작업이 더욱 빠르며, 복잡한 비즈니스 로직 없이 주로 데이터 읽기와 쓰기에 중점을 둔 서버에서 주로 사용
  • 빅데이터 환경이나 단순 페이지뷰가 많은 어플리케이션에서 주로 사용

MySQL이 바로 관계형 데이터베이스(RDB)에 해당

  • 특징: "테이블" 이라는 개념이 존재합니다. 여기서 테이블이란, 여러개의 ‘열(column)’과 ‘행(row)’을 가지는데, 이는 저희가 많이 사용한 엑셀의 표와 유사한 형태
  • 한 가지 주목해야 할 점은 이 테이블(표)들 간에는 서로 연관 관계(Relationship)를 가질 수 있다는 것입니다. 이러한 관계를 통해 더욱 복잡한 쿼리를 작성할 수 있고, 바로 이 점이 “관계형 데이터베이스”라는 이름의 유래가 된것
    -특히 보안이 중요한 기관이나, 은행과 같은 안전성을 중시하는 회사들

02. SQL (Structured Query Language)

SQL : 데이터베이스에서 사용되는 생성, 삽입, 조회 명령문

SQL 제약조건

제약 조건(Constraint)은 각 컬럼들간의 제한사항을 관리하고, 조건을 위반하는 데이터를 방지하여 데이터베이스의 무결성(Integrity)을 보장하는 규칙

SQL 제약조건 4가지

  • 고유(Unique) 제약 조건
  • NULL 제약 조건
  • 기본 키 (Primary Key) 제약 조건
  • 외래 키 (Foreign Key) 제약 조건

외래키 제약 조건

  • 외래 키(Foreign Key) 제약 조건은 테이블과 다른 테이블간의 관계를 맺을 때 사용하는 제약 조건
  • 데이터베이스를 설계할 때 가장 많은 고민을 하게 될 테이블 간의 관계를 설정하는 조건
  • 한 테이블의 컬럼(Column)이 다른 테이블의 특정 행(Row)을 참조하도록 설정하는 조건.

연관 관계는 대표적으로 3가지의 형태로 표현할 수 있습니다.

  • 1:1 - 1명의 사용자(User)는 1개의 사용자 정보(UserInfo)를 가질 수 있다.
  • 1:N - 1명의 사용자(User)는 여러개의 주문(Order)을 할 수 있다.
  • N:M - 여러명의 학생(Student)은 여러개의 학원(School)을 등록할 수 있다.

외래키 제약 조건 심화

외래 키의 경우 다른 테이블과 관계를 맺고 있는 참조 데이터가 삭제(DELETE)또는 수정(UPDATE)될 때 어떤 행위를 해야하는지 설정할 수 있습니다. 이런 행위를 수행하는 조건을 연계 참조 무결성 제약 조건이라고 정의합니다.

DB 설계를 할 때, flow
1. 일단 각 주체의 테이블 설계가 필요
2. 연관관계를 고민
3. ERD : 연관관계를 다이어그램으로 표시

ERD

profile
성장하는뿅아리

0개의 댓글

관련 채용 정보