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 |