일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- bootstrap
- http
- github
- firestoredatabase
- W
- API
- data
- jQuery
- useEffect
- supabase
- Fetch
- REACT
- til
- TMDB
- url
- 배포
- CSS
- Github Pages
- JavaScript
- Protocol
- nosql
- db
- SQL
- Database
- Cloud
- IntersectionObserver
- HTML
- web
- Boostrap
- this
- Today
- Total
072DATA
ERDCloud 사용법 (팀 프로젝트, ERD 생성) 본문
오늘은 팀 프로젝트를 시작하기에 앞서 ERDCloud를 활용하여 데이터베이스 세팅을
더 쉽고 효율적으로 할 수 있도록 학습해 보았습니다..! 사실 예전에 해봤는데 다 까먹음
ERDCloud 링크
팀 프로젝트 생성
팀으로 시작하기 위해서 사진에 표시된 버튼을 누르고
팀 이름과 팀에 초대할 유저의 아이디를 저장하고 프로젝트를 생성합니다.
만약 팀 프로젝트를 생성한 뒤에 다른 유저를 초대하려면
팀 프로젝트에서 사진에 나와있는 수정 버튼을 눌러 처리하면 됩니다.
테이블 생성 및 프라이머리 키
탭에 있는 4번째 순서인 테이블 생성 버튼을 눌러서 테이블을 생성하고
노란색 플러스 버튼을 눌러서 프라이머리 키를 추가합니다
프라이머리 키는 테이블에서 각 레코드를 고유하게 식별할 수 있는 필드입니다!!
각 테이블에는 반드시 하나의 프라이머리 키가 있어야 하고 중복되지 않는 값이어야 합니다
따라서 일반적으로 id라는 컬럼을 프라이머리 키로 설정할 수 있으며( 꼭 id가 아니어도 됨)
프라이머리 키로 지정된 컬럼은 기본적으로 NULL 값을 가질 수 없습니다
데이터베이스가 각 레코드(행 혹은 row)를 고유하게 식별할 수 있게 해줍니다
연결선을 사용하여 외래 키 설정하기
만약 관계를 가지는 테이블이 있다면 관계선을 설정해 이어준 다음 외래 키( Foreign Key )를 설정할 수 있습니다
예를 들자면 게시글을 회원이 작성했다면 회원에 대한 정보를 보여주어야 하니까
회원의 테이블과 게시글의 테이블을 연결 시켜야 합니다 한 사용자(Kim)가 여러 게시글을 작성할 수 있고 (게시글 1,2,3)
하나의 게시글은 한 사용자에게만 속하기 때문에 (각 게시글은 user_id 하나만) ERD의 연결선을 한개 또는
여러개로 설정하여 이어주면 됩니다
- 1:1 = 서로 딱 하나씩만 연결
- 한 개의 USER_ID로 게시글을 단 한 번만 작성할 수 있으며
그 게시글에는 하나의 USER_ID만 담기게 되는 경우
- 한 개의 USER_ID로 게시글을 단 한 번만 작성할 수 있으며
- 1:N = 한쪽은 하나, 다른 쪽은 여러 개 연결 가능
- 한 개의 USER_ID로 여러 개의 게시글을 작성할 수 있으며
그 게시글에는 하나의 USER_ID만 담기게 되는 경우
- 한 개의 USER_ID로 여러 개의 게시글을 작성할 수 있으며
- N:M = 양쪽 다 여러 개 연결 가능
- 하나의 게시글에 여러 명의 사용자가 좋아요를 누를 수 있고
- 사용자는 하나의 게시글뿐만 아니라 다른 게시글에도 좋아요를 누를 수 있는 경우
관계 설정하기
연결하고나서 식별 관계와 비-식별 관계에 대해서 나오는데 이게 굉장히 헷갈립니닷..
식별 관계의 경우 부모의 프라이머리 키를 자식의 외래 키인 동시에 프라미어리 키로 사용하는 관계입니다..
식별 관계의 특징
- 자식 테이블의 레코드(행 혹은 row)가 부모 테이블의 프라이머리 키 없이는 존재할 수 없음
- 외래 키와 프라이머리 키가 같은 컬럼으로 설정됨
- 복합 키를 만들어야 하므로 복잡함.
비-식별 관계의 경우에는 부모의 키는 자식의 외래 키일 뿐자식은 독립적인 키를 가지게 됩니다!
비-식별 관계의 특징
- 부모의 프라이머리 키는 자식의 외래 키로만 사용하고 자식은 독립적인 프라이머리 키를 가짐
따라서 부모와 관계는 있지만 독립적인 식별자를 가질 수 있음.
물론 더 이해하려고 하면 되게 어려워질 것 같은 개념인 것 같은데
프론트 개발자 입장에서는 이정도만 알아도 충분할 것 같단 느낌이 드는 것 같습니닷..
따라서 저는 게시물은 독립적인 프라이머리 키를 가진 ID값이 존재하고 작성자의 데이터
정도를 가져오면 충분하기 때문에 비-식별 관계를 사용하여 부모의 아이디를 외래 키로 가져왔습니다
내보내기
마지막으로 ERD의 유용한 기능인 내보내기 기능인데 설정한 ERD를 SQL문으로 설정할 수 있어서
데이터 베이스를 세팅하기 전 꼭 필요한 과정이라고 생각이 들었습니다..! 그럼 20000!!!!
'BackEnd > DATABASE' 카테고리의 다른 글
나만의 추억 앨범 만들기 - 데이터베이스 활용( Firestore Database ) (2) | 2024.07.23 |
---|---|
파이어 베이스.. 이 녀석의 사용 설정 (0) | 2024.07.19 |
2023-11-20 : ( (1) | 2023.11.20 |
2023-11-17 : l (0) | 2023.11.17 |
2023-11-16 : ) (0) | 2023.11.17 |