반응형
저는 Oracle을 사용을 많이 했었는데 MSSQL의 사용이 잦아질 것 같아 Oracle과 MSSQL의 차이점은 무엇이 있을지 알아보았습니다.
우선 Oracle과 MSSQL 모두 대용량 데이터를 다루기 위한 대표적인 데이터베이스입니다.
두 데이터베이스의 차이점은 아래와 같습니다.
1. 데이터베이스의 수
- Oracle : 한 서버당 한개의 데이터베이스 생성
- mssql : 한 서버당 다수의 데이터베이스 생성이 가능합니다. (멀티 데이터베이스)
2. 데이터 타입 정의
데이터 타입 정의는 숫자,문자,날짜형 총 세가지에서 차이가 있습니다.
2-1 숫자형
- MSSQL: 크게 4가지( tinyint > smallint > int > bigint )로 나눠집니다.
정수 범위를 기존에 만들어진 타입을 통해 설정합니다.
tinyint: 127
smallint : 32,767
int: 2147483647
bigint: 9223372036854775807 - Oracle: Number
오라클은 정밀도와 스케일을 수정하여 정수 범위를 설정합니다.
NUMBER[(정밀도|*[,스케일])]
2-2 문자형
- MSSQL: varchar(10), nvarchar(10) 등으로 정의
- Oracle: varchar2(10), nvarchar2(10) 등으로 정의
varchar 는 mssql, mariadb 에서 사용하는 형식이고, varchar2는 Oracle에서 사용하는 형식입니다.
사용하는 DBMS에 따라 사용하는 이름이 다른 것입니다.
2-3 날짜형
- MSSQL: smalldatetime, datetime
날짜 범위 및 형식을 파악하고 적절한 사용이 필요합니다.
datetime의 경우 초의 밀리 단위까지 소수점으로 표현됩니다.
형식 | 날짜 범위 | |
smalldatetime | 2000-01-01 00:00:00 | 1900-01-01 ~ 2079-06-06 |
datetime | 2000-01-01 00:00:00.000 | 1753-01-01 ~ 9999-12-31 |
- Oracle: date
오라클은 date를 사용하며 포맷을 통해 다양하게 표현 가능합니다.
3. 테이블 생성 시 자동 증가
- MSSQL: 테이블 생성 시 자동 증가 옵션 (identity(1,1)) 사용합니다.
- Oracle: 자동 증가 옵션이 없으므로 따로 구현해야 합니다.
반응형
'데이터베이스' 카테고리의 다른 글
[MSSQL] 한글(글자) 깨짐현상 (0) | 2023.01.02 |
---|---|
[Database] WITH 구문 (0) | 2022.11.25 |
[MSSQL]데이터베이스가 사용 중이어서 배타적으로 액세스 할 수 없습니다. (0) | 2022.10.20 |
[MSSQL] WITH(NOLOCK)이란 ? (0) | 2022.10.02 |
[oracle]현재년도 기준 5년 기록 조회 (0) | 2022.08.24 |