- [MySQL] 36. Self JoinSong hyun[MySQL] 36. Self Join 1. Self Join이란? 2. 시나리오 코드1. Self Join이란? Self Join은 테이블 내에서 자기 자신을 조인하는 것을 의미한다. 이는 동일한 테이블에서 서로 다른 행을 비교하고, 조작하는 데 사용된다. self join을 사용하면, 동일한 열을 가진 두 개의 서로 다른 인스턴스 간의 관계를 파악하거나, 계층적인 구조를 나타낼 때 유용하다. 2. 시나리오 코드(1) 테이블 및 레코드 생성-- 테이블 생성use mydb2;create table employees( employee_id int, employee_name varchar(255), employee_phone varchar(20), manager_id int, pr..
- 2024-06-11 10:23:26
- [MySQL] 35. 정규화(1)Song hyun[MySQL] 35. 정규화(1)1. 정규화란? 2. 이상 현상 설명3. 시나리오 코드: 정규화를 통한 해결 방안 1. 정규화란?(1) 정규화(Normalization)의 개념 데이터베이스에서 정규화는 데이터를 조직화하고, 중복을 최소화하기위해 데이터베이스 테이블의 설계를 시스템적으로 개선하는 과정이다. 정규화를 통해 데이터의 무결성과 일관성을 유지하면서, 효율적인 데이터 관리가 가능해진다. (2) 정규화의 목표 테이블 내에서 발생할 수 있는 데이터의 중복을 최소화하여, 이상 현상을 방지하고, 데이터의 무결성을 유지하는 것이다. *데이터의 무결성(Integrity): 데이터의 무결성은 데이터베이스 관리 시스템에서 데이터의 정확성, 일관성, 신뢰성을 유지하는 특성을 이야기한다. 데이터베이스 내의 정보가 정..
- 2024-06-11 09:42:36
- [MySQL] 34. JDBC 구성 요소 : 아키텍처Song hyun[MySQL] 34. JDBC 구성 요소 : 아키텍처1. DriverManage2. Driver3. Connection4. Statement5. ResultSet6. SQLException JDBC 아키텍처는 Java 애플리케이션과 DB 사이의 상호작용을 담당하는 여러 구성 요소로 이루어져 있다. 각 구성 요소는 특정 역할을 수행하며, 이들이 어떻게 작동하는지를 이해하는 것이 중요하다. 1. DriverManageConnection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");-DriverManager는 JDBC 드라이버들을 관리하는 클래스이다. 데이터베이스 연결..
- 2024-06-11 09:06:05
- [MySQL] 33. JDBC란 뭘까?Song hyun[MySQL] 33. JDBC란 뭘까? 1. JDBC(Java Database Connectivity) 2. JDBC 개발 배경3. JDBC의 역할과 중요성1. JDBC(Java Database Connectivity) (1) JDBC란? Java 프로그램에서 데이터베이스에 연결하고, SQL 쿼리를 실행하여 데이터를 주고 받는 표준 API이다.(2) 예시: JDBC는 커피숍의 바리스타 같은 존재이다. 우리가 원하는 커피를 주문하면, 바리스타는 커피 머신과 재료를 사용해 커피를 만든다. JDBC는 Java 애플리케이션이 데이터베이스와 대화할 수 있도록 도와주는 중간다리이다.2. JDBC 개발 배경(1) 1990년대 중반, 기업들은 데이터를 효율적으로 저장하고 관리하기 위해, 다양한 DBMS를 사용하기 시작..
- 2024-06-11 09:05:57
- [MySQL] 32. DML,DDL,DCLSong hyun[MySQL] 32. DML,DDL,DCL 1. DML (Data Manipulation Language) 2. DDL (Data Definition Language) 3. DCL (Data Control Language)1. DML이란?(1) DML(Data Manipulation Language)는 데이터 조작어를 의미한다. 데이터베이스에 들어 있는 데이터를 조회하거나, 검색하기 위한 명령어들의 총칭이다. (2) DML에 속하는 것은 SELECT,INSERT,UPDATE,DELETE가 있다.2. DDL이란?(1) DDL(Data Definition Language)는 데이터 정의어를 의미한다. 테이블과 같은 데이터 구조를 정의하는 데 사용되는 명령어들로 (생성, 변경, 삭제, 이름 변경) 데이터 구..
- 2024-06-11 09:05:35
- [MySQL] 1일 1쿼리 (4): HAVING과 GROUP BY 절Song hyun[MySQL] 1일 1쿼리 (4): HAVING과 GROUP BY 절1. 문제2. 문제 풀이(답안)3. 내가 푼 것1. 문제순서문제1마케팅 부서의 직원들을 입사 순서대로 오름차순 정렬하시오.-- 출력해야 할 것: 직원의 이름, 고용일, 부서2부서별로 가장 높은 임금과 평균 임금을 함께 출력하시오.-- 이 때, 평균 임금은 소수점을 제거하고 출력하시오.3근무기간이 30년이상인 Staff 직원들중에서 emp_no낮은순서부터 정렬 시, 200명 중에서 가장 오래된 근무년수는?4가장 최근 입사한 여직원과 남직원 찾으시오5월급이 가장 높은 남직원 여직원을 찾으시오6재직중인 사원들 중 평균 연봉이 가장 큰 3명의 first_name, 평균 연봉(소숫점 제거),부서, 근무 년수 을 추출하시오.7전직원에게 생일 상여금..
- 2024-06-11 08:54:23
- [MySQL] 31. 보안 고려 사항 및 LocalhostSong hyun[MySQL] 31. 보안 고려 사항 및 Localhost 1. 보안 고려 사항 2. LocalHost와 % 1. 보안 고려 사항(1) 접근 제한: 외부 네트워크에서 접근하는 경우, 사용자 로스트 옵션을 '%'에서 더 구체적인 IP 범위나 호스트명으로 제한하는 것이 좋다.(2) 비밀번호 정책: 강력하고 복잡한 비밀번호를 사용하고, 주기적으로 변경하여 계정보안을 2. LocalHost와 %(1) Localhost: MySQL은 localhost로의 접속을 특별하게 다룬다.(2)
- 2024-06-10 12:02:02
- [MySQL] 30. MySQL 계정 생성 및 권한Song hyun[MySQL] 30. MySQL 계정 생성 및 권한1. 계정 생성 및 권한 부여 방법2. 권한 부여의 범위3. 작업별 권한 부여4. 시나리오 코드 MySQL에서 새 사용자 계정을 생성하고, 해당 사용자에게 DB 권한을 부여하는 과정은 DB 보안과 관리의 중요한 부분이다. 이러한 과정을 통해 각 사용자가 접근할 수 있는 데이터를 통제하고, 시스템을 보다 안전하게 유지할 수 있다. *root 계정: 최상위 관리자 계정*일반적으로 신입에게는 CRUD 중 R(read:읽기) 기능만 주어진다. 1. 계정 생성 및 권한 부여 방법 (버전에 따라 방식이 조금 다르다.)(1) 사용자 생성: CREATE USER -> 사용자 생성/비밀번호 설정(2) 권한 부여: 사용자 생성 후, GRANT -> 해당 사용자에게 권한 ..
- 2024-06-10 11:07:11
- [MySQL] 29. SQL 쿼리의 일반적인 작동 순서 (2)Song hyun[MySQL] 29. SQL 쿼리의 일반적인 작동 순서 (2)쿼리의 흐름 이해하기SELECT id, name, class, scoreFROM tb_studentWHERE score > 80ORDER BY score DESCLIMIT 3; (1) from 절 실행-tb_student의 테이블을 참조해, 데이터를 먼저 가져온다.-이 단계에서 테이블의 모든 데이터가 초기 조회 대상이 된다. (2) where 절 실행-FROM 절에서 가져온 데이터에 대해 WHERE 절이 실행된다.-이 조건은 score>80을 만족하는 행만을 필터링하여, 다음 단계로 전달한다. (3) select 절 실행-필터링된 결과에서 SELECT 절이 실행되어, id,name,class,score 필드를 선택한다.-이 단계에서 데이터는..
- 2024-06-10 10:41:59
- [MySQL] 28. SQL 쿼리의 일반적인 처리 순서 (1)Song hyun[MySQL] 28. SQL 쿼리의 일반적인 처리 순서 (1)1. FROM 절- 가장 먼저 실행되며, 쿼리에서 참조하는 테이블 또는 뷰를 식별한다.-여러 테이블이 조인되는 경우, 이 절에서 어떻게 테이블들이 결합되는지 정의한다. 2. ON 절-조인이 수행될 때 사용된다.-FROM 절에서 정의된 테이블들이 결합하는 방식을 구체적으로 명시한다.-이 절은 조인 조건을 평가하여 조인할 행을 결정한다. 3. JOIN-여러 테이블들을 조합할 때 사용되며, ON 절 다음에 평가된다.-지정된 조인 조건에 따라 행들이 결합된다. 4. WHERE 절-FROM 절에서 생성된 결과 테이블에 대해 필터링 조건을 적용한다.-이 조건은 개별 행에 대해 평가되며, 조건을 만족하는 행만이 다음 단계로 전달된다. 5. GROUP BY ..
- 2024-06-10 10:19:57
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)