[TIL] 2020. 07. 22. Database_SQL_Basic

달밤·2020년 7월 22일
0

TIL

목록 보기
78/110
post-thumbnail

오늘 배운 것

Database & SQL Basic

SQL

  • Structured Query Language의 약자
  • 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 프로그래밍 언어
  • 데이터베이스에 qeury를 보내서 원하는 데이터만을 취할 수 있다.

What is Query

  • 직역하면 "질의문"
  • 검색창에 적는 검색어도 Query의 일종
  • 저장되어있는 정보를 필터하기 위한 질문

Why need Database?

  • in-memory : 끄면 데이터가 사라짐
  • File I/O : 항상 모든 데이터를 가져온 뒤 서버에서 필터링 과정을 거쳐야 함
  • Database : 필터링 외에도 File I/O로 구현이 힘든 여러 기능들을 가지고 있는 데이터에 특화된 서버

RDBMS(관계형 데이터베이스 관리 시스템)

  • 관계형 데이터베이스는 키(key; column)와 값(value; row)의 관계를 테이블 형식으로 나타낸 것이다.
  • 하나의 데이터베이스 안에는 여러 개의 테이블이 존재할 수 있으며 이들은 유의미한 관계를 맺을 수 있다.(이름이 관계형데이터베이스인 이유)
  • 테이블(Table; Entity) 안에는 컬럼(Column; Attribute; Field)과 로우(Row; Record; Tuple)이 존재한다.
  • 테이블은 1:1(일대일), 1:N(일대다), N:M(다대다)과 같은 관계를 가질 수 있다.
관련용어 정리
  • 스키마(Schema)는 DB내에 어떤 구조로 데이터가 저장되는가를 나타내는 구조.

    • 1.개체의 특성을 나타내는 속성(Attribute; column), 2.속성들의 집합으로 이루어진 개체(Entity; Table), 3. 개체 사이에 존재하는 관계(Relation)에 대한 정의, 4.이들이 유지해야 할 제약조건들을 기술.
  • 외부, 개념, 내부 스키마로 나뉘며 보통 개념 스키마를 스키마라 부른다.

  • 위 그림은 일반적인 데이터베이스의 4계층 구조이다.

  • 하지만 MySQL의 경우 위와 같이 데이터베이스가 사라진 것을 볼 수 있으며, 스키마가 데이터베이스와 동의어로 사용된다.
CREATE SCHEMA test DEFAULT CHARACTER SET utf8;
CREATE DATABASE test DEFAULT CHARACTER SET utf8;

// 실제로도 위 두 명령어는 동일한 결과를 낸다.
profile
다 늦은 밤, 달밤의 개발일기

0개의 댓글