DataBase 21

[MSSQL] MSSQL이란?

1. MSSQL이란? MSSQL(MS-SQL)은 미국 마이크로소프트(Microsoft)에서 개발한 관계형 데이터베이스 관리 시스템(RDBMS)이다. 마이크로소프트 SQL 서버(Microsoft SQL Server)라고도 한다. 윈도우(Windows) 기반의 IIS서버에서 주로 사용한다. 2. MSSQL의 특징 MSSQL은 대규모 데이터베이스 애플리케이션을 지원하는 기능적인 데이터 관리 솔루션이다. 이를 통해 사용자는 데이터를 구성, 저장, 관리하고, 데이터베이스에 대한 효율적인 액세스 및 조작이 가능하다. MSSQL은 다양한 기능을 제공하는데, ACID(원자성, 일관성, 고립성, 지속성) 트랜잭션 지원, 복제, 보안 및 접근 제어, 데이터 백업 및 복구, 데이터베이스 관리 등이 포함된다. 또한 고급 쿼리..

DataBase/MSSQL 2023.05.21

[Database] UPSERT에 대해

1. UPSERT란? UPSERT는 UPDATE + INSERT의 합성어이다. 풀어서 설명하자면, DB의 데이터를 다룰 때 INSERT혹은 UPDATE를 할 때가 있는데, INSERT를 하고자 하는 데이터가 기존에 있을 경우, PRIMARY KEY가 중복되어 INSERT가 실패가 나게 되는데, 이럴때는 UPDATE가 동작하게 처리하는 것을 UPSERT라고 한다. 2. UPSERT구문 [MYSQL] INSERT INFO [table_name] ([col1], [col2]) VALUES ('[value1]', '[value2]') ON DUPLICATE KEY UPDATE '[col2]' = '[value2]'; 쿼리의 생김새도 INSERT쿼리와 UPDATE쿼리를 섞어놓은 것 같다. [ORACLE] MERG..

DataBase 2022.11.15

[Database] ORM에 대해

1. ORM이란? ORM(Object Relational Mapping)이란, 번역하면 (객체-관계-매핑)의 약자로, 다음과 같은 특징을 가지고 있다. 프로그래밍 언어의 객체와 데이터베이스의 데이터 관계를 매핑해주는 도구이다. MVC패턴에서 모델(Model)을 기술하는 도구이다. 객체와 모델 사이의 관계를 기술하는 도구이다. 2. ORM의 사용 이유 OOP vs Relational Database 객체지향 프로그래밍은 클래스를 이용하고 관계형 데이터베이스는 테이블을 이용하는데 여기서 객체 모델과 관계형 모델 간의 불일치가 존재한다. 따라서 ORM을 이용하여 데이터베이스 접근을 프로그래밍 언어의 관점에서 맞출수 있게 된다. 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다. SQL문을..

DataBase 2022.08.20

[PostgreSQL] Port 변경 방법

1. 개요 지난번 사건 그 이후, 아직도 DB에 침입을 시도하는 로그들이 보였다. 그래서 Postgresql의 기본 포트(5432)를 사용하고있는 것이 공격의 대상이 된다고 판단하여, 바꿔주기로 했다. 2. Port 변경 방법 2.1 Postgresql 설정파일 열기(시스템 마다 다를수 있음) $sudo vi /etc/postgresql/14/main/postgresql.conf 해당 파일을 열어 port 설정 부분을 보면 되고, 주석 처리 되어 있는 경우에는 주석을 풀고, 원하는 Port 번호로 수정해주면 된다. [설정 완료 후 Postgresql 재시작] $systemctl restart postgresql [혹은 재기동 없이 Config Reload] $su - postgres $psql postg..

DataBase/PostgreSQL 2022.06.04

[PostgreSQL] pg_hba.conf / DB의 보안설정의 필요성

