개발/DB 55

후보키, 기본키 등 관계형 데이터 모델 설명(ER 다이어그램 기호 설명)

안녕하세요.간혹 E-R 다이어그램 기호 표시를 잊어.. 적어두려고 합니다.ppt로 간략하게 만들었습니다. 참고하세요. 이외예도 간략한 단어들을 정의하려 합니다. 관계형 데이터 모델(Relational Date model) □ 관계형 데이터 모델은 가장 널리 사용되는 데이터 모델로, 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델이다. □ 2차원적인 표(Table)를 이용해서 데이터 상호 관계를 정의하는 DB구조를 말한다. □ 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 데이터 간의 관계를 표현한다. □ 튜플 ○ 릴레이션을 구성하는 각각의 행 ○ 튜플의 수 = 카디널리티 = 대응수 □ 도메인 ○ 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자 값들의 집합 ex) ..

개발/DB 2019.09.02

윈도우 64비트 SQLite3 설치 및 실행(콘솔 및 그래픽 활용 가능)

안녕하세요.간단한 테스트, 가벼운 용도로 사용할건데거창하게 오라클, mySql, 마리아DB...등 설치하기 부담스러운 경우가 있죠?이에 저는 Sqlite3을 사용해보려 합니다. 설치부터 시작하여 간단한 쿼리문을 실행해보겠습니다. Sqlite 설치 홈페이지 입니다.https://www.sqlite.org/index.html 메인 화면에 최신 버전이 나와있습니다.최신버전을 원하시지 않으면 Prior Releases 를 선택하여 버전을 고르시면 됩니다. 선택 후 화면이 이동됩니다.저는 윈도우 버전의 파일을 다운 받겠습니다.여기서 문제가 있습니다.저의 PC는 64비트이기때문에 당연히sqlite-dll-win64-x64-3270200.zip (780.92 KiB) 를 선택하였습니다. 다운을 받고 압축을 풀었는데...

개발/DB 2019.03.05

postgre 문자 치환, 문자 자르기, 문자 붙이기 문법

