일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 맛집
- Spring Boot
- 요리
- jenkins
- JVM
- javascript
- redis
- jsp
- java
- it
- Git
- devops
- Web Server
- ReactJS
- Oracle
- linux
- AWS
- IntelliJ
- db
- elasticsearch
- MySQL
- tool
- Gradle
- Design Patterns
- springboot
- php
- ubuntu
- laravel
- Spring
- Spring Batch
- Today
- Total
목록db (38)
아무거나
Tadpole 이란 DB 관리툴이다. 또한 Web 기반이므로 중앙서버에 설치하면 별도 설치없이 누구나 사용이 가능하다. 더욱 좋은건 오픈소스이다. 설치(Ubuntu) github: https://github.com/hangum/TadpoleForDBTools tomcat 설치 $ sudo apt-get install tomcat8 https://sourceforge.net/projects/tadpoledbhub/files/ 에서 .war 파일 다운 https://svwh.dl.sourceforge.net/project/tadpoledbhub/2.0.x/2.0.1/ROOT.war 다운 받은 파일을 아래 경로로 이동 cd /var/lib/tomcat8/webapps/ROOT.war 톰캣 실행 후 http:/..
Dual Table: 간단하게 함수를 이용해서 결과값을 확인 할 때 사용하는 오라클 자체에서 제공하는 테이블 즉, 테이블 생성 없이 가상 데이터를 만들어 테스트를 할 때 주로 사용한다. SELECT SYSDATE FROM DUAL; SELECT 10 * 20 FROM DUAL; ... 위와 같은 식으로 테이블없이 값을 미리 확인할 수 있다.
문자열 제거 (LTRIM, RTRIM, TRIM) LTRIM: 컬럼에서 지정한 문자를 왼쪽에서 부터 제거 (기본옵션은 공백제거) SELECT LTRIM('테스트 ') AS TEST_ONE, // 테스트(공백제거) LTRIM('테스트', '테스') AS TEST_TWO, // 트 LTRIM('테스트', '스') AS TEST_THREE // 테스트 -> 문자열의 시작이 '스'가 아니므로 전체 문자가 나옴 FROM DUAL RTRIM: 컬럼에서 지정한 문자를 오른쪽에서 부터 제거 (기본옵션은 공백제거) SELECT RTRIM(' 테스트') AS TEST_ONE, // 테스트(공백제거) RTRIM('테스트', '스트') AS TEST_TWO, // 테 RTRIM('테스트', '스') AS TEST_THREE ..
보통 비 IT 부서에서 다량의 데이터를 등록하기 위하여 Excel과 같은 형태로 데이터를 보내주는 경우가 있다. 이럴 경우 기존 DB 모델링 규격과 상이하여 쉽게 데이터를 삽입할 수 없을 때 Excel 함수를 이용한 쿼리를 생성하여 쉽게 하는 방법을 알아보자. 아래 이미지는 타 부서에서 데이터를 삽입해 달라고 전달받은 Excel 파일이다. 2. 아래 이미지와 같이 사원 관련 테이블이 있다. Excel의 "=" 연산을 사용하여 우선 한줄 쿼리를 만들자. - 쿼리를 입력할 때 문자는 '"문자"' 와 같이 입력하고 숫자는 "숫자" 처럼 생성하자. ="INSERT INTO MEMBER VALUES("&A2&", '"&B2&"', '"&C2&"', '"&D2&"')" 3. 해당 셀을 마우스로 끌어내리면 아래와 이..
테이블 설계시 저장되는 default값을 sysdate를 해놓았을 때 데이터 저장이 자꾸 YY/MM/DD 만 되는 경우가 있다. 이 경우 저장은 제대로 되나 툴에서 옵션에 따라 다르게 표시되는 경우가 있다. 해당 포스트는 SQL Developer 라는 툴에서 일어나는 현상이다. 방법은 아래와 같다. 도구 -> 환경설정 -> 데이터베이스 -> NLS 의 날짜형식을 변경
DB를 설계할 때 보통 혼자하면 상관이없지만 여럿이서 하게되면 용어에 대해 혼란이 온다. 예를 들어 상품코드값의 컬럼을 도출해보자. PROD_CD PROD_ID PRODUCT_ID 등.. 위와 같이 여러개의 이름으로 여기저기 흩어져서 설계가 되어있는 경우를 보면 나중에는 큰 혼란을 초래하게 된다. 그래서 데이터 표준화가 필요하며 데이터 표준화는 시스템을 구성하는 데이터 정보 요소에 대해 명칭, 정의, 형식 규칙에 대해 원칙을 수립하여 적용하는것을 말한다. 데이터 표준화의 장점 유지보수 및 운영의 효율성 증대와 관리비용 절감 데이터 요소(entity, property, table, column 등..)의 일관성 데이터 정확성 향상으로 인한 품질상승 데이터 베이스의 정합성 확보 일반적으로 데이터 표준으로 관..
간단한 로그를 저장하는 테이블을 설계해보자. 1. SEQUENCE -- MySQL과 달리 Oracle에서는 Auto Increment 선언을 직접 해줘야 한다. 그것을 SEQUENCE 라는 것을 생성하여 공통객체로 관리한다. CREATE SEQUENCE LOG_NO_SEQ START WITH 1 INCREMENT BY 1 MAXVALUE 99999999999999; ALTER SEQUENCE LOG_NO_SEQ CYCLE; -- SEQUENCE 증가 (YYYYMMDD + 14자리) -- 최대한 중복을 방지하기 위하여 아래와 같은 형식으로 CYCLE을 돌게함. SELECT TO_NUMBER(CONCAT(TO_CHAR(SYSDATE, 'YYYYMMDD'), LPAD(LOG_NO_SEQ.NEXTVAL, 14,..
- SELECT * FROM {table} LIMIT 10 OFFSET 0; // LIMIT와 OFFSET을 같이 쓸 경우에는 LIMIT가 앞 OFFSET이 뒤에 온다. - SELECT * FROM {table} LIMIT 0, 10; // LIMIT만 올 경우에는 OFFSET앞 LIMIT는 뒤에 온다.
컬럼 생성시에 unsigned 선언의 의미] 1 CREATE TABLE `Code` ( 2 `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, 3 ... 4 ... 5 ) 컬럼을 생성할때 활용도에 따라 범위를 다르게 주는 부분이다. id 같은 경우 솔직히 음수는 쓰지 않으므로 int의 범위에서 반은 쓰질 않는다. 이럴때 unsigned를 선언해 주면 그 범위가 양수로 옮겨진다. -2147483648 ~2147483647 에서 0 ~ 4294967295 로 옮겨가는 것이다.
[Isolation Level] 트랜잭션에서 일관성이 없는 데이터를 허용하도록 하는 수준을 Isolation Level이라고 합니다. 데이터베이스의 무엇보도 중요한 기능은 데이터를 정확하고 안전하게 저장하며 데이터의 변경이나 수정시 제한을 두어 안정성을 저해하는 요소를 막아 데이터 상태들을 항상 옳게 유지하는 것을 의미한다. 즉, 흔히 말하는 무결성을 보장하는 것이다. 데이터의 무결성 보장과 관련된 트랜잭션의 ACID 보장이라고 할 수 있다. ACID는 Atomicity(원자성), Consistency(동시성), Isolation(고립성), Durability(지속성)의 약자인데 트랜잭션 보장을 위해 갖추어야 할 속성들을 나타낸다. - Atomicity(원자성) : 트랜잭션과 관련된 작업들이 부분적으로 ..