Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- query
- SubqueryFilter
- 몽고디비
- insert_into
- python
- 밴쿠버응급실
- 데이터베이스
- Join
- postgres
- javascript
- subquery
- python데이터베이스연동
- statement
- PostgresDB
- 자바스크립트
- MySQL
- MongoDB
- cursor()
- insertOne
- 파이썬
- 서브쿼리
- PostgreSQL
- Collections
- DB
- PreparedStatement
- DBFilter
- sql
- sqlite3
- onetoone
- DATABASE
Archives
- Today
- Total
새벽코딩
[PostgresDB-2] 9-2. Relationship ( 1:1, M:N) 일대일, 다대다 [실습] 본문
Programming/Postgres DB
[PostgresDB-2] 9-2. Relationship ( 1:1, M:N) 일대일, 다대다 [실습]
midnightcoder 2022. 12. 21. 03:19- 일대일 관계 실습
개인 설정(SETTINGS) 테이블
setting table을 만들고, 기존에 user table과 아래와 같이 연결
테이블 생성 및 데이터 등록 쿼리
-- settings 테이블 생성
CREATE TABLE settings(
id SERIAL PRIMARY KEY, --PK
private BOOLEAN, -- BOOLEAN: 참(TRUE) / 거짓(FALSE)
adding_photos VARCHAR(15),
user_id INTEGER UNIQUE REFERENCES users(id) --FK : 개인설정 유저(N:1)
);
-- settings 레코드 등록
INSERT INTO
settings(private, adding_photos, user_id)
VALUES
(FALSE, 'MANUAL', 1), -- 유저#1
(FALSE, 'AUTO', 2), -- 유저#2
(TRUE, 'AUTO', 3) -- 유저#3
;
SELECT
*
FROM
settings
;
여기서 FK를 설정할때, UNIQUE는 1:1 관계라는걸 나타낸다 (없으면, one to one 관계가 아님)
여기서, user_id 가 3인 데이터를 추가로 입력하려고 시도 할 경우 error가 발생한다.
why?
-- settings 레코드 추가 등록
INSERT INTO
settings(private, adding_photos, user_id)
VALUES
(TRUE, 'AUTO', 3) -- 유저#3 추가
;
1 대 1연결을 위해서 UNIQUE 를 써줘서, 동일한 user_id가 더 들어갈 수 없다.
출처 : 홍팍의 'SQL 데이터 분석, 활용!'
'Programming > Postgres DB' 카테고리의 다른 글
[PostgresDB-2] 10. Relationship (별다방 카페 실습) (0) | 2022.12.21 |
---|---|
[PostgresDB-2] 9-3. Relationship ( 1:1, M:N) 일대일, 다대다 [실습] (2) | 2022.12.21 |
[PostgresDB-2] 9. Relationship ( 1:1, M:N) 일대일, 다대다 (0) | 2022.12.21 |
[PostgresDB-2] 8-2. Relationship ( 1:N) 실습 (0) | 2022.12.15 |
[PostgresDB-2] 8. Relationship ( 1:N, 1:1, M:N) & PK, FK (0) | 2022.12.15 |