안녕하세요.간단한 문법을 적어보겠습니다. postgre 관련 문법입니다. 오라클에서문자열 자르기, 문자열 치환등의 문법에 익숙해져...postgre에서도 무심코 똑같은 문법을 사용하니 에러가 발생하더군요. 우선 문자열 자르기 입니다.문자열 자르기문법 : split_part(문자열, 구분자, 순서) 예제 : ex) select split_part('10/20/30/40/50/60/70/80/90', '/', 2) 결과 : 20 설명 : '/'로 문자를 구분 합니다. 그중에 2번째 문자를 출력합니다. 이번엔 문자열 치환 입니다.문자열 치환문법 : replace(문자열, 변경할 문자, 변경 되어질 문자) 예제 : ex) select replace('10/20/30/40/50/60/70/80/90', '/', ..

개발/DB 2018.09.03

[oracle, pgadmin 등] to_char 소수점 처리 하기

오라클에서 소수점 처리하기 위한 포스티을 간략하게 하겠습니다.그냥 사용법만 적어 놓고 쓰면 되기에.... 바로 설명 드리겠습니다. 사용법to_char(data, 'FM90.00') '9'는 해당자리 숫자를 의미, 없을 경우 공백으로 표시'0'은 해당 자리 숫자를 의미, 없을 경우 '0'으로 표시'FM'은 좌우 공뱅 제거 예시를 통해 알아보겠습니다. 쿼리문select to_char(00.456, '999.9') str from dual 00.456을 입력하고 999.9로 처리하였더니 결과값이 .5로 나왔습니다. '9'가 해당자리의 0을 공백처리 하였습니다. 결과 쿼리문select to_char(00.456, '099.9') str from dual'0'은 공백처리가 아닌 0으로 나타내기 때문에 값이 출력됩..

개발/DB 2018.05.29

[oracle]오라클 줄바꿈 처리 및 줄바꿈 제거(chr)

안녕하세요.오늘은 오라클에서 줄바꿈 문자를 제거하는 포스팅을 하겠습니다.쿼리는 상당히 간단합니다. 저는 jqgrid를 사용하면서 줄바꿈 문자들이 들어가면 안된다는 에러를 찾았고쿼리단에서 줄바꿈 문자를 제거하기로 하였습니다. 먼저, 오라클의 chr 함수를 사용해야 합니다.chr 함수의 쓰임새 입니다. CHR(9) : 탭문자 CHR(10) : 줄바꿈(라인피드)CHR(13) : 행의 처음(캐리지리턴)CHR(38) : &CHR(39) : '(따옴표)CHR(44) : 쉼표 그리고 제가 사용한 예 입니다.저는 줄바꿈 문자를 제거하는 방향으로 사용하였습니다.replace(replace(컬럼, chr(10), ''), chr(13), '') 이렇게 하면 줄바꿈 문자가 제거되서 출력됩니다.

개발/DB 2018.04.30

[오라클]oracle 여러 테이블 컬럼 select (union all)

안녕하세요.오늘은 오라클의 union all에 대해 포스팅하려고 합니다. union all은?다수의 테이블의 컬럼을 한번에 출력하기 위합니다.(쿼리의 결합)두 집합을 결합한 합집합 형태의 결과를 반환 합니다. union all과 union이 있습니다. union all 과 union 의 차이는?UNION : 두 테이블의 결과를 중복제거하여 출력합니다.UNION ALL : 두 테이블의 결과를 중복허용하여 출력합니다. 먼저 실습하기에 앞서 테이블을 살펴보겠습니다.dept 테이블의 데이터 입니다. dept2의 테이블 데이터 입니다. 이제 두테이블의 데이터를 합쳐서 select 해 보겠습니다. SELECT dname, pdept, LOCFROM(SELECT dname, '' AS pdept, locFROM DE..

개발/DB 2018.02.14

[오라클]트리거 생성, 삭제

안녕하세요.오늘은 오라클에서 트리거를 생성하고실행시켜 보겠습니다. 트리거란?insert, update, delete 문이 table에 대해 실행될때 수행되는 프로시저이다.(어떠한 데이터에 변화가 이루어졌을때 트리거가 실행된다.) - 트리거는 table과 별도로 database에 저장 - view에 대해서가 아니라 table에 관래 정의 트리거 생성 쿼리 CREATE OR REPLACE TRIGGER TRG_DEPT AFTER UPDATE ON dept FOR EACH ROW DECLARE -- 변수를 선언할 때는 DECLARE문을 사용 v_test CHAR(100); BEGIN DBMS_OUTPUT.PUT_LINE('변경 전 컬럼 값 : ' ||:old.dname); DBMS_OUTPUT.PUT_LINE..

개발/DB 2018.02.09

postgresql select 해서 update 하기 (join 활용)

안녕하세요.예전에 select 해서 insert 하기라는 포스팅을 한 기억이 나네요 [개발/database] - [oracle]오라클 select해서 insert 하기 이번에는 select 해서 update하기 입니다.사실 말 그대로 select로 update를 하고자 하면update tableA set addr = (select addr from tableB where usr_nm='홍길동') 이런식으로 할수도 있고 update tabeA a set addr = (select addr from tableB where usr_nm = a.usr_nm) where usr_nm in ( select usr_no from tableB ) 이런식으로도 할 수 있습니다.하지만 데이터 양이 많아지면 많아 질수록 속..

개발/DB 2017.12.15

[oracle] cursor를 이용한 loop 돌리기

안녕하세요.오늘은 오라클에 대한 포스팅입니다. 어떠한 데이터를 select 하여 loop를 돌리며 그 데이터들을 활용해보도록 하겠습니다.기본 템플릿이니 가져다가 쓰시면 됩니다. CREATE OR REPLACE Function fun_getTest(v_test VARCHAR) RETURN VARCHARIS cursor c1 IS SELECT s_test FROM testTable WHERE use_yn = 'Y'; v_index NUMBER; v_values VARCHAR(2000); BEGIN v_values := ''; v_index := 1; for item in c1 loop if v_index = 1 then v_values := '''' || item.s_test || ''''; else v_v..

개발/DB 2017.11.23