본문 바로가기

데이터베이스

(17)
데이터베이스의 종류(RDB, NoSqlDB) 데이터 베이스의 종류1) 관계형 데이터 베이스 (Relational Database, RDB)- SQL DB 라고도 한다.- 스키마가있다.2) 나머지(Not Only SQL DB)- NoSQL DB- 스키마가 없다.1)Key-Value- 속도 빠르다- 실시간 분석등에 주로 사용- redis, amazon dynamoDB2)Document- key-value에서 진화되어 key와 document(json과 유사한)- json 형태의 데이터라 스키마가 변경되는 것에 유연하게 대처- mongoDB, amazon DocumentDB, Cloud Firestore3)Graph- node의 속성별로 데이터를 저장하는 방식- 소셜네트워크, 추천엔진에 주로 사용됨.- neo4j, amazon neptune, Girap..
Oracle의 MERGE 문과 유사한 기능을 MariaDB, MySQL, MSSQL에서 구현하는 방법 데이터베이스에서 조건에 따라 데이터를 업데이트하거나 삽입하는 작업은 매우 일반적입니다. 각 데이터베이스 시스템은 이러한 작업을 수행하기 위한 고유한 구문을 제공합니다. 이 글에서는 Oracle, MariaDB, MySQL, MSSQL에서 MERGE 문 또는 유사한 기능을 구현하는 방법을 예제와 함께 설명합니다.Oracle: MERGE 문Oracle에서는 MERGE 문을 사용하여 조건에 따라 데이터를 업데이트하거나 삽입할 수 있습니다.예제:MERGE INTO target_table tgtUSING source_table srcON (tgt.id = src.id)WHEN MATCHED THEN UPDATE SET tgt.name = src.name, tgt.value = src..
SQL 특징 및 최적화 SQL(Structured Query Language)SQL은 관계형 데이터베이스에 포함된 데이터를 쿼리하기 위해 설계된 언어입니다. SQL은 C나 BASIC과 같은 명령형 언어가 아닌 집합적이고 선언적인 질의 언어입니다.SQL의 주요 특징구조적(Structured): SQL은 데이터베이스 스키마와 구조에 맞춰 데이터를 정의하고 조작하는 언어입니다.집합적(Set-based): SQL은 개별 행이 아닌 데이터 집합을 처리합니다.선언적(Declarative): SQL은 원하는 결과를 선언적으로 기술하며, 이를 어떻게 수행할지는 DBMS에 맡깁니다.SQL 최적화SQL은 기본적으로 구조적이고 집합적이며 선언적인 질의 언어입니다. 사용자는 원하는 결과 집합을 구조적이고 집합적으로 선언하지만, 그 결과 집합을 만드..
Oracle 계정 및 데이터베이스 생성 --테이블 스페이스 생성 CREATE TABLESPACE DBMSEXPERT_DATA DATAFILE 'C:\app\dbmsexpert\oradata\orcl\DBMSEXPERT_DATA.DBF' SIZE 4G AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED LOGGING ONLINE PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON ; --임시 테이블 스페이스 생성 CREATE TEMPORARY TABLESPACE DBMSEXPERT_TMP TEMPFILE 'C:\app\dbmsexpert\oradata\orcl\DBMSEXPERT_TMP.DBF'..
[DB]MariaDB/Mysql date_format 날짜 시간 형식 표현 날짜 형식 지정 및 예시쿼리에서 날짜 형식을 지정할 때 대소문자에 따라 결과가 달라질 수 있습니다. 아래는 날짜 형식의 포맷과 그 설명입니다.포맷(Format) 및 설명포맷설명%M월 이름 (January, December, ...)%W요일 이름 (Sunday, Monday, ...)%D월의 날짜 (1st, 2nd, 3rd, ...)%Y연도 (1987, 2000, 2013)%y연도 (87, 00, 13)%X연도 (1987, 2000) - %V와 함께 사용%x연도 (1987, 2000) - %v와 함께 사용%a요일 (Sun, Tue, ...)%d일 (00, 01, 02, ...)%e일 (0, 1, 2, ...)%c월 (1, 2, ..., 12)%b월 (Jan, Feb, Mar ...)%j연중 몇 번째 일 (..
maria TEXT 타입 글자제한수 Maria DB, MYSQL의 대용량 텍스트 타입 종류와 범위 TINYTEXT- 범위 : 최대 255 글자TEXT- 범위 : 최대 65535 글자MEDIUMTEXT- 범위 : 최대 16777215 글자LONGTEXT- 범위 : 최대 4294967295 글자
오라클 인덱스 주의점 *** 인덱스를 만들어도 안타는경우 *** 1.인덱스 컬럼을 가공 ex) WHERE SUBSTR(ORDER_NO, 1, 4) = '2019' => WHERE ORDER_NO LIKE '2019%' 2.인덱스 컬럼의 묵시적 형변환( 같은 타입으로 비교해야 함) ex) WHERE REG_DATE = '20190730' => WHERE REG_DATE = TO_DATE('20190730', 'YYYYMMDD') 3.인덱스 컬럼 부정형 비교 ex) WHERE MEN_TYPE != '10' => WHERE MEN_TYPE IN ('20', '30') 4. LIKE 연산자 사용 시 %가 앞에 위치 5. OR 조건 사용 => UNION ALL로 대체
오라클 대량 더미 데이터 넣기 /** 데이터 복제 **/ /*계층형 쿼리를 사용 하여 인위적으로 데이터 생성*/ select * from dual connect by level