전체 글 654

percent_rank()

`PERCENT_RANK()`는 SQL의 윈도우 함수로, 특정 행의 상대적 순위를 백분율로 나타내는 데 사용됩니다. 이 함수는 데이터 집합에서 각 행의 상대적 위치를 계산하여, 그 결과를 0과 1 사이의 값으로 반환합니다. ### 구문 ```sql PERCENT_RANK() OVER (PARTITION BY partition_expression ORDER BY order_expression) ``` - **`PARTITION BY partition_expression`** (선택적): 데이터를 그룹화하여 각 그룹 내에서 백분율 순위를 계산합니다. 지정하지 않으면 전체 데이터 집합에서 계산됩니다. - **`ORDER BY order_expression`**: 백분율 순위를 계산할 때 사용하는 정렬 기준입니..

dense_rank() , rank, row number 동일한 값 있을 경우 예시

`DENSE_RANK()`, `RANK()`, 그리고 `ROW_NUMBER()`는 모두 SQL의 윈도우 함수로, 데이터 집합에서 행의 순위를 계산하는 데 사용됩니다. 각 함수는 순위를 부여하는 방식이 다릅니다. ### 차이점 1. **`ROW_NUMBER()`** - 각 행에 대해 고유한 순위를 부여합니다. - 동일한 값이 있는 경우에도 각 행에는 고유한 순위가 부여됩니다. - 순위가 연속적이지 않을 수 있습니다. 2. **`RANK()`** - 동일한 값이 있는 행들에 대해 동일한 순위를 부여합니다. - 동일한 순위를 부여받은 행들의 순위 뒤에는 건너뛴 순위가 부여됩니다. - 예를 들어, 두 행이 순위 2를 가질 경우, 다음 행은 순위 4가 됩니다. 3. **`DENSE_RANK()`** - 동일한 값..

오라클 데이터베이스

오라클 데이터베이스는 **IE 표기법 (Information Engineering)**을 주로 사용합니다. ### IE 표기법 (Information Engineering) - **사각형**: 엔티티를 나타냅니다. - **마름모**: 관계를 나타냅니다. - **직선**: 엔티티 간의 관계를 연결합니다. - **1:1, 1:N, M:N** 등의 관계를 표시할 때는 직선에 숫자나 문자로 표시합니다. - **관계명**은 직선 위에 위치하거나 가까이에 적습니다. ### Barker 표기법 - **박스**: 엔티티를 나타냅니다. - **관계는 화살표와 다리**로 표현하며, 관계의 선택성과 필수성을 명확하게 시각적으로 표현합니다. - **1:1, 1:N, M:N** 등의 관계를 박스의 옆에 숫자나 문자로 표시합니다..

각각의 트랙잭션이 영향 주는 칼럼이 같을 때 값이 어떻게 되니

두 개의 트랜잭션이 동시에 동일한 칼럼을 수정하려고 할 때, 트랜잭션이 서로 영향을 주지 않도록 데이터베이스 시스템은 여러 가지 방법으로 이를 관리합니다. 이러한 상황은 **동시성 제어**와 관련이 있으며, 데이터베이스의 트랜잭션 격리 수준에 따라 결과가 달라집니다. ### 가능한 시나리오 1. **트랜잭션 1**이 특정 칼럼 값을 업데이트하고 있는 동안, **트랜잭션 2**도 동일한 칼럼을 업데이트하려고 시도합니다. 2. 두 트랜잭션이 동시에 실행될 수 있는 환경에서, 데이터베이스는 각 트랜잭션이 해당 칼럼에 대해 서로 다른 값을 설정하려고 할 때 어떻게 처리할지를 결정합니다. ### 격리 수준에 따른 처리 방식 1. **Read Uncommitted (읽기 미완료)**: - **트랜잭션 1**이 데이..

Vscode - Java 시작

Hello world를 해보려고 하는데, vscode java. 환경 설정 부터 해야 했다.  우선, cd desktop mkdir ls 터미널 명령어로폴더와 파일 만들고  open . 하면, 현재 finder로 가게 된다  그걸 vscode에 drag하면 열린다.  (단, 파일 위치 꼬이지 않게 조심할 것.)    꼬이지 않게 다시 했다.  폴더 만들고, vscode에서 파일을 만들었고, 확장자를 java로 rename하니,  java extension 확장자 설치를 하래서 함.   [테스트 할 '자바 프로젝트' 만들기] 명령 팔레트     파일 이름을 'Hello'로 하고 enter치면  새로운 vscode로 뜬다 샘플 코드  새로운 파일을 만드니, 저절로 템플렛 만들어짐.

