Backend
![[Java] Collection_Set](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbF9qOG%2FbtrgCFm8ncO%2FAAAAAAAAAAAAAAAAAAAAAFFZW079G4q1YJRodn7G6os6FGhIsbngmLmxB1NGUnGx%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DtQfpRk5ZyDKPKtbo7DMFgH2ohjU%253D)
[Java] Collection_Set
✍Set : 집합 - 순서가 존재하지 않음 ( ==인덱스가 없음) 저장 순서가 유지되지 않고, 중복 객체도 저장하지 못하게 하는 자료 구조 null도 중복을 허용하지 않기 때문에 1개의 null만 저장 구현 클래스로 HashSet, LinkedHashSet, TreeSet이 있음 List는 index가 있어서 순서 유지 o 중복 저장 o 1. HashSet / LinkedHashSet HashSet : hash 함수를 이용해서 데이터를 저장하고 빠른 검색이 가능한 Set hash 함수란? : 입력된 단어를 지정된 길이의 문자열로 변환하는 함수 hashCode() 메서드 : 어려운 실제 메모리 주소를 쉬운 숫자 주소로 바꿔주는 것 -> 해시 함수를 이용해 데이터가 다르면 중복되지 않는 숫자를 만듦. ⭐ H..
[Java] 학생관리프로그램(displayMenu)
전체적인 코드 package edu.kh.collection.model.service; import java.util.ArrayList; import java.util.InputMismatchException; import java.util.List; import java.util.Scanner; import edu.kh.collection.model.vo.Student; public class StudentManagementService { private Scanner sc = new Scanner(System.in); private List stdList = new ArrayList(); public void displayMenu() { //메뉴 출력 int sel = 0; do { System.ou..
![[Java] Collection_ List](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbzCIJE%2FbtrgVRGH69A%2FAAAAAAAAAAAAAAAAAAAAAIys4YJZm6ONME1APfeIRnjfadIhYAMwoDYGVhQkYcod%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DQrSOuqdhjOGGDyvcaWc%252FX5sBz44%253D)
[Java] Collection_ List
✍Collection (컬렉션 ) : 메모리상에서 자료를 구조적으로 처리하는 방법을 자료구조라 일컫는데 컬렉션(Collection)은 자바에서 제공하는 자료구조를 담당하는 프레임워크 == 자료구조들의 모음 java.util 패키지에 포함되며, 인터페이스를 통해 정형화된 방법으로 다양한 컬렉션 클래스 이용 가능 배열의 문제점 & 컬렉션의 장점 배열의 문제점 컬렉션의 장점(특징) 한 번 크기를 지정하면 변경할 수 없다. 저장하는 크기의 제약이 없다. 배열에 기록된 데이터에 대한 중간 위치의 추가, 삭제가 불편하다. 추가, 삭제, 정렬 등의 기능 처리가 간단하게 해결된다 - 자료를 구조적으로 처리 하는 자료구조가 내장되어 있어 알고리즘 구현이 필요 없음 한 타입의 데이터만 저장 가능하다. 여러 타입의 데이터가..

DB 정리
1강 데이터 : 실제 값 정보 : 데이터를 기반으로 의미를 부여한 것 DB: 한 조직에 필요한 정보를 공용으로 사용할 수 있도록 논리적으로 데이터를 모으고 중복을 최소화하여 구조적으로 저장한 것. 특징 1. 실시간 접근성 2. 계속적인 변화 3. 동시 공유 4. 내용에 따른 참조 DBMS : DB에서 데이터 추출, 조작,정의,제어 등 할수있는 DB 관리 시스템 DBMS 사용 이점 1. 데이터 독립화 2. 데이터 중복 최소화, 데이터 무결성 보장 3. 데이터 보안 향상 4. 관리 편의성 향상 객체-관계형 데이터베이스 1. 사용자 정의 타입 지원 2. 참조(reference)타입 지원 3. 중첩 테이블 지원 4. 대단위 객체의 저장 및 추출 가능 5. 객체간의 상속관계 지원 SQL: 구조적 질의 언어, 검색..
[DB] TRIGGER
✍TRIGGER(트리거) : 테이블이나 뷰가 INSERT, UPDATE, DELETE 등의 DML문에 의해 변경될 경우(테이블 이벤트 발생 시) 자동으로(묵시적으로) 실행될 내용을 정의하여 저장하는 객체(PROCEDURE) 1. 트리거 종류 1) SQL문의 실행 시기에 따른 분류 BEFORE TRIGGER : SQL문 실행 전 트리거 실행 AFTER TRIGGER : SQL문 실행 후 트리거 실행 2) SQL문의 의해 영향을 받는 각 ROW에 따른 분류 ROW TRIGGER : SQL문 각 ROW에 대해 한번씩 실행 트리거 생성 시 FOR EACH ROW 옵션 작성 - FOR EACH ROW 안에 아래 두개를 작성할 수 있는데 :OLD : 참조 전 열의 값 (INSERT: 입력 전 자료, UPDATE :..
[DB] PROCEDURE
✍프로시져(PROCEDURE, 절차) : PL/SQL문을 저장하는 객체 - 필요할 때마다 복잡한 구문을 다시 입력할 필요 없이 간단하게 호출해서 실행 결과를 얻을 수 있음 ⭐ 특정 로직을 처리하기만 하고 결과값을 반환하지 않음 = FUNTION과의 차이점 == 반환값!!// 기본적으로 반환하지 않는것이지 설정하는 방법은 있다. (참고) 프로시져는 주로 분할된 업무 단위로 로직 구현 시 개별적인 단위 업무는 PROCEDURE로구현해 처리한다. 테이블에서 데이터를 추출해 필요에 맞게 조작하여, 그 결과를 다른 테이블에 저장/갱신 등의 일련의 처리를 할 때 주로 사용함. !! SET SERVEROUTPUT ON; : 프로시저 사용 시 출력하는 내용을 화면에 보여주도록 설정하는 환경변수를 실행 후 프로시져를 사..
[DB] PL/SQL , (타입,레퍼런스)변수, 조건문, CASE문, 반복문, FOR , 예외처리
✍ PL/SQL (Procedural Language extension to SQL) : 오라클 자체에 내장되어있는 절차적 언어(Procedual Language) - SQL 문장 내에서 변수의 정의, 조건처리(IF), 반복처리(LOOP, FOR, WHILE)등을 지원하여 SQL의 단점을 보완 1. PL/SQL 구조 ⭐ 선언부(DECLARE SECTION) : DECLARE로 시작, 변수나 상수를 선언하는 부분 ⭐ 실행부(EXECUTABLE SECTION) : BEGIN으로 시작, 제어문, 반복문, 함수 정의등 로직 기술 ⭐ 예외처리부(EXCEOTION SECTIOIN) : EXCEPTION으로 시작, 예외사항 발생 시 해결하기 위한 문장 기술 2. PL/SQL의 장점 PL/SQL문은 BLOCK 구조로 ..
![[DB] VIEW, SEQUENCE, INDEX](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fos9TC%2FbtrghPJETHw%2FAAAAAAAAAAAAAAAAAAAAAM9fBME0uIrOxro2zZr7qT263Xqd29EbLadps5mKOKKK%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DPrsey13nX6WqE0RbNkM2RU8lkmE%253D)
[DB] VIEW, SEQUENCE, INDEX
✍VIEW : SELECT문의 실행 결과(RESULT SET)을 저장하는 객체 논리적 가상 테이블 (실행결과는 진짜 테이블이 아닌 조회 결과이다.) ➡ 테이블의 모양을 하고 있지만 실제 값을 저장하고 있진 않는다. 1. VIEW 사용 목적 - 대체로 조회 용도로만 사용(노출은 되어도 악의적인 이용은 못하게 ) 1) 복잡한 SELECT 문의 쉬운 재사용 : 이렇게 길게 쓸 필요 없이 VIEW 이름만 정해주면된다 VIEW ➡ SELECT * FROM VIEW 이름; SELECT~ FROM ~ JOIN ~ JOIN ~ WHERE ~ (SELECT) GROUP BY ~ HAVING ~ ORDER BY ~ 2) 테이블의 진짜 모습을 감출 수 있어 보안상 유리 : 테이블의 진짜 이름을 감춰서 바이러스 프로그램으로부..
[DB] DCL :: 권한, 사용자 계정 생성하는 법
✍DCL(Data Control Language) : 데이터 제어 언어 데이터 베이스, 데이터베이스 내의 객체에 대한 접근 권한을 제어(부여, 회수)하는 언어 GRANT : 권한 부여 REVOKE : 권환 회수, 취소 조작 ex) 시험 성적 조작(점수라는 데이터를 바꿈) 제어 : 자동차 제어(자동차라는 물체의 움직임을 바꿈) 🚩1. 시스템 권한 부여 사용자에게 시스템 권한을 부여할 때 사용 표기법 GRANT 권한1, 권한2, ... -- TO 사용자 이름; [ 시스템 권한 종류 ] CRETAE SESSION 데이터베이스 접속 권한 CREATE TABLE 테이블 생성 권한 CREATE VIEW 뷰 생성 권한 CREATE SEQUENCE 시퀀스 생성 권한 CREATE PROCEDURE 함수(프로시져) 생성 ..