TIL 50일차 관계형 데이터베이스

들어가며

드디어 데이터베이스다. 그리고 금요일. 하루 쉬었는데도 매일 열심히 살다보니 주말이 반갑다. 오늘은 처음 DB를 배우는 날이다. 10년만에 만나는 SQL. 기본 문법이 달라진건 없는 것 같다. 그래서 조금은 여유롭게 진행한 날이지 않았나. 우선은 실전 위주로 SQL문이 어색하지 않을 정도로 연습하는게 목표다.

  • 퀴즈를 다 풀고 직접 쿼리를 날리면서 실습중 만난 이슈.
    GROUP BY로 모든 커럼을 묶으려고 했으나, Primary Key는 묶일 수가 없어서 에러가 발생한다.
    SELECT 구문에서 Primary Key를 제외하고 날리면 해결된다.
SELECT * FROM sakila.film_category GROUP BY category_id

-- Error Code: 1055. Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sakila.film_category.film_id' 
-- which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Database

  • 3 Tier Architecture 를 이해한다.
  • 영속성의 개념을 이해하고, 데이터베이스의 필요성을 인지한다.
    • 데이터베이스 종류를 이해한다.
    • 관계형 데이터베이스와 NoSQL의 차이를 이해한다.
    • 관계형 데이터베이스 및 NoSQL이 어떤 경우에 적합한지 이해한다.

Learn SQL

  • SQL 주요 문법을 이해할 수 있다.
    • 조회, 삽입, 갱신, 삭제 구문을 자유자재로 사용할 수 있다.
    • 조회시 다양한 조건을 걸어 원하는 정보만 조회할 수 있다.
    • 통계를 위한 쿼리를 만들 수 있다.
  • 스키마 디자인을 할 수 있다.
    • 앱에 필요한 테이블과 필드, 그리고 관계를 부여할 수 있다.
  • 1:N, N:N 관계를 이해하고, 데이터베이스에서 테이블을 조작할 수 있다.
    • Foreign Key, Primary Key에 대해 이해할 수 있다.

좋은 웹페이지 즐겨찾기