05-17 21:28
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Binary Search
- Inheritance
- Entity
- Mac
- X.org
- systemd
- Entity Set
- 리눅스
- Unity
- preprocessing
- 자바
- Class
- X윈도우
- 셀레니움
- External Scheme
- 백준
- Java
- python
- Physical Scheme
- 리눅스 마스터 1급
- literal
- spring
- descriptive statistics
- Reference Type
- OOP
- Polymolphism
- selenium
- dbms
- BFS
- Operator
Archives
- Today
- Total
Byeol Lo
Database Management - OracleDB 기본컨벤션 본문
이 포스트는 OracleDB의 트랜잭션 작성에 있어 방법을 알려줍니다.
우선 쿼리를 작성하는데 있어 다음과 같은 사항들을 기반으로 하고 간다.
- 하나의 쿼리는 하나의 ;로 쿼리의 종료를 알려줘야 한다.
- 성능을 고려한 쿼리를 작성해야 한다. (나중에 다룹니다.)
- 데이터 형식에 유의한 쿼리 작성
- 보안을 고려한 쿼리 작성
- 쿼리 실행 계획 분석 : 최적화 단계에서 생성되는 실행 계획을 분석하는 것을 말함.(explain plan 명령어를 사용한다.)
- 쿼리 결과를 적절히 처리
- 각 공동체의 쿼리 작성 규칙 준수
Case-Insensitive
SQL은 기본적으로 대소문자 구분에 크게 민감하지 않다.
Select * from dual;
select * From dual;
SELECT * FROM dual;
위 세 쿼리는 전부 동일한 쿼리이다.
Literal(Values/Constants)
상수값에 대해서는 case-sensitive하다. 또한 상수값은 single quotes로 감싸야 한다.
'abc' / 'ABC'
"abc" (x)
Object Alias
Object들에 대해서는 Reserved Keyword(예약어)를 사용하면 안된다. 하지만 굳이 사용해야 된다면, double quote로 묶어서 선언을 할 수 있다. 이는 Attribute도 동일하다. 예제는 다음과 같다.
create table "select" (
"from" integer not null
);
insert into "select"("from") values (1);
select * from "select" where "from" = 1;
별칭을 지정하는 것은 다음과 같다.
select expenditure as exp -- output으로 보여질 컬럼이며, 이는 쿼리 내부에서 다시 사용은 안된다.
from customer c1 -- 테이블에 대한 별칭은 as를 붙이지 않으며, 이는 해당 쿼리 내에서 다시 사용가능하다.
select p1.pack_id, p1.speed, p1.monthly_payment
from acdb_packages p1
where not exists(
select 1
from acdb_packages p2
where p2.speed = '5Mbps' and p1.monthly_payment <= p2.monthly_payment
);
Attribute
기본적으로 테이블의 속성들은 NULL을 가질 수 있게 설계되어 있다. 따라서 해당 NULL 값을 고려한 쿼리 작성이 중요하다. 또한 Attributes들에 제약 조건들을 잘 설정해야 데이터의 신뢰성을 확보할 수 있다.
'BackEnd > Database Management' 카테고리의 다른 글
Database Management - DDL CREATE TABLE (0) | 2023.05.06 |
---|---|
Database Management - OracleDB 기본 지식 (0) | 2023.05.02 |
DataManagement - Index (0) | 2023.04.30 |
Database Management - DML SELECT (0) | 2023.04.02 |
Database Management - Aggregation (0) | 2023.04.02 |
Comments