본문 바로가기

전체 글42

[국비] SQL 내용정리 Day05 뷰(View) 뷰(view)는 테이블 또는 다른 뷰를 기초로 하는 논리적 테이블이다. 하나 이상의 테이블에서 원하는 모든 데이터를 선택해서 사용자 정의하여 나타낸 것이다. 제한적인 자료만 보기 위해 사용하는 가상테이블의 개념이다. 뷰는 기본 테이블로 유도된 가상 테이블이기 때문에 필요한 컬럼만 저장해 두면 관리가 용이해 진다. 뷰는 가상테이블로 실제 데이터가 물리적으로 저장된 형태는 아니다. 뷰를 통해서 데이터에 접근하면 원본 데이터는 안전하게 보호될 수 있다. 단순뷰: 한 개의 원본테이블을 사용해서 생성 복합 뷰: 두 개 이상의 테이블에 의해 생성(조인을 통해 생성한 view) 특징 단순 뷰 복합 뷰 테이블 수 하나 둘 이상 함수 포함 없음 있음 데이터 그룹 포함 없음 있음 뷰를 통한 DML 있음 없음.. 2021. 12. 11.
[국비] SQL 내용정리 Day04 트랜잭션(Transaction) 트랜잭션은 논리적인 작업의 단위이다. 트랜잭션은 분리되어서는 안 될 작업의 단위이다. 트랜잭션의 시작은 실행 가능한 첫 번째 SQL 문장이 실행 될 때 시작한다. 트랜잭션은 COMMIT이나 ROLLBACK문에 의해 명시적으로 종료하거나, DDL이나 DCL 문장 실행으로 자동 커밋되어 종료될 수 있다. 사용자의 데이터베이스 종료 또는 시스템 충돌(Crash)에 의한 데이터베이스 비정상적 종료에 의해 트랜잭션이 종료되어 변경사항이 취소될 수 있다. -- Auto Commit 확인 SHOW AUTOCOMMIT; -- AUTO COOMMIT on SET AUTOCOMMIT ON; -- AUTO COOMMIT off SET AUTOCOMMIT OFF; Autocommit이 Off로.. 2021. 12. 9.
[국비] SQL 내용정리 Day03 서브쿼리 서브쿼리는 다른 SELECT 문장의 절에 내장된 SELECT 문장이다. 서브쿼리를 사용하면 간단한 문장을 강력한 문장으로 만들 수 있다. 테이블 자체의 데이터에 의존하는 조건으로 테이블의 행을 검색할 필요가 있을 때 서브쿼리를 사용하는 것이 유용하다. -- 'Nancy'의 급여보다 급여가 많은 사람을 검색한다. SELECT salary FROM employees WHERE first_name = 'Nancy'; SELECT first_name FROM employees WHERE salary > 12008; 서브쿼리를 사용하려면 () 괄호 안에 명시하고, 서브쿼리절의 리턴행이 1줄 이하여야 한다. 서브쿼리는 비교할 대상이 반드시 하나 들어가야 한다. 쿼리를 해석할 때 서브쿼리절을 먼저 해석한다... 2021. 12. 8.
[국비] SQL 내용정리 Day02 NULL 제거 함수 NVL(컬럼, 변환할 타겟 값) SELECT null FROM dual; SELECT NVL(null, 0) FROM dual; SELECT first_name, NVL(commission_pct, 0) AS comm_pct FROM employees; NULL 제거 함수 NVL2(컬럼, null이 아닐 경우 값, null일 경우 값) SELECT NVL2(null, '널아님', '널') FROM dual; SELECT NVL2(50, '널아님', '널') FROM dual; SELECT first_name, NVL2(commission_pct, 'true', 'false') FROM employees; SELECT first_name, commission_pct, NVL2(commi.. 2021. 12. 7.
[국비] SQL 내용정리 Day01 관계형 데이터베이스 관계형 데이터베이스는 관계들의 모음 또는 이차원 테이블의 모음이다. 파일 시스템과 데이터베이스 시스템의 차이점 데이터의 무결성을 지켜준다. 데이터의 공유 데이터의 정확성과 일관성 중복성의 제거 불일치를 피할 수 있다. 표준화가 가능하다. 데이터의 독립성 보장 -개념화 기법 발달 각 테이블들은 고유한 이름을 갖는다. 중복 문제의 해결 기법 제공: 정규형 데이터의 조작언어의 발달: SQL 관계형 데이터베이스는 테이블(table)들의 모음으로 구성 각 행은 일련의 값들 사이의 관계(relationship) 관계형 데이터베이스는 SQL(Structured Query Language)문을 사용하여 이용되고 수정한다. SQL문 이란? 데이터베이스로부터 데이터를 조회, 삭제, 수정, 변경 등의 작.. 2021. 12. 5.
[국비] Java 내용정리 Day20 Regular Expression Quiz01 - 형식이 맞지 않은 문자열에서 숫자의 가격 형식만 찾아서 순서대로 출력한다. package regex.pattern; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexQuiz { public static void main(String[] args) { String str = "헠4,500원 힣~ 1,200원엌? 6000원윀 120000원"; String pattern = "\\d원*"; Pattern p = Pattern.compile(pattern); Matcher m = p.matcher(str); while(m.find()) { System.out.pri.. 2021. 12. 4.
[국비] Java 내용정리 Day19 익명객체 구현 클래스가 매번 달라지거나, 한 번만 사용되는 경우 구현 클래스를 생성하지 않고 익명 클래스(이름이 없는 클래스)로 선언할 수 있다. package anonymous.basic; interface Car { public void run(); // 추상 메서드 } class Sonata implements Car { @Override public void run() { System.out.println("소나타가 달립니다."); } } public class Garage { //public Car car = new Sonata(); 일반적인 인터페이스 구현 객체 사용법 public Car car = new Car() { public void run() { System.out.println("익.. 2021. 12. 2.
[국비] Java 내용정리 Day18 음식점 메뉴판 관리 프로그램 package collection.map; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class FoodManager { public static void main(String[] args) { Map foods = new HashMap(); Scanner sc = new Scanner(System.in); System.out.println("*** 음식점 메뉴판 관리 프로그램 ***"); while (true) { System.out.println("# 1. 메뉴 등록"); System.out.println("# 2. 메뉴 전체보기"); System.out.println(".. 2021. 12. 1.
[국비] Java 내용정리 Day17 package collection.list; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class ListDelete { public static void main(String[] args) { Scanner sc = new Scanner(System.in); List kakao = new ArrayList(); Collections.addAll(kakao, "무지", "네오", "어치피", "라이언", "제이지"); System.out.println("현재 저장된 카카오 친구들: " + kakao); System.out.print("삭제할 친구.. 2021. 11. 29.