4주차 공부 - 데이터베이스

HakJun·2022년 2월 15일
0
post-thumbnail
  1. 학습 목표
    RDBMS개념 적립
    SQL 이해
    DB 설계 방법 이해
    데이터베이스 용어 이해
    AWS RDS 구축
    📝실습 체크리스트
    [x] RDS 구축
    [x] RDS 인코딩 및 타임존 구축
    [x] 당근마켓, 배달의민족, 인스타그램, 야놀자 중 프로젝트를 정해서 DB 설계
    [x] 엑셀 시트에 앱 화면들을 10개이상 캡처한 후 리소스 추출

#당근마켓 api 설계 ERD

  1. 핵심 키워드
    RDBMS
    데이터베이스에 포함된 속성에 대한 추가, 편집 질의, 분석, 요약을 위해 사용하는 컴퓨터 소프트웨어를 일컫는다. 금융 거래, 인사 관리, 자산 관리 등 기업 업무에 이용되는 데이터들을 체계적으로 저장, 관리하기 위한 시스템이다. 관계형 데이터베이스 관리 시스템은 대량의 데이터를 관계형 모델에 따라 구조화해 저장, 관리하고, 사용자가 간단한 데이터베이스 언어로 복잡한 질의 연산을 요구할 수 있게 한다.
    SQL
    DDL
    데이터베이스와 구성 요소를 정의하기 위해 대화식 또는 프로그래밍 언어 소스 코드 내에서 사용될 수 있는 SQL 문장이다. 자료 부호화 또는 수치화 자료를 기계가 읽을 수 있는 형태로 변경하는 과정이다. DDL은 사용자에게 비도형 속성을 포함한 파일에 대한 트성과 스키마를 설명할 수 있게 한다.
    DML
    데이터베이스 관리 체계에 저장된 자료에 접근하고 조회하기 위해 대화 방식으로 사용하거나, 프로그래밍 언어 소스 코드에서 사용될 수 있는 SQL문장을 말한다.
    DCL
    데이터 제어어는 데이터베이스에 저장된 데이터를 여러 사용자가 무결성과 일관성을 유지하며 문제없이 공유할 수 있도록, 내부적으로 필요한 규칙이나 기법을 정의하는 데 사용하는 데이터 언어이다.
    DataBase 용어
    테이블(Table)
    관계형 데이터베이스에서 테이블은 세로줄과 가로줄의 모델을 이용하여 정렬된 데이터 집합의 모임이다. 테이블 내의 데이터는 물리적으로 데이터베이스에 저장되지는 않는다. 뷰 또한 관계형 테이블이지만 이들의 데이터는 쿼리 시간에 계산된다.
    행(Row)
    레코드또는 튜플로 불리기도 하며 어떤 테이블에서 단일 구조 데이터 항목을 가리킨다. 테이블에서 행은 일련의 관련 자료를 나타낸다.
    열(Colum)
    관계형 데이터베이스 테이블에서 특정한 단순 자료형의 일련의 데이터값과 테이블에서의 각 열을 말한다. 칼럼은 열이 어떻게 구성되어야 하는지에 대한 구조를 제공한다.
    스키마(Schema) (외부 스키마 / 개념 스키마 / 내부 스키마)
    데이터베이스의 구조에 관해서 이용자가 보았을 때 논리구조와 컴퓨터가 보았을 때의 물리 구조에 대해 기술하고 있다. 데이터 전체의 구조를 정의하는 개념 스키마, 실제로 이용자가 취급하는 데이터 구조를 정의하는 외부 스키마 및 데이터 구조의 형식을 구체적으로 정의하는 내부 스키마가 있다.
    유일성과 최소성
    유일성은 하나의 키값으로 튜플을 유일하게 식별할 수 있는 성질을 의미한다. 최소성은 키를 구성하는 속성들 중 꼭 필요한 최소한의 속성들로만 키를 구성하는 성질이다.

    슈퍼키
    유일성0, 최소성X
    대체키
    후보키 중 선택받지 못한 키
    후보키
    유일성0,최소성0
    기본키
    후보키 중 선택받은 키
    외래키
    다른 릴레이션의 기본키가 되는 키
    1:1 관계 / 1:N관계 / N:M관계1:N 관계는 한쪽 엔티티가 관계를 맺은 엔티티 쪽의 여러 객체를 가질 수 있는 것을 의미한다. // 엔티티 : 업무상 관리가 필요한 것을 의미, 명사
    N:M 관계는 서로가 1:N관계로 보고있는것으로, 예로는 학원과 학생의 관계를 들 수 있다.
    1:1관계란 어느 엔티티 쪽에서 상대 엔티티와 반드시 단 하나의 관계를 가지는 것을 말한다.
  2. 알아두면 좋을 SQL 연산자 및 함수 정리
    Copy of SQL 연산자
    🧐 추가적으로 알아보면 좋을 SQL 함수

문자형 함수
COUNT , SUM 집계 함수COUNT(*) :: NULL 값을 포함한 데이터의 개수 리턴
SUM(칼럼명) :: 칼럼의 데이터 타입이 숫자일 때, 특정 컬럼 값이 NULL인 값을 제외한 모든 데이터의 합을 리턴
COUNT(칼럼명) :: 특정 칼럼 값이 NULL 인 값을 제외한 데이터의 개수 리턴
문자형 함수는 문자 데이터를 매개 변수로 받아들여서 문자나 숫자 값의 결과를 돌려주는 함수입니다.

