[sql]오라클 계정생성
·
SQL
🐲계정(ACCOUNT) 생성 : 본인 이니셜(ex:hgd)/1234 ORACLE 은 DATA(TABLE)를 계정이 관리하는 TABLESPACE 에 저장 ∴계정생성은 다른 DB(MSSQL,MYSQL, ...)의 CREATE DATABASE 와 같은 의미를 가진다.   -> DATABASE 파일에 보관 아래 코드를 명령 프롬프트나 windows powershell에 차례대로 입력sqlplus /nolog conn /as sysdba alter session SET "_ORACLE_SCRIPT"=true; create user hgd identified by 1234; grant CONNECT, RESOURCE to kyj; alter user hgd default tablespace users quota ..
정규화(Normalization)
·
SQL
🐲정규화(Normalization)는 데이터베이스 설계에서 데이터의 중복을 줄이고 데이터 무결성을 높이기 위해 사용하는 과정입니다. 정규화는 데이터베이스의 구조를 체계적으로 개선하여, 데이터를 보호하고 중복된 데이터와 일관되지 않은 종속성을 제거하여 데이터의 삽입, 삭제, 수정 시 발생할 수 있는 이상 현상(anomaly)을 방지하는 것을 목표로 한다. 예를 들어, '고객 주소' 변경은 해당 데이터가 Customers 테이블에만 저장되고 데이터베이스의 다른 테이블에는 저장되지 않으면 구현하기가 더 쉽다.정규화는 여러 단계로 나뉘며, 각 단계는 정규형(Normal Form)으로 정의된다. 🐲 정규화의 목적데이터 중복 최소화: 중복된 데이터는 디스크 공간을 낭비하고 유지 관리 문제를 일으키므로 동일한 데..
[SQL]WINDOW FUNCTION(윈도우 함수),분석함수(Analytic Function)
·
SQL
윈도우 함수(Window Function)는 데이터 집합의 각 행에 대해 계산을 수행하면서도, 전체 결과 집합에 대한 집계 결과를 제공하는 함수이다. 즉, 그룹화된 결과가 아닌, 원래의 데이터와 함께 결과를 제공한다. OVER() 절을 사용하여 특정 범위(윈도우)를 정의하고, 그 범위 내에서 계산을 수행한다.주요 특징행 유지: 윈도우 함수는 결과 집합의 각 행을 유지하면서 계산을 수행하고 집계 결과를 추가한다.프레임 정의: OVER() 절을 사용하여 어떤 행을 기준으로 계산할지를 정의할 수 있다. 이 절 안에서 PARTITION BY와 ORDER BY를 사용하여 데이터의 구분과 정렬을 설정할 수 있다.다양한 함수 지원: SUM, AVG, COUNT, RANK, ROW_NUMBER 등 다양한 집계 및 분석..
[sql] 계층형 쿼리(Hierarchical Query)
·
SQL
계층형 쿼리(Hierarchical Query)는 데이터베이스에서 부모-자식 관계를 가진 데이터를 조회할 때 사용하는 쿼리입니다. 주로 조직도, 파일 시스템, 제품 카테고리 등과 같이 계층 구조로 구성된 데이터를 다룰 때 유용하다. 🐲 주요 개념 부모-자식 관계: 각 데이터 항목은 부모와 자식 항목을 가질 수 있으며, 이를 통해 트리 구조를 형성한다. 루트 노드: 계층 구조의 최상위 노드를 의미한다. Leaf 노드: 자식이 없는 노드를 의미한다. 🐲주요 예약어START WITH: 계층 구조의 루트 노드를 지정한다.CONNECT BY: 계층형 쿼리를 작성해 부모와 자식 간의 관계를 정의합니다. PRIOR 키워드를 사용한다.PRIOR: 이전 단계의 값을 참조하는 데 사용된다.LEVEL: 긱 노드의 깊이를..
[SQL] 집합 연산자(UNION, UNION ALL, INTERSECT, MINUS),INLINE VIEW
·
SQL
집합연산자두 개 이상의 SELECT 쿼리의 결과를 결합하여 하나의 결과 집합을 생성하는 데 사용된다. 주로 다음과 같은 연산자가 있다. 줄단위의 결합을 하며 두 테이블의 칼럼수와 타입이 동일해야 한다.UNION두 개 이상의 SELECT 쿼리 결과를 결합하여 중복된 행을 제거한 결과를 반환한다. =>합집합 EX)두 부서 모두 출력하는데 A대학 나온사람들을 중복시 한 번만 출력함.UNION ALL두 개 이상의 SELECT 쿼리 결과를 결합하되, 중복된 행도 포함하여 반환한다. =>합집합+교집합EX)두 부서 모두출력하는데 A대학 나온사람들을 두 번 출력하게 됨+INTERSECT두 개의 SELECT 쿼리에서 공통으로 나타나는 행만 반환한다. =>교집합EX)두 부서에서 A 대학을 나온사람들을 출력함.MINUS첫 ..
[sql]JOIN, ANSI JOIN
·
SQL
SQL의 JOIN은 두 개 이상의 테이블을 결합하여 관련된 데이터를 조회하는 방법이다. JOIN을 사용하면 서로 다른 테이블에 저장된 정보를 연결하여 보다 유용한 데이터를 생성할 수 있다.  내부조인(INNER JOIN)SELECT EMPLOYEE_ID 직원번호, DEPARTMENT_NAME 부서명FROM EMPLOYEES, DEPARTMENTS ;비교 조건이 없어서 모든 직원을 모든 부서와 연결하여 출력한다.SELECT EMPLOYEE_ID 직원번호, DEPARTMENT_NAME 부서명 FROM EMPLOYEES, DEPARTMENTSWHERE DEPARTMENT_ID=60; ⚠️ORA-00918: 열의 정의가 애매합니다 00918. 00000 -  "column ambiguou..
[sql] 그룹 쿼리 (group query)와 서브쿼리(sub query)
·
SQL
그룹쿼리(GROUP QUERY)그룹 쿼리는 데이터를 특정 컬럼을 기준으로 그룹화하고, 각 그룹에 대한 집계 함수를 사용하여 요약 정보를 생성한다.집계함수집계함수란 대상 데이터를 특정 그룹으로 묶은 다음 이 그룹에 대해 총합, 평균, 최댓값, 최솟값 등을 구하는 함수를 말한다.① COUNT (expr)📍COUNT는 쿼리 결과 건수, 즉 전체 행의 개수를 반환하는 집계 함수다. 테이블 전체는 물론 WHERE 조건으로 걸러진 행의 개수를 반환한다. COUNT(*)=107 📍COUNT 함수는 매개변수로 들어오는 expr이 NULL이 아닌 건에 대해서만 행의 개수를 반환한다.  COUNT(DEPARTMENT_ID)=>106 COUNT(DISTINCT DEPARTMENT_ID)=>11 DISTINT DEPART..
[SQL] 함수
·
SQL
SELECT 함수FROM DUAL; SQL의 함수 : 데이터베이스에서 데이터를 처리하고 조작하는 데 사용되는 내장 또는 사용자 정의 함수.SQL 함수는 특정 작업을 수행하고 결과를 반환하는 독립적인 블록으로, 주로 다음과 같은 종류로 나눌 수 있다.이때, 한 개 결과가 출력되는 가상테이블 필요하다 =>(DUAL)(DUAL 은 출력을 위한 한칸의 공간 숫자함수① ABS(n)📍ABS 함수는 매개변수로 숫자를 받아 그 절대값을 반환하는 함수  ABS(10) = ABS(-10) = ABS(-10.123)=>10② CEIL(n)과 FLOOR(n)📍CEIL 함수는 매개변수 n 이상이면서 가장 작은 정수를 반환CEIL(10.123) => 11CEIL(-10.123) => -10📍FLOOR 함수는 CEIL 함수와..
[java]접근제어자
·
JAVA
Java 접근 제어자에 대한 이해Java는 객체 지향 프로그래밍 언어로, 코드의 캡슐화와 보안을 강화하기 위해 접근 제어자를 제공합니다. 접근 제어자는 클래스, 메서드, 변수 등의 접근 수준을 설정하여, 코드의 구조와 가독성을 높이는 데 기여합니다. 이번 포스트에서는 Java의 네 가지 접근 제어자에 대해 자세히 알아보겠습니다.1. public설명: public 접근 제어자가 붙은 클래스, 메서드, 변수는 모든 클래스에서 접근할 수 있습니다. 제한이 없기 때문에, 어떤 패키지에서도 사용 가능합니다. 사용 예: API를 제공하는 클래스나, 외부에서 접근이 필요한 메서드에 적합합니다.public class Example { public void display() { System.out.pr..
[java]InetAddress(컴퓨터 주소 찾기), InetSocketAddress(단방향 채팅프로그램)=>TCP통신
·
JAVA
20240826수업InetAddressIP 주소를 다루기 위한 클래스. 주로 네트워크 프로그래밍에서 사용 명령 프롬프트 앱을 열어서 ipconfig/all을 입력하면 무선 LAN 어댑터 Wi-Fi에서 mac주소(물리적 주소)와 ip내부주소(IPv4 주소,본인 컴퓨터)를 알 수 있다. 인터넷 주소:192.168.0.9local : 나remote:상대방host:컴퓨터server:서버-자료를 제공하는 컴client:클라이언트-자료를 요청하는 컴import java.net.InetAddress; import java.net.UnknownHostException;public class InetAddressTest { public static void main(String[] args) { try { //wi..