카테고리 없음 2024.07.14

Java 개발환경 설정 [맥북- Oracle- JDK 설치]

JDK 설치Java Development Kit(JDK) 2종류 - open JDk - Oracle JDK  https://www.oracle.com/java/technologies/downloads/?er=221886#jdk22-mac Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.www.oracle.com  갔더니 4가지 종류가 있다.   ARM64인데  종류가 또 2가지라 찾아보니, DMG를 많이 다운롣 하더라.  다운로드 후, 설치 파일을 더블클릭해서,더 설치해줘야 한다.     ..

Backend 개발/Java 2024.07.14

Java와 Spring 관계 : Java를 기반으로 만들어진 프레임워크

Java와 Spring은 상호 보완적인 관계를 가지고 있으며, Spring은 Java 기반 애플리케이션을 개발하기 위한 프레임워크입니다. Spring 프레임워크는 엔터프라이즈 수준의 Java 애플리케이션을 개발하는 데 필요한 다양한 기능과 모듈을 제공합니다.두 기술의 관계와 주요 특징을 살펴보겠습니다.관계Java 기반 프레임워크Spring: Java를 기반으로 만들어진 프레임워크로, Java 언어의 강력한 기능과 생태계를 활용합니다.Spring은 Java 애플리케이션 개발을 위한 다양한 모듈과 도구를 제공합니다.의존성 주입과 IoC (Inversion of Control)Spring: 의존성 주입(DI)과 IoC 컨테이너를 통해 객체 간의 의존성을 관리합니다.이는 애플리케이션의 결합도를 낮추고, 코드의 ..

카테고리 없음 2024.07.14

Spring Boot

Spring Boot는Spring 프레임워크를 기반으로 한오픈 소스 자바 기반 프레임워크로, 빠르고 쉽게 독립 실행형, 프로덕션급 애플리케이션을 개발할 수 있게 해줍니다. Spring Boot는 기존의 Spring 프레임워크의 복잡한 설정을 최소화하고, 내장 서버를 제공하여 애플리케이션 실행을 간소화합니다.Spring Boot의 주요 특징자동 구성 (Auto-Configuration)Spring Boot는 대부분의 설정을 자동으로 처리해줍니다.예를 들어, 데이터베이스 설정, 웹 서버 설정 등을 자동으로 구성해 줍니다.내장 서버 (Embedded Server)내장된 Tomcat, Jetty, Undertow 등의 웹 서버를 사용하여 별도의 서버 설정 없이 애플리케이션을 실행할 수 있습니다.의존성 관리 (D..

카테고리 없음 2024.07.14

Kotlin

chatgpt// Kotlin은 JetBrains에서 개발한 범용 프로그래밍 언어로,주로 JVM에서 실행되며 Java와 100% 호환됩니다. Kotlin은 현대적이고 간결한 문법을 가지고 있어, 특히 안드로이드 개발에서 인기를 끌고 있습니다.웹 개발 배경이 있는 당신에게 Kotlin에 대해 설명해드리겠습니다. Kotlin의 주요 특징간결한 문법Kotlin은 코드의 간결함을 중시합니다. 예를 들어, Java에서의 많은 보일러플레이트 코드를 Kotlin에서는 간단하게 작성할 수 있습니다.예: Null 안전성, 데이터 클래스, 확장 함수 등.호환성Kotlin은 JVM에서 실행되기 때문에 Java와 완벽하게 호환됩니다. 기존 Java 코드와 혼용해서 사용할 수 있습니다.이는 기존 Java 라이브러리를 그대로 사..

카테고리 없음 2024.07.14

Java와 JavaScript 차이점

chatgpt  // Java와 JavaScript는 이름이 비슷하지만, 두 언어는 매우 다릅니다. 주요 차이점은 다음과 같습니다:1. 언어의 목적과 사용Java목적: Java는 범용 프로그래밍 언어로, 특히 서버사이드 개발, 안드로이드 앱 개발, 대규모 엔터프라이즈 애플리케이션 등에 많이 사용됩니다.사용 예: 웹 애플리케이션 백엔드, 모바일 앱(안드로이드), 데스크탑 애플리케이션, 임베디드 시스템 등.JavaScript목적: JavaScript는 주로 웹 브라우저에서 클라이언트 사이드 스크립팅을 위해 개발된 언어로, 웹 페이지의 동적 콘텐츠를 구현하는 데 사용됩니다.사용 예: 웹 페이지의 인터랙티브 요소, 프론트엔드 개발, 서버사이드 개발(Node.js), 모바일 앱(React Native), 게임 개..

카테고리 없음 2024.07.14