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
- PostgreSQL
- statement
- DATABASE
- 몽고디비
- postgres
- Collections
- python
- 자바스크립트
- 밴쿠버응급실
- insert_into
- python데이터베이스연동
- query
- 데이터베이스
- 서브쿼리
- DBFilter
- insertOne
- javascript
- sql
- SubqueryFilter
- MySQL
- subquery
- DB
- sqlite3
- PreparedStatement
- 파이썬
- cursor()
- PostgresDB
- onetoone
- MongoDB
- Join
Archives
- Today
- Total
새벽코딩
[PostgresDB-2] 8-2. Relationship ( 1:N) 실습 본문
Programming/Postgres DB
[PostgresDB-2] 8-2. Relationship ( 1:N) 실습
midnightcoder 2022. 12. 15. 15:12여기서는 3 종류의 Table을 만들어서, 관계를 형성한다
user, photos, comments 3가지 table을 만들 예정 (instargram 컨셉)
users 테이블 생성 및 데이터 추가
-- users 테이블 생성
CREATE TABLE users (
id SERIAL PRIMARY KEY, -- PK 선언(SERIAL: 자동 생성 타입)
nickname VARCHAR(50),
email VARCHAR(100)
);
-- users 레코드 등록
INSERT INTO
users(nickname, email) -- nickname과 email만 넣어줌(id자동)
VALUES
('cloudstudying_kr', 'mail@cloudstudying.kr'),
('hongpark_cs', 'sehongpark@cloudstudying.kr'),
('haesamq', 'haesamq@naver.com')
;
photos 테이블 생성 및 데이터 추가
-- photos table 생성
CREATE TABLE photos(
id SERIAL PRIMARY KEY,
filename VARCHAR(255),
user_id INTEGER REFERENCES users(id) --FK: 사진 게시자의 PK로 연결
);
-- photos 레코드 등록
INSERT INTO
photos(filename, user_id)
VALUES
-- 1번 유저의 사진 업로드
('cat-on-road.jpg', 1),
('sunset-over-the-ocean.jpg', 1),
('andromeda-galaxy.jpg', 1),
-- 2번 유저의 사진 업로드
('white-tiger.jpg', 2),
('nero-the-black-cat.jpg', 2)
;
-- photos recode 조회
SELECT
*
FROM
photos
;
comments table 생성 및 데이터 추가
-- comments 테이블 생성
CREATE TABLE comments (
id SERIAL PRIMARY KEY, -- PK
body VARCHAR(1000),
user_id INTEGER REFERENCES users(id), -- FK: 댓글 작성자
photo_id INTEGER REFERENCES photos(id) -- FK: 댓글이 달린 사진
);
-- comments 레코드 등록
INSERT INTO
comments(body, user_id, photo_id)
VALUES
-- 1번 사진의 댓글들
('meow', 1, 1), -- 유저#1
('nyaong', 2, 1), -- 유저#2
('냐옹', 3, 1), -- 유저#3
-- 2번 사진의 댓글들
('sunset', 1, 2), -- 유저#1
('falling slowly', 2, 2), -- 유저#2
-- 3번 사진의 댓글들
('Andromeda galaxy', 1, 3), -- 유저#1
('mysteriouse..!', 3, 3) -- 유저#3
;
-- comments recode 조회
SELECT
*
FROM
comments
;
현재 table간의 관계
'Programming > Postgres DB' 카테고리의 다른 글
[PostgresDB-2] 9-2. Relationship ( 1:1, M:N) 일대일, 다대다 [실습] (0) | 2022.12.21 |
---|---|
[PostgresDB-2] 9. Relationship ( 1:1, M:N) 일대일, 다대다 (0) | 2022.12.21 |
[PostgresDB-2] 8. Relationship ( 1:N, 1:1, M:N) & PK, FK (0) | 2022.12.15 |
[PostgresDB] 7. Timestamptz (0) | 2022.12.15 |
[PostgresDB] 6. Aggregate Function (feat. SUM, AVG, MIN, MAX) (0) | 2022.12.15 |