[SQLD] 데이터 모델링의 이해 (2)
·
✏️ Study/📀 데이터베이스
[목차] [내용] 4절 관계 1. 관계의 정의 1) 사전적인 정의 : 상호연관성이 있는 상태 2. 관계의 페어링 1) 관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것(페어링)이고 이것의 집합을 관계로 표현한다는 것 2) 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 2개 이상의 관계가 형성될 수 있다 3) 인스턴스와 인스턴스 사이에 관계가 설정되어 있는 어커런스를 관계 페어링이라고 한다. * 엔터티가 인스턴스의 집합을 논리적으로 표현하였다면 관계는 관계 페어링의 집합을 논리적으로 표현한 것 3. 관계의 분류 1) 존재에 의한 관계 - 사원은 부서에 항상 속해있다. - 존재의 형태에 의해 관계가 형성된다 2) 행위에 의한 관계 - 주문은 고객이 주문을 할 때 발생한다 ..
[SQLD] 데이터 모델링의 이해 (1)
·
✏️ Study/📀 데이터베이스
[목차] 1과목 데이터 모델링의 이해는 2개의 장과 각각의 절로 이루어져 있다. 1장은 1~3절 (1), 4~5절 (2)로 분할했다. 1장 데이터 모델링의 이해 1절 데이터모델의 이해 2절 엔터티 3절 속성 [내용] 1절 데이터모델의 이해 1. 모델링의 특징 1) 추상화 2) 단순화 3) 명확화 * 모델링의 정의 : 현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법 2. 모델링의 3가지 관점 1) 데이터 관점(What, Data) : 데이터 중심 모델링 2) 프로세스 관점(How, Process) : 업무 중심. 업무가 실제 하고 있는 일은 무엇인지, 무엇을 해야 하는지를 모델링 3) 상관 관점(Data vs Process) : 업무 처리에 따라 데이터는 어떻게 영향을 받고..
[SQL 2-5강 (2)] UNION, UNION ALL, INTERSECT, EXCEPT
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 생각대로 SQL - 5 [강의내용] 생각대로 SQL - 5 문제1번) 영화배우가, 영화 180분 이상의 길이의 영화에 출연하거나, 영화의 rating이 R인 등급에 해당하는 영화에 출연한 영화 배우에 대해서, 영화배우 ID와 (180분이상 / R등급영화)에 대한 Flag 컬럼을 알려주세요. - 1) film_actor 테이블와 film 테이블을 이용하세요. - 2) union, unionall, intersect, except 중 상황에 맞게 사용해주세요. - 3) actor_id가 동일한 flag 값이 여러개 나오지 않도록 해주세요. 구해야 할 컬럼이 딱 2개이다(actor_id, flag) 다만, flag의 값은 두 종..
[SQL 2-5강 (1)] INTERSECT, EXCEPT
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 38. 집합 연산자와 서브커리 - 03. INTERSECT 연산 39. 집합 연산자와 서브커리 - 04. EXCEPT 연산 [강의내용] 38. 집합 연산자와 서브커리 - 03. INTERSECT 연산 INTERSECT 연산자는 2개 이상의 SELECT 문들의 결과 집합을 하나의 결과 집합으로 결합한다. 교집합을 만들어준다. INNER JOIN과 똑같기 때문에 실무에서 굳이 쓰지 않는다. 약간의 차이점은 UNION 류와 마찬가지로 2개의 SELECT문 간 컬럼의 갯수가 동일해야 하고, 데이터 타입이 동일해야 한다. 또한 NATURAL JOIN과 비슷하게 ON 뒤에 조건을 적어주지 않아도 INNER JOIN의 효과를 낼 수있다..
[SQL 2-4강 (2)] UNION, UNION ALL
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 36. 집합 연산자와 서브커리 - 01. Union연산 37. 집합 연산자와 서브커리 - 02. UnionAll연산 [강의내용] 36. 집합 연산자와 서브커리 - 01. Union연산 [UNION이란?] 2개 이상의 SELECT문들의 결과 집합을 단일 결과 집합으로 결합하며 결합시 중복된 데이터는 제거된다. JOIN이 수평으로 테이블을 연결하는 것이라면, UNION은 수직으로 연결하는 것이다. 그리고 JOIN은 기준 컬럼 1개가 필요하지만, UNION은 컬럼의 갯수, 데이터 타입이 동일해야 한다. [문법] SELECT COLUMN_1_1, COLUMN_1_2 FROM TABLE_NAME_1 UNION SELECT COLUM..
[SQL 2-4강 (1)] GROUP BY, HAVING, JOIN, CASE, ROUND
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 생각대로 SQL - 4 [강의내용] 문제2번) 영화등급(rating) 별로 몇개의 film을 가지고 있는지 확인해주세요. SELECT rating, count(film_id) AS count FROM film GROUP BY rating; 문제4번) 영화 배우(actor)들이 출연한 영화는 각각 몇 편인가요? - 영화 배우의 이름 , 성 과 함께 출연 영화 수를 알려주세요. actor 테이블에서 배우들의 이름, 성을 가져와야 하고, film_actor 테이블에서 actor_id 별 film_id를 count하면 될 것 같다. GROUP BY를 써야 하는데 actor 테이블에서 이름, 성을 가져와야 하므로 서브쿼리를 이용해 ..
[SQL 2-3강] GROUP BY, HAVING
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 24. 조인과 집계 데이터 - 08. Group By절 25. 조인과 집계 데이터 - 09. Having절 [강의내용] 24. 조인과 집계 데이터 - 08. Group By절 GROUP BY절은 SELELCT문에서 반환된 행을 그룹으로 나눈다. 각 그룹에 대한 합계, 평균, 카운트 등과 같은 집계함수 계산을 할 수 있다. SUM과 같은 집계(Aggregation)함수를 사용할때는 반드시 GROUP BY를 사용해야 한다. [문법] SELECT COLUMN_1, 집계함수(COLUMN_2) FROM TABLE_NAME GROUP BY COLUMN_1; GROUP BY 절은 FROM 또는 WHERE절 바로 뒤에 나타나야 함 [실습..
[SQL 2-2강 (2)] JOIN, LEFT, CASE
·
✏️ Study/PostgreSQL
[강의명] 패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반 [수강목록] 생각대로 SQL - 3 [강의내용] 생각대로 SQL - 3 문제10번) country가 china가 아닌 지역에 사는, 고객의 이름(first_name, last_name)과 , email, phonenumber, country, city 를 알려주세요 country 테이블을 추가로 조인하여 where절에서 not china를 설정해야 한다. SELECT c.first_name, c.last_name, c.email, a.phone, co.country, ct.city FROM customer c JOIN address a ON c.address_id = a.address_id JOIN city ct ON a.city_id..