대학공부/데이터베이스

2. SQL

진진리 2025. 3. 18. 21:49

Overview

 

Domain Types in SQL

- char(n): n 길이의 문자형

- varchar(n): 최대 n 길이의 문자형

- int: 정수

- smallint: 작은 정수

- numeric(p,d): 최대 자릿수 p, 소수점 이하 자릿수 d인 고정 소수점 숫자

- real, double precision: 부동 소수점 및 배정밀도 부동 소수점 숫자

- float(n): 최소 자릿수 n의 정밀도를 가지는 부동 소수점 숫자

- date: 4 자리 연도와 월, 일을 포함하는 날짜

- time: 시, 분, 초의 시간

- timestamp: 날짜와 시간

- interval: 시간의 간격 - 날짜, 시간, 타임스템프에 더해질 수 있음

 

DDL

 

Views

  • 전체 논리적 모델이 아닌 일부만 보고 싶은 사용자들로부터 특정 데이터를 숨기는 메카니즘을 제공
  • 개념적 모델이 아닌 가상의 릴레이션
  • 다른 뷰를 사용하여 뷰를 정의할 수 있음

Drop and Alter Table

  • drop: 테이블 삭제
  • alter: 도메인 값 추가 / 속성 삭제

 

 

DML

  • row의 추가 / 수정 / 삭제

 

Basic Query Structure

  • SQL query의 결과는 (Multiset-based) relation이다.

 

Natural Join

  • 모든 공통의 속성에 대하여 같은 값을 가진 튜플을 매칭시키고 공통 속성을 하나만 남김
  • 같은 이름을 가졌지만 관계없는 속성 주의 필요

 

Outer Join

  • 정보의 손실을 피하는 join 연산의 확장

Left Outer Join

Right Outer Join

Full Outer Join

Join 요약

 

The Rename Operation

  • as 절을 사용한 renaming을 허용
  • old-name as new-name
  • as is optional

String Operations

  • percent(%): matches any substring
  • underscore(_): matches any character
  • ex. where name like '%dar%'

Ordering the Display of Tuples

  • 알파벳 순서 list로 ex. order by name
  • decs / asc
  • 여러 속성을 정렬 가능

Where Clause Predicates

  • between 비교 연산자 ex. where salary between 90000 and 100000
  • Tuple 비교: ~ where (instructor.ID, dept_name) = (teaches.ID, 'Biology');

Set Operations

  • union, intersect, except

Aggregate Functions

  • avg, min, max, sum, count

  • group by: 각 속성이 같은 튜플 내에서 집합 연산
    • group by의 대상 값이 select에 포함되어야 함
  • having: group condition 지정 가능

Null Values and Aggregates

  • count(*)를 제외한 aggregate operations는 null 값이 포함된 튜플을 무시
  • null 값만 존재하는 경우 -> count는 0을 리턴, 나머지는 null을 리턴

 

Nested Subqueries

  • 서브쿼리의 주된 사용은 set membership, set comparisons, and set cardinality에 대한 테스트를 수행하는 것

IN, NOT IN

 

Set Comparision

  • > some, > all

Test for Empty Relations

  • exists, not exists
  • correlated subquery

Derived Relations

  • from 절에 subquery를 사용하는 것을 허용
  • 이러한 derived relations은 alias를 반드시 가져야 함

 


참고: SQL in MariaDB

Data Type

Create / Alter Table

 

Select Statement

'대학공부 > 데이터베이스' 카테고리의 다른 글

6. Recovery System  (2) 2025.04.04
5. Transactions  (0) 2025.03.24
4. Relational Database Design (Normalization)  (0) 2025.03.23
3. Database Design and E-R Model  (0) 2025.03.19
1. Relational Model  (0) 2025.03.18