inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

AI 시대에 살아남기: Supabase로 백엔드 뚝딱!

todos 테이블, RLS, 트리거 생성하기

todos 테이블, RLS, 트리거 생성 미션 질문드립니다

118

춘녕녕

작성한 질문수 1

0

정답으로 보여주신 이미지에는 아래와 같이 FK가 설정되어있는 것 같았는데 맞을까요?
profiles.user_id -> auth.users.id (CASCADE) todos.user_id -> auth.users.id (CASCADE) todos.user_id -> profiles.users.id (CASCADE)

todos.user_id -> profiles.users.id를 잇는 FK는 왜 필요한거고, 어떤 의도로 생성하는것인지 궁금합니다

node.js dbms/rdbms oauth backend supabase

답변 2

0

제로초(조현영)

네네 맞습니다.

todos와 profiles 간의 fk는 필수는 아닌데 데이터 무결성과 CASCADE를 위해서 추가한 것입니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 춘녕녕님.

제시된 관계에서 todos.user_id -> profiles.users.id (CASCADE)로 연결된 외래 키(Foreign Key)는 데이터베이스의 무결성(integrity)을 유지하기 위한 것입니다. 데이터의 consistency를 보장하고 데이터베이스의 구조적 관계를 명확히 하기 위해 외래 키 설정은 중요합니다.

  1. FK의 목적: 외래 키는 todos 테이블의 user_idprofiles 테이블의 user_id와 일치해야 함을 보장합니다. 이렇게 함으로써 todos 테이블에 있는 항목들이 이미 존재하는 사용자 프로필에 연결되도록 보장합니다.

  2. 의도와 효과:

    • 데이터 무결성을 유지하여 잘못된 데이터 삽입을 방지합니다.
    • 데이터베이스 관계를 명확히 정의하고, 데이터를 조작할 때 이를 통해 참조 무결성을 자동으로 관리합니다.
    • CASCADE 옵션은 상위 테이블에서 데이터를 삭제하거나 수정할 때, 참조된 하위 테이블의 데이터가 자동으로 삭제되거나 수정되도록 설정합니다.

이와 관련된 더 깊은 이해는 아래 URL에서 접근하여 기존의 답변들을 참고해보시면 도움이 될 수 있습니다:
- 시퀄라이즈 as 역할 - 시퀄라이즈 모델에서 외래 키와 관계 설정에 대한 논의입니다.
- 질문이 계속생기네요… - 외래 키와 테이블 관계 설정에 대한 구체적인 예시를 제공하는 답변입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

물리적 모델링 - 실습 (역정규화) 질문

0

1

1

「김영한의 실전 데이터베이스 - 성능 최적화」

0

6

1

5장부터는 미션 상세 내용이 없는데 어떻게 작성해야되나요?

0

12

1

MSA 와 BFF 아키텍처 설명 부분에 대한 문의

0

26

1

유니티 제외 설치한 프로그램들 및 파일 삭제 방법

0

32

1

깃허브에서 콤피유아이 매니저 설치하는게 안됩니다.

0

37

2

플러터 세팅 후 새폴더 생성건

0

34

1

eslint.config.js 설정 질문입니다.

0

42

2

7강 흐름 제어 아키택쳐 코드 순서

1

37

1

Monolith 아키텍쳐 질문

0

37

0

<div id="banner">배너 이미지</div> 관련 질문

0

28

1

5강, 오류 수정과 관련해서

0

44

2

3,4장 이후 미션 제출 질문

0

42

2

컴퓨터를 껐다가 클로드 코드 다시 키는 방법 알려주세요.

0

35

1

강의 자료는 어디있나요?

0

29

1

윈도우에서 Node js를 설치하고 싶어요

0

34

0

supabase mcp로 테이블 생성 보여주실떄

0

42

2

addToFile function에서 path를 사용해 새로운 파일을 생성

0

41

1

강의자료는 어떻게 제작하시나요?

0

47

2

용어 사전

0

44

2

수파베이스 ORM 질문

0

61

2

트리거 질문

0

54

1

비개발자이고, 바이브코딩을 하는 40대중반 직장인입니다.

0

215

1

감사히 잘 듣겠습니다.

1

126

1