본문 바로가기

CS공부/SQL8

DB - key, 관계매핑, fetch Spring 을 사용하며 항상 헷갈렸던 개념이어서 한번은 정리의 필요성을 느끼고 정리해보려고 한다. DB에서 Key는 무슨 역할을 할까? ㅇ Key의 역할 - 키는 각 레코드를 고유하게 식별하는 역할을 함. 중복된 레코드를 방지할 수 있다. - 키를 사용하면 DB에서 레코드를 신속하게 찾고 조작할 수 있음. 효율적으로 검색할 수 있고 정렬할 수도 있다. - 데이터의 무결성을 보장한다. primary key는 각 레코드를 고유하게 식별해 데이터의 무결성을 유지하는데 역할을 한다. 또, 외래키를 사용해 다른 테이블 과의 관계를 정의하고 무결성 제약 조건을 적용 할 수 있다. - 테이블 간의 관계를 정의. 외래키는 한 테이블의 레코드가 다른 테이블의 특정 레코드와 관련되어 있음을 나타낸다. ㅇ Key의 종류 .. 2024. 1. 30.
테이블 결합, JOIN, UNION ㅇ 테이블 결합 테이블 결합은 왜 필요할까? SQL은 데이터를 효율적으로 관리해야하므로 테이블단위로 분리해노는데, 원하는 결과값을 얻기위해 테이블결합이 부득이하게 발생한다. 이런 테이블 결합에서 등장하는게 RDB 와 ERD이다. ㅁ RDB Relational DataBase로 관계형 데이터베이스라는 의미. 테이블간의 관계가 있어 언제든 결합할 수 있는 의미. MySQL, MsSQL 등이 RDB의 종류다. ㅁ ERD Entity-Relationship-Diagram 으로 개체-관계 모델이다. 테이블간의 관계를 설명해주는 모델로, 나는 프로젝트를 시작할때 미리 만들고 거기에 맞춰서 엔티티를 만들고 했다. ㅇ JOIN 다른 테이블을 결합하기 위해 작성한다. JOIN은 테이블 전체가 와서 결합하고 한쪽을 기준으.. 2024. 1. 23.
ORDER BY절, 서브쿼리 ㅇ ORDER BY절 특정 기준으로 데이터를 정렬하고 싶을 때, 행에 대한 정렬을 할 수있는 절 SELECT * FROM 테이블 WHERE 조건식 GROUP BY 기준 HAVING 조건식 ORDER BY 정렬기준 정렬방법(ASC, DESC) 정렬기준 : 칼럼명, 칼럼 조회 순서, 칼럼의 별칭명 정렬방법 : 오름차순(ASC), 내림차순(DESC) 학생 테이블이 있다 치자. 학생번호 성명 나이 a01 김태형 17 a02 김태순 18 a03 김태평 19 a04 김태횽 20 SELECT * FROM 학생 ORDER BY 나이 DESC 하면 아래와 같이 정렬되서 나온다. 학생번호 성명 나이 a04 김태횽 20 a03 김태평 19 a02 김태순 18 a01 김태형 17 나이순을 내림차순으로 정렬했다. 만약 정렬기준.. 2024. 1. 22.
GROUP BY절, HAVING절 ㅇ GROUP BY절 특정 기준으로 데이터를 그룹화할때 사용함. 묶음 처리의 기준은 두개 이상이 될 수 있음. SELECT * FROM 테이블 WHERE 조건식 GROUP BY 기준1, 기준2 예를 들어 직원 테이블이 아래와 같다면, 성별 이름 나이 판매액 남 김태형 29 5,000 남 권태헌 27 10,000 여 김태순 29 20,000 여 권태순 27 1,000 SELECT 성별, SUM(판매액) AS 총판매액 FROM 직원 GROUP BY 성별 성별 총판매액 남 15,000 여 21,000 이렇게 된다. 위의SUM같은 함수를 집계함수라고한다. ㅁ 집계함수 집계함수는 다양한 데이터값들을 한곳에모아서 계산하는것이다. 위에선 판매액의 SUM, 즉 합계를 구한것이다. - COUNT : 특정 칼럼의 행의 수.. 2024. 1. 19.