where 절 조건
select..from으로 검색할 경우 모든 행에 대해 검색하고, 이때, and, or, not 등의 연산이 가능하고, 문자열 검색을 위해서 like 연산자를 사용할 수 있습니다.
서브 쿼리가장 자주쓰이는 SELECT, WHERE, FROM 쿼리.
하나의 쿼리 문장 내에 포함된 또 하나의 쿼리 문장. 비교연산자의 오른쪽에 기술해야 하고 반드시 괄호 안에 넣어야 함.
반올림, 버림 함수TRUNC(숫자, 버릴 자릿수)- 숫자를 버릴 자릿수 아래로 버림
ROUND(숫자, 반올림할 자릿수) - 숫자를 반올림할 자릿수 +1 자릿수에서 반올림
Group By-칼럼그룹화SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼;출처:[확장형 뇌 저장소]SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼;출처:[확장형 뇌 저장소]
https://extbrain.tistory.com/56
-조건 처리 후에 컬럼 그룹화
https://extbrain.tistory.com/56
유형별로 갯수를 알고 싶을 때는 컬럼에 데이터를 그룹화 할 수 있는 GROUP BY를 사용한다.
is, null, is not null

Is not null은 null이 아닌 값을 불러오는 것을 의미한다.
Is null은 컬럼값이 null 인값을 불러오기를 의미한다.
JOIN (InnerJoin / Left Join / Right Join / OuterJoin / Full Join )교집합, 공통적인 부분을 SELECT한다.조인기준 왼쪽에 있는것을 모두 SELECT한다.조인기준 오른쪽에 있는것을 모두 SELECT한다.A테이블과 B테이블이 가지고 있는것을 모두 SELECT한다.
문자형 함수
COUNT , SUM 집계 함수COUNT(*) :: NULL 값을 포함한 데이터의 개수 리턴
SUM(칼럼명) :: 칼럼의 데이터 타입이 숫자일 때, 특정 컬럼 값이 NULL인 값을 제외한 모든 데이터의 합을 리턴
COUNT(칼럼명) :: 특정 칼럼 값이 NULL 인 값을 제외한 데이터의 개수 리턴
문자형 함수는 문자 데이터를 매개 변수로 받아들여서 문자나 숫자 값의 결과를 돌려주는 함수입니다.

where 절 조건
select..from으로 검색할 경우 모든 행에 대해 검색하고, 이때, and, or, not 등의 연산이 가능하고, 문자열 검색을 위해서 like 연산자를 사용할 수 있습니다.
서브 쿼리가장 자주쓰이는 SELECT, WHERE, FROM 쿼리.
하나의 쿼리 문장 내에 포함된 또 하나의 쿼리 문장. 비교연산자의 오른쪽에 기술해야 하고 반드시 괄호 안에 넣어야 함.
반올림, 버림 함수TRUNC(숫자, 버릴 자릿수)- 숫자를 버릴 자릿수 아래로 버림
ROUND(숫자, 반올림할 자릿수) - 숫자를 반올림할 자릿수 +1 자릿수에서 반올림
Group By-칼럼그룹화SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼;출처:[확장형 뇌 저장소]SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼;출처:[확장형 뇌 저장소]
https://extbrain.tistory.com/56
-조건 처리 후에 컬럼 그룹화
https://extbrain.tistory.com/56
유형별로 갯수를 알고 싶을 때는 컬럼에 데이터를 그룹화 할 수 있는 GROUP BY를 사용한다.
is, null, is not null

Is not null은 null이 아닌 값을 불러오는 것을 의미한다.
Is null은 컬럼값이 null 인값을 불러오기를 의미한다.
JOIN (InnerJoin / Left Join / Right Join / OuterJoin / Full Join )교집합, 공통적인 부분을 SELECT한다.조인기준 왼쪽에 있는것을 모두 SELECT한다.조인기준 오른쪽에 있는것을 모두 SELECT한다.A테이블과 B테이블이 가지고 있는것을 모두 SELECT한다.
문자형 함수
COUNT , SUM 집계 함수COUNT(*) :: NULL 값을 포함한 데이터의 개수 리턴
SUM(칼럼명) :: 칼럼의 데이터 타입이 숫자일 때, 특정 컬럼 값이 NULL인 값을 제외한 모든 데이터의 합을 리턴
COUNT(칼럼명) :: 특정 칼럼 값이 NULL 인 값을 제외한 데이터의 개수 리턴
문자형 함수는 문자 데이터를 매개 변수로 받아들여서 문자나 숫자 값의 결과를 돌려주는 함수입니다.

where 절 조건
select..from으로 검색할 경우 모든 행에 대해 검색하고, 이때, and, or, not 등의 연산이 가능하고, 문자열 검색을 위해서 like 연산자를 사용할 수 있습니다.
서브 쿼리가장 자주쓰이는 SELECT, WHERE, FROM 쿼리.
하나의 쿼리 문장 내에 포함된 또 하나의 쿼리 문장. 비교연산자의 오른쪽에 기술해야 하고 반드시 괄호 안에 넣어야 함.
반올림, 버림 함수TRUNC(숫자, 버릴 자릿수)- 숫자를 버릴 자릿수 아래로 버림
ROUND(숫자, 반올림할 자릿수) - 숫자를 반올림할 자릿수 +1 자릿수에서 반올림
Group By-칼럼그룹화SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼;출처:[확장형 뇌 저장소]SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼;출처:[확장형 뇌 저장소]
https://extbrain.tistory.com/56
-조건 처리 후에 컬럼 그룹화
https://extbrain.tistory.com/56
유형별로 갯수를 알고 싶을 때는 컬럼에 데이터를 그룹화 할 수 있는 GROUP BY를 사용한다.

profile
백엔드 & 전공 공부

0개의 댓글