12th May 2021 TIL

알파·2021년 5월 12일
0

TIL

목록 보기
5/18

관계형 데이터베이스

관계형 데이터베이스는 데이터를 Relation에 저장하고 관리한다. (즉, 행과 열로 이루어진 형태의 데이터를 갖게 된다.) 이러한 데이터베이스를 관리하는 소프트웨어가 DBMS이며, 주로 이용하는 Oracle, MS-SQL, MySQL 등은 모두 관계형 데이터베이스를 지원하고 있다.

관계형 데이터베이스는 Relation의 집합연산과 관계연산이 가능하다.

집합연산

합집합 - 두 개의 릴레이션을 하나로 합하는 것. (중복된 튜플은 한번만 조회)
차집합
교집합
곱집합 - 각 릴레이션에 존재하는 모든 데이터를 결합하여 연산한다.

관계연산

선택연산 - 우리가 주로 이용하는 Select, 조건에 맞는 튜플을 조회하는 것
투영연산 - 조건에 맞는 속성의 데이터를 조회하는 것
결합연산 - 여러 릴레이션의 공통된 속성을 사용해서 새로운 릴레이션을 조회하는 것
나누기연산 - 기준 릴레이션에서 나누는 릴레이션과 가지고 있는 속성과 동일한 값을 가진 튜플만 추출하고 나누는 릴레이션의 속성을 제거하고 중복된 행을 제거하는 것

SQL(Structured Query Language)

관계형 데이터베이스의 데이터의 구조를 정의, 데이터 조작, 데이터 제어를 할 수 있는 절차형 언어를 일컫는다.(

SQL의 종류

DDL(Data Definition Language) - 데이터 구조를 정의하는 명령어(Create, Alter, Drop)
DML(Data Manipulation Language)- 데이터를 조작하는 명령어(Update, Insert, Delete, Select)
DCL(Data Control Language) - 데이터의 사용자에게 권한을 제어하는 명령어(Grant, Revoke, Truncate)
TCL(Transaction Control Language) - 트랜잭션을 제어하는 명령어(Commit, Rollback, Savepoint)

트랜잭션

논리적으로 연결된 데이터베이스 작업의 단위를 말한다.

  • 원자성 : 트랜잭션의 연산을 전부 실행하거나 전부 실행하지 않아야 한다.
  • 일관성 : 실행 후에도 데이터의 일관성이 유지되어야 한다.
  • 고립성 : 트랙잭션 실행 도중 다른 트랜잭션은 중간 결과에 영향을 미칠 수 없다.
  • 영속성 : 트랜잭션 완료 이후에는 결과가 유지되어야 한다.

SQL의 실행순서

  • 파싱
  • 인출
  • 실행

뷰(View)

뷰는 테이블로부터 유도된 가상의 테이블이다.

특징

  • 참조한 테이블이 변경되면 뷰도 변경된다.
  • 뷰에 대한 입력, 수정, 삭제에는 제한이 있다.
  • 보안성을 향상시킨다.
  • 독자적인 인덱스를 만들 수 없다.

Tips

Select문의 실행 순서 - FROM -> WHERE -> GROUPBY -> HAVING -> SELECT -> ORDERBY

내장형 함수 - SQL에서 사용할 수 있는 내장형 함수(형변환 함수, 문자열 및 숫자형 함수, 날짜형 함수)

COALESCE 함수 - NULL이 아닌 인자값을 반환하는 함수

profile
I am what I repeatedly do

2개의 댓글

comment-user-thumbnail
2021년 5월 14일

연주야 열심히 하고 있구낭 넌 뭘해도 잘할거야 진짜루 믿어 의심치 않아!!!!

1개의 답글