1. 개요 익명의 호스트가 내 PostgreSQL DB에 인증을 시도하기 시작했다. 그것도 1초 주기로.. 로그를 보아하니 postgres라는 Database에 postgres라는 User로 접근을 하려고 하는데, password인증에 실패하고 있다. 기존에는 모든 타입에 모든 Database, 모든 Host의 연결을 md5방식으로 접근을 하도록 설정해두었는데, 오늘은 이 보안 취약점을 보완하고자 PostgreSQL 의 보안 설정 파일인 pg_hba.conf 파일에 대해 알아보자. (해당 포스팅은 postgresql 공식 가이드를 따라 번역 및 작성하였습니다. 자세한 내용은 해당사이트를 참고해 주세요.) 2. pg_hba.conf 파일이란? PostgreSQL에서 클아이언트 인증은 일반적으로 pg_hba..

DataBase/PostgreSQL 2022.05.31

SQLD(SQL Developer) 자격증이란? / 자격증 취득 후기

1.개요 작년에 KT에 파견 나가 업무 중 웹사이트 서비스를 개발하면서, 동시에 백엔드 API 설계 및 DB설계까지 하려니 Database에 대한 이해와 SQL 의 구조에 대해 알고 있는것이 참 중요하다는것을 몸소 깨닫게 되었다. 같은 결과를 도출해 내는 쿼리더라도, 어떻게 짜느냐에 따라 프로그램 퍼포먼스가 다르게 나오니, 사용자는 이것을 모르고 기능만 동작하면 느리면 느린대로 불평도 못하고 쓰는 경우가 많다. (이런 경우는 사용자는 개발자의 재량때문에 효율적이지 못한 시스템을 쓰는 셈이다.) 그래서 SQLD라는 자격증을 알아보게 되어서, 2022년 올해 2월 중순에 접수하고 공부한 뒤 3월 중순에 시험을 보아 4월 초인 엊그제 합격하여 자격증을 발급받게 되었다. 그렇다면 이 SQLD 자격증이란 무엇일까..

DataBase 2022.04.15

PostGIS 기초(2) 여러 포인트로 선 긋기, 최단 거리측정

지난 포스팅 참조: https://bumday.tistory.com/57 PostGIS 기초(1) 포인트 찍기, 선 긋기 운영환경 운영체제: Ubuntu 18.04 version PostgreSQL: 10.04 version PostGIS: 2.4 version Database Tool: DBeaver 21.1.3.202107181810 version PostGIS를 사용하기에 앞서 PostGIS의 버전을 확인한.. bumday.tistory.com (포스팅 내용 보강 예정) 지난 샘플에 이어 장소(한솥도시락)를 추가하여 다뤄본다. 세 포인트의 위도&경도값은 다음과 같다. ST_GEOMFROMTEXT("[TEXT]") 명령어로 세 포인트의 연결선을 그린다. 중간 포인트인 공주대학교에서 한솥도시락 혹은 스..

DataBase/PostGIS 2022.01.24

PostGIS 기초(1) 포인트 찍기, 선 긋기

운영환경 운영체제: Ubuntu 18.04 version PostgreSQL: 10.04 version PostGIS: 2.4 version Database Tool: DBeaver 21.1.3.202107181810 version PostGIS를 사용하기에 앞서 PostGIS의 버전을 확인한다. (만일 PostgreSQL & PostGIS 설치 환경이 준비되지 않았다면, 이포스팅을 참고하여 먼저 설치한다. DBeaver은 최신버전을 검색하여 다운로드하면 된다.) 먼저, 샘플로 그릴 지도 데이터를 얻기위해 구글맵에 접속한다. 이번 포스트에서 사용할 샘플 지역은 "공주대학교", "스타벅스 공주DT점" 두 곳으로, 각각의 포인트들을 우클릭하여 위도 & 경도 데이터를 확인한다. 이 두 데이터를 가지고 포인트를..

DataBase/PostGIS 2022.01.23

원격 호스트의 Postgresql 접속하기

PostgreSQL을 설치하면 기본적으로 외부에서 접속할 수 없다. config를 수정해 줘야 한다. 우선 Ubuntu에서 열려있는 포트를 확인한다. $ netstat -nltp (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:2..

DataBase/PostgreSQL 2022.01.23
반응형