본문 바로가기
반응형

분류 전체보기1065

[SQL] : 컬럼 이름에 별칭 부여하기 SQL 별칭 부여 select 2 ename, sal*12+nvl(comm,0) 3 from 4 emp; SQL에서 쿼리문의 결과가 출력될 때 컬럼 이름이 컬럼에 대한 헤딩(heading)으로 출력이 됩니다. select 2 ename, sal*12+nvl(comm,0) as Annsal 3 from 4 emp; 컬럼 이름 대신 별칭을 사용하려면 AS라는 키워드를 쓰고 별칭을 사용해 주면 됩니다. 위에 Annsal을 A만 대문자 나머지는 소문자로 적었는데 출력은 모두 다 대문자로 된 것을 확인할 수 있습니다. select 2 ename, sal*12+nvl(comm,0)"A n n s a l" 3 from 4 emp; 대문자와 소문자를 구분하고 싶으면 " " 안에 적어주면 됩니다. " "를 통해 별칭을 .. 2021. 11. 15.
[SQL] : NULL (널) NULL null(널)은 매우 중요한 데이터 입니다. 오라클에서는 컬럼에 널 값이 저장되는 것을 허용하는데 널 값을 제대로 이해하지 못 하면 쿼리문을 사용하는데 있어 원하는 결과를 얻기 어려울 수 있습니다. 정의 - 0(zero)가 아닙니다. - 빈 공간이 아닙니다. - 미확정, 알 수 없는 값을 의미합니다. - 어떤 값인지 알 수 없지만 분명 존재하고 있습니다. - ? 혹은 ∞ 의 의미로 사용되므로 연산, 할당, 비교가 불가능합니다. 예시 select 2 ename, sal, job, comm, sal*12, sal*12+comm 3 from 4 emp; 연봉을 계산하는 쿼리를 보면 SALESMAN은 COMM이 있으므로 연봉이 정상적으로 계산이 되었습니다. 심지어 COMM을 0을 받은 사람도 정상적으로.. 2021. 11. 15.
[T.I.L] : 20 일일 배움을 위한 Today I Learned ! 분산 데이터 베이스 분산 데이터 베이스는 여러 곳에 분산되어 있는 데이터 베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터 베이스입니다. 간단하게 분산 데이터 베이스에 대해 공부를 했습니다. 2021.11.14 - [자격증/SQLD] - [SQLD] : 분산 데이터 베이스 [SQLD] : 분산 데이터 베이스 분산 데이터 베이스 분산 DB는 여러 곳으로 분산되어 있는 DB를 하나의 가상 시스템으로 사용할 수 있도록 한 DB입니다. 논리적으로 동일한 시스템에 속하지만 컴퓨터 네트워크를 통해 물리적으 ohju.tistory.com 2021. 11. 14.
[SQLD] : 분산 데이터 베이스 분산 데이터 베이스 분산 DB는 여러 곳으로 분산되어 있는 DB를 하나의 가상 시스템으로 사용할 수 있도록 한 DB입니다. 논리적으로 동일한 시스템에 속하지만 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터 집합입니다. 분산 DB를 만족하기 위한 6가지 투명성 1. 분할 투명성(단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 사본이 여러 site에 저장됩니다. 2. 위치 투명성 : 사용하려는 데이터의 저장 장소 명시가 불필요 합니다. 위치 정보가 시스템 카탈로그에 유지됩니다. 3. 지역사상 투명성 : 지역 DBMS와 물리적 DB 사이의 Mapping이 보장됩니다. 4. 중복 투명성 : DB 객체가 여러 site에 중복 되어 있는지 알 필요가 없는 성질입니다. 5. 장애 투명.. 2021. 11. 14.
[T.I.L] : 19 일일 배움을 위한 Today I Learned ! 성능 데이터 모델링 데이터 베이스의 성능 향상을 목적으로 설계 단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 입니다. 간단한 성능 모델링 순서와 정의에 대해 공부했습니다. 아래 링크를 참고하면 됩니다. 2021.11.13 - [자격증/SQLD] - [SQLD] : 성능 데이터 모델링 2021. 11. 13.
[SQLD] : 성능 데이터 모델링 성능 데이터 모델링 데이터 베이스의 성능 향상을 목적으로 설계 단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 입니다. 데이터의 증가가 빠를수록 성능 저하에 따른 성능 개선 비용은 기하급수적으로 증가하게 됩니다. 성능 데이터 모델링 순서 1. 데이터 모델링을 할 때 정규화를 정확하게 수행합니다. 2. 데이터 베이스 용량산정을 수행합니다. 3. 데이터 베이스에 발생되는 트랜잭션의 유형을 파악합니다. 4. 용량과 트랜잭션의 유형에 따라 반정규화를 수행합니다. 5. 이력모델의 조정, PK/FK 조정, 슈퍼타입/서브타입 조정 등을 수행합니다. 6. 성능 관점에서 데이터 모델을 검증합니다. 2021. 11. 13.
[T.I.L] : 18 일일 배움을 위한 Today I Learned ! Data Modeling 데이터 모델링에서 M : M의 관계 해소와 BCNF는 간단히 공부했습니다. 데이터 모델링은 DA#으로 실습을 진행하면서 공부했습니다. 아래 링크를 참고하면 됩니다. 2021.11.12 - [Data Base/Data Modelling (DA#)] - [Data Modeling] : 이력 관리 정의 [Data Modeling] : 이력 관리 정의 이력 관리 현재는 단지 하나의 점에 불과하지만 과거란 엄청난 갯수의 점이 모여 있는 형상입니다. 이력은 선분이고 현재의 순간은 점이므로 선분을 관리해야 합니다. 이력 관리를 하려면 비용 ohju.tistory.com 2021.11.12 - [Data Base/Data Modelling (D.. 2021. 11. 12.
[Data Modeling] : 이력 관리 정의 이력 관리 현재는 단지 하나의 점에 불과하지만 과거란 엄청난 갯수의 점이 모여 있는 형상입니다. 이력은 선분이고 현재의 순간은 점이므로 선분을 관리해야 합니다. 이력 관리를 하려면 비용이 들어갑니다. 사용자 조사를 잘 하고 협의해서 합니다. 사용자 조사 데이터의 이력을 관리한다는 것은 많은 비용이 들어가므로 사용자의 검증 과정이 필요합니다. - 변경 내역을 감시할 필요가 있는가? - 시간의 경과에 따라 데이터가 변할 수 있는가? - 시간의 경과에 따라 관계가 변할 수 있는가? - 과거의 데이터를 조회할 필요가 있는가? - 과거 버전을 보관할 필요가 있는가? 이력 데이터의 종류 발생 이력 데이터 - 어떤 데이터가 발생할 때마다 이력 정보를 남기는 것 입니다. - 예를 들면 고객의 접속 기록 같은 것이 발생.. 2021. 11. 12.
[Data Modeling] : M : M 관계 해소, BCNF M : M 관계 해소 - M : M 관계는 논리 데이터 모델링 과정에서 많이 나타납니다. - 최종적으로 완성된 데이터 모델에는 존재할 수 없는 형태입니다. - M : M의 관계를 해소하면 행위 엔터티인 릴레이션 엔터티가 만들어 집니다. 이 엔터티를 가지고 M : M 관계 해소 작업을 해봅니다. 이렇게 M : M 관계를 해소해 주고 UID Bar를 가져왔습니다. 조금 더 고치면 이렇게 표현할 수 있습니다. 이렇게 식별자를 일련번호 하나에 둬서 할 수도 있는데 이건 개발자에게 떠넘기는 무책임한 설계라고 볼 수 있습니다. BCNF 결정자가 식별자의 항목이 아닌 것, 식별자로 들어와야 하는데 그렇지 못 한 것을 제거하는 것이 BCNF라고 볼 수 있습니다. 2021. 11. 12.
[T.I.L] : 17 일일 배움을 위한 Today I Learned ! Hadoop AWS에 올리기 위해 준비를 해줬습니다. 리눅스 서버에 톰캣을 다운받고 설정을 했습니다. 2021.11.11 - [Data Base/Hadoop] - [Hadoop] : Apache Flume 응용 (1부) [Hadoop] : Apache Flume 응용 (1부) 톰켓 WAS VMware를 실행시키고 PuTTY를 열어줍니다. apache-tomcat.tar.gz 파일을 받아줍니다. WinSCP를 통해 sw파일에 옮겨줍니다. 정상적으로 파일이 들어와 있습니다. cp apache-tomcat-8.5.70.tar.gz /us.. ohju.tistory.com 리눅스에 톰캣을 설치하고 이클립스에서 로그 생성용 간단한 웹 프로젝트를 만들었습니다. 20.. 2021. 11. 11.
[Hadoop] : Apache Flume 응용 (2부) 로그 생성용 간단한 웹 프로젝트 생성하기 Dynamic Web Project를 만들어 줍니다. 기본적인 자바 기반 웹 프로젝트는 모두 Dynamic Web Project로 구현합니다. Dynamic Web Project는 js 등 동적 프로젝트를 만들고 Static Web Project는 정적으로 HTML 등 프로젝트를 만들 때 사용합니다. 프로젝트 이름을 설정해 줍니다. 모든 WAS(톰켓 포함)은 WEB-INF 폴더 밑에 존재하는 파일만 인식할 수 있도록 설정이 되어 있습니다. 실제 톰켓에 동작, 배포하기 위해 반드시 컴파일 되는 자바파일은 WEB-INF\classes에 존재해야 합니다. Content root는 도메인 주소의 위치를 의미합니다. 변경하지 않는다면 [ localhost:8080/프로젝트.. 2021. 11. 11.
[Hadoop] : Apache Flume 응용 (1부) 톰켓 WAS VMware를 실행시키고 PuTTY를 열어줍니다. apache-tomcat.tar.gz 파일을 받아줍니다. WinSCP를 통해 sw파일에 옮겨줍니다. 정상적으로 파일이 들어와 있습니다. cp apache-tomcat-8.5.70.tar.gz /usr/local/ 복사를 해 줍니다. 경로에 들어가서 확인해 보면 정상적으로 파일이 복사된 것을 볼 수 있습니다. tar -zxvf apache-tomcat-8.5.70.tar.gz 파일 압축을 풀어줍니다. 압축이 정상적으로 풀렸습니다. ln -s apache-tomcat-8.5.70 tomcat 가상디렉토리(링크)를 생성해 줍니다. tomcat에 들어가서 보면 1번부터 4번 순서로 톰켓 실행파일, 톰켓 환경설정, 톰켓 로그(이클립스 콘솔), War .. 2021. 11. 11.
[T.I.L] : 16 일일 배움을 위한 Today I Learned ! Python 파이썬으로 여러 프로젝트를 만들었습니다. 자세한 내용은 아래 첨부를 확인하시면 됩니다. 2021.11.10 - [프로그래밍언어/Python] - [Python] : 동물 투표 프로그램 [Python] : 동물 투표 프로그램 좋아하는 동물 투표 프로그램 from tkinter import * #함수 선언 def myFunc() : if var.get() == 1 : labelImage.configure(image = photo1) elif var.get() == 2 : labelImage.configure(image = photo2) else :.. ohju.tistory.com 2021.11.10 - [프로그래밍언어/Python] - [ Py.. 2021. 11. 10.
[Python] : 미니 포토샵 프로젝트 (2부) 저번에 글애 이어 완성을 하겠습니다. 2021.11.10 - [프로그래밍언어/Python] - [Python] : 미니 포토샵 프로젝트 (1부) [Python] : 미니 포토샵 프로젝트 (1부) 미니 포토샵 프로젝트 - 포토샵은 사진에 효과를 주는 대표적인 소프트웨어입니다. - 미니 포토샵은 JPG, BMP, PNG 등 불러오는 기능 뿐만 아니라 이미지를 확대, 축소, 회전시키고 밝기를 처리하는 ohju.tistory.com 미니 포토샵 프로젝트 #1.py from tkinter import * from tkinter.filedialog import * from tkinter.simpledialog import * from wand.image import * #함수 선언 부분 def displayImag.. 2021. 11. 10.
[Python] : 미니 포토샵 프로젝트 (1부) 미니 포토샵 프로젝트 - 포토샵은 사진에 효과를 주는 대표적인 소프트웨어입니다. - 미니 포토샵은 JPG, BMP, PNG 등 불러오는 기능 뿐만 아니라 이미지를 확대, 축소, 회전시키고 밝기를 처리하는 기능을 구현할 수 있습니다. - 미니 포토샵에서 사용할 외부 라이브러리는 이미지 매직(Image Magic)이라는 제품입니다. 먼저 다운을 받아줘야 합니다. - 이미지 매직 라이브러리 추가 명령 프롬프트를 실행하고 pip upgrade를 해주고 Wand를 설치해 줍니다. python을 실행시키고 wand.image를 임포트했을 때 아무런 메시지가 표시되지 않는다면 Wand 라이브러리가 제대로 설치된 것 입니다. from tkinter.simpledialog import * #함수 선언 부분 def dis.. 2021. 11. 10.
[ Python] : 그림판 프로그램 마우스로 그림을 그릴 수 있는 그림판 프로그램 from tkinter.colorchooser import * from tkinter.simpledialog import * #함수 선언 부분 def mouseClick(event) : global x1, y1, x2, y2 x1 = event.x y1 = event.y def mouseDrop(event) : global x1, y1, x2, y2, penWidth, penColor x2 = event.x y2 = event.y canvas.create_line(x1, y1, x2 ,y2, width = penWidth, fill = penColor) def getColor() : global penColor color = askcolor() penColo.. 2021. 11. 10.
[Python] : 동물 투표 프로그램 좋아하는 동물 투표 프로그램 from tkinter import * #함수 선언 def myFunc() : if var.get() == 1 : labelImage.configure(image = photo1) elif var.get() == 2 : labelImage.configure(image = photo2) else : labelImage.configure(image=photo3) # 전역 변수 선언 부분 var, labelImage = 0, None photo1, photo2, photo3 = [None] * 3 #메인 코드 부분 if __name__ == "__main__" : window = Tk() window.geometry("400x400") window.title("애완동물 선택하기").. 2021. 11. 10.
[T.I.L] : 15 일일 배움을 위한 Today I Learned ! PaaS-Ta PaaS-Ta에서 파일을 분산 저장해 봤습니다. for문으로 데이터를 넣었을 때 여러 서버에 분산되어 저장됩니다. 2021.11.09 - [컴퓨터 공부/PaaS-Ta] - [PaaS-Ta] : MongoS 프로세스 [PaaS-Ta] : MongoS 프로세스 Mongos 프로세스 mongo --host localhost --port 50001 구축된 config 서버 중 하나의 서버에 접속하여 각 Config 서버를 Replica Sets로 클러스터링 합니다. rs.initiate( { _id : "rptconfig", configsvr : tr.. ohju.tistory.com MongoDB Sharding을 구축하고 Replica Sets.. 2021. 11. 9.
[PaaS-Ta] : MongoS 프로세스 Mongos 프로세스 mongo --host localhost --port 50001 구축된 config 서버 중 하나의 서버에 접속하여 각 Config 서버를 Replica Sets로 클러스터링 합니다. rs.initiate( { _id : "rptconfig", configsvr : true, members : [ { _id : 0, host : "localhost:50001" }, { _id : 1, host : "localhost:50002" }, { _id : 2, host : "localhost:50003" } ] } ) 구축된 config 서버 중 하나의 서버에 접속하여 각 Config 서버를 Replica Sets로 클러스터링 합니다. mongos --configdb rptconfig/lo.. 2021. 11. 9.
[NOSQL] : Replica Sets 환경 설정 파일을 먼저 생성해 줍니다. mongod --dbpath c:\mongodb\disk1 --port 10001 --bind_ip localhost --replSet rptmongo --oplogSize 10 Primary Server 활성화 시켜줍니다. mongod --dbpath c:\mongodb\disk2 --port 10002 --bind_ip localhost --replSet rptmongo --oplogSize 10 Secondary Server를 활성화 시켜줍니다. mongod --dbpath c:\mongodb\arbit --port 10003 --bind_ip localhost --replSet rptmongo --oplogSize 10 Arbiter Server 서버도 활성화 시켜줍니.. 2021. 11. 9.
[NOSQL] : Sharding 구축 시스템 환경 mongod --shardsvr --dbpath c:\mongodb\shard1 --port 40001 --bind_ip localhost mongod --shardsvr --dbpath c:\mongodb\shard2 --port 40002 --bind_ip localhost mongod --shardsvr --dbpath c:\mongodb\shard3 --port 40003 --bind_ip localhost Shard Server를 활성화 합니다. mongod --configsvr --replSet rptconfig --dbpath c:\mongodb\config1 --port 50001 --bind_ip localhost mongod --configsvr --replSet rptco.. 2021. 11. 9.
반응형