분류 전체보기 61

OLE DB와 ODBC 비교 (예제 포함)

데이터베이스에 연결하고 데이터를 조작하는 데에는 여러 가지 방법이 있습니다. 그 중에서도 OLE DB와 ODBC는 가장 널리 사용되는 두 가지 기술입니다. 이 글에서는 OLE DB와 ODBC의 차이점을 자세히 살펴보고, 이를 이해하기 쉽게 예시를 통해 설명해보겠습니다.OLE DB와 ODBC란?OLE DB (Object Linking and Embedding Database): Microsoft에서 개발한 기술로, 관계형 데이터베이스뿐만 아니라 다양한 비관계형 데이터 소스(텍스트 파일, 이메일, 스프레드시트 등)와의 연결을 지원합니다. COM (Component Object Model) 기반의 프로그래밍 인터페이스를 사용합니다.ODBC (Open Database Connectivity): SQL Acces..

재귀 쿼리로 조직 구조 조회하기 (WITH 사용, Recursive Query)

SQL Server에서 재귀 쿼리 사용하여 조직 구조 조회하기데이터베이스를 다루다 보면 계층적 데이터를 처리해야 하는 경우가 자주 발생합니다. 예를 들어, 조직의 직원 구조나 파일 시스템의 디렉터리 트리를 생각할 수 있습니다. SQL Server에서 이러한 계층적 데이터를 조회하기 위해 재귀 쿼리를 사용할 수 있습니다. 이번 포스트에서는 WITH 절을 사용한 공통 테이블 표현식(CTE, Common Table Expression)을 활용하여 조직 구조를 재귀적으로 조회하는 방법을 살펴보겠습니다.예제 데이터 준비먼저, 예제 데이터를 저장할 Employees 테이블을 생성하고, 조직 구조를 나타내는 데이터를 삽입하겠습니다.-- 직원 테이블 생성CREATE TABLE Employees ( Employee..

Entity Framework 필드 유형별 DB컬럼 매핑

ASP.NET Core의 Entity Framework (EF)에서 다양한 필드 유형을 데이터베이스로 마이그레이션할 때, 각 필드 유형은 데이터베이스에서 특정 컬럼 속성으로 매핑됩니다. 다음은 다양한 데이터 유형과 그에 대응하는 데이터베이스 컬럼 속성에 대한 설명과 예시입니다.1. 정수형 (Integer Types)int데이터베이스 타입: intNull 허용 여부: 기본적으로 NOT NULLpublic int Age { get; set; }int?데이터베이스 타입: intNull 허용 여부: NULLpublic int? Age { get; set; }다른 정수형 (short, long, byte 등)short: smallintlong: bigintbyte: tinyintNull 허용 여부: 기본적으로 N..

CTE (WITH 문)과 TEMP 테이블 비교

CTE (Common Table Expression)와 TEMP 테이블 비교SQL Server에서 데이터를 조작하고 관리하는 데 있어 CTE (Common Table Expression)와 TEMP 테이블은 중요한 도구입니다. 이 글에서는 CTE와 TEMP 테이블의 정의, 사용 사례, 장단점 등을 비교하고 예시를 통해 이해를 돕겠습니다.CTE (Common Table Expression)란?정의CTE는 SQL Server에서 특정 쿼리 내에서 일시적으로 이름이 부여된 결과 집합입니다. WITH 키워드를 사용하여 정의되며, 주로 복잡한 쿼리를 단순화하거나 재귀 쿼리를 작성할 때 사용됩니다.예제우선 비교를 위해 실습용Employee 테이블과 데이터를 생성합니다.-- 실습용 테이블 생성CREATE TABLE ..

2024년 SW 기술자 평균임금 - KOSA 기준(한국소프트웨어산업협회)

2024년 SW 기술자 평균임금 분석: 주요 직무별 임금 변화와 인사이트안녕하세요! 오늘은 2024년도 SW 기술자 평균임금에 대해 알아보겠습니다. 이번 자료는 한국소프트웨어산업협회에서 발표한 것으로, SW 기술자들의 평균임금 데이터를 분석하고 다양한 직무별 임금 변화를 살펴보겠습니다.2024년 SW 기술자 평균임금주요 직무별 평균임금이번 조사 결과에 따르면, 2024년에는 SW 기술자들의 평균임금이 전년 대비 8.25% 증가했습니다. 이는 기술자들의 가치를 인정받고 있음을 보여주는 중요한 지표입니다. 아래는 주요 직무별 평균임금표입니다:구분월평균임금 (M/M)일평균임금 (M/D)시간평균임금 (M/H)포함 직무기획자 IT10,056,941481,65460,206 컨설턴트 IT9,947,332476,404..

ETC. 2024.07.09

[Windows Command] 오래된 파일 한번에 삭제해줘! - forfiles

생성된 지 1달 이상 된 파일을 삭제하는 Windows 명령 스크립트를 작성하는 방법을 알려드리겠습니다. 이 스크립트는 forfiles 명령을 사용하여 특정 폴더에서 생성된 지 1달 이상 된 파일을 검색하고, 이를 삭제합니다.스크립트 설명forfiles 명령: 지정된 조건에 맞는 파일을 찾고, 그 파일에 대해 특정 명령을 실행합니다./P 옵션: 파일 경로를 지정합니다./S 옵션: 하위 디렉터리도 포함하여 검색합니다./D 옵션: 날짜 조건을 지정합니다. -30은 30일 이전의 파일을 의미합니다./C 옵션: 검색된 파일에 대해 실행할 명령을 지정합니다. 여기서는 del 명령을 사용하여 파일을 삭제합니다.스크립트 예제아래 스크립트는 지정된 폴더에서 생성된 지 30일(1개월) 이상 된 모든 파일을 삭제합니다:@..

ETC. 2024.07.08

MySQL과 SQL Server 의 SQL 문 차이 정리

MySQL과 SQL Server는 모두 관계형 데이터베이스 관리 시스템(RDBMS)이지만, 두 시스템 간에는 SQL 쿼리 사용 방식에서 여러 차이점이 있습니다. 아래 표에서 주요 쿼리 구문과 기능의 차이점을 정리하였습니다.기능 / 쿼리 유형MySQLSQL Server데이터베이스 생성CREATE DATABASE db_name;CREATE DATABASE db_name;데이터베이스 선택USE db_name;USE db_name;테이블 생성CREATE TABLE table_name (...);CREATE TABLE table_name (...);AUTO_INCREMENTAUTO_INCREMENTIDENTITY(1,1)기본 키 설정PRIMARY KEY (column_name)PRIMARY KEY (column_..

Procedure History 남기는 방법

SQL Server에서 프로시저를 생성하거나 수정할 때 발생하는 이벤트를 감지하고 해당 정보를 기록하는 트리거를 생성하는 방법은 다음과 같습니다. SQL Server에서는 DDL 이벤트를 감지하는 DDL 트리거를 사용하여 이러한 작업을 수행할 수 있습니다.먼저, 프로시저 변경 내역을 기록할 테이블을 생성해야 합니다. 그런 다음, DDL 트리거를 생성하여 프로시저의 생성 또는 변경 이벤트를 감지하고 해당 정보를 기록할 수 있습니다.1. History 테이블 생성CREATE TABLE ProcedureHistory ( Id INT IDENTITY(1,1) PRIMARY KEY, EventDate DATETIME DEFAULT GETDATE(), EventType NVARCHAR(50), ..

PHP 프로그래밍 시 주의해야 하는 보안 코드

PHP로 웹사이트를 개발할 때 보안을 고려하는 것은 매우 중요합니다. 웹 애플리케이션의 취약점을 방지하기 위해 여러 보안 기법을 사용해야 하며, 대표적인 보안 위협과 이에 대한 방어 코드 예시를 통해 이를 설명하겠습니다.1. SQL 인젝션 (SQL Injection)문제점: SQL 인젝션은 사용자가 입력한 데이터를 통해 악의적인 SQL 쿼리를 실행하는 공격입니다.예시 코드: 악의적인 사용자가 다음과 같은 입력을 통해 데이터베이스를 공격할 수 있습니다:' OR '1'='1해결책: SQL 쿼리를 실행하기 전에 사용자 입력을 안전하게 처리해야 합니다. 이를 위해 준비된 문(Prepared Statement)을 사용합니다.prepare("SELECT * FROM users WHERE username = ? AN..

SQL Server - Lock 과 Latch 란?

DB를 전문으로 작업하는 사람은 아니지만 개발을 하다보면 ... 프로그램이 느려요,  멈춰서 안 움직여요.. 혹시 무슨 문제 있어요?라는 문의를 간혹 받게 된다. 그럴 때면 Lock 현황을 확인하고, 전체적인 리소스 문제가 없는지 확인하기 위해 Activity monitor를 확인하곤 한다.  문제가 되는 상황에서 Activity monitor  대기 범주에 상단에 보통 위치하는 Lock 과 Latch에 대해 검색해 봤다. Lock (자물쇠)과 Latch (걸쇠)는 비슷한 영어의 뜻이 있어 무언가를 배타적으로 Hold 하고 있는 느낌적인 느낌은 알겠지만 무엇이 다를까? 구조체목적제어성능 비용Latch메모리 내 구조의 일관성을 보장합니다.SQL Server 엔진만 제어할 수 있습니다.성능 비용이 낮습니다...

반응형