[코드스테이츠] S2.Unit6 회고

JinYoung Choi·2023년 2월 4일
0

오늘은 sql에 대하여 배웠다. 작년에 정보처리기사를 따겠다고 이 부분을 열심히 공부했던 기억이 난다, 그래서 그런지 어렵지 않게 무난하게 끝낸것 같다.
특히 직접 인스타그램을 이용하여 스키마를 만들어 보는 시간은 유익하면서도 좋은 공부가 됐다.

오랜만에 몸무게를 재보고 깜짝 놀랐다 살이 많이 빠졌다 ㅠㅠ 아무래도 혼자 살면서 집에서 부트캠프만 듣고 있으니 끼니도 제대로 챙겨먹지도 못해서 그런가 보다 지금 부터라도 잘 챙겨 먹어야겠다.. 건강이 최고인데..

SQL (Structured Query Language)

  • 데이터베이스 용 프로그래밍 언어
  • 데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있다
  • 데이터가 구조화된(structured) 테이블을 사용하는 데이터베이스에서 활용할 수 있다
  • ex) MySQL, Oracle, SQLite, PostgresSQL, MariaDB

SQL 명령어

데이터베이스 생성

CREATE DATABASE 데이터베이스;

데이터베이스 사용

USE 데이터베이스;

테이블 생성

CREATE TABLE user (
  ...
);

테이블 정보 확인

DESCRIBE user;

데이터 검색

SELECT 특성

결과를 도출해낼 데이터베이스 테이블을 명시

SELECT 특성
FROM 테이블이름

필터 역할

SELECT 특성
FROM 테이블이름
WHERE 특성 = "특정 값"

정렬 (ASC 오름차순 DESC 내림차순)

SELECT *
FROM 테이블이름
ORDER BY 특성

결과로 출력할 데이터의 갯수 정하기

SELECT *
FROM 테이블이름
LIMIT 100

유니크한 값을 받기

SELECT DISTINCT 특성
FROM 테이블이름

둘 이상의 테이블을 서로 공통된 부분을 기준으로 연결

SELECT *
FROM 테이블_1
JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B

트랜잭션 - 여러 개의 작업을 하나로 묶은 실행 유닛

데이터 베이스 트랜잭션은 ACID특성을 갖고 있다.

  • Atomicity(원자성) - 하나의 트랜잭션에 속해있는 모든 작업이 전부 성공하거나 전부 실패해서 결과를 예측할 수 있어야 한다 ( 기존 데이터 보호 )
  • Consistency(일관성) - 데이터베이스의 상태가 일관되어야 한다는 성질
  • Isolation(격리성, 고립성) - 모든 트랜잭션은 다른 트랜잭션으로부터 독립되어야 한다
  • Durability(지속성) - 런타임 오류나 시스템 오류가 발생하더라도, 해당 기록은 영구적이어야 한다 ( 로그 )

NoSQL

데이터가 고정되어 있지 않은 데이터베이스 ex ) 몽고DB, Casandra

데이터베이스 설계

관계 종류

1:1 관계 - 하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우
1:N 관계 - 하나의 레코드가 서로 다른 여러 개의 레코드와 연결된 경우
N:N 관계 - 여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계가 있는 경우 이러한 관계는 조인테이블을 만들어 주어야 한다.
자기참조 관계(Self Referencing Relationship) - 추천인과 같은 관계

profile
백엔드 취준생

0개의 댓글