전체 글 121

SELECT

-- SELECT /* SELECT * 혹은 컬럼 FROM [스키마.]테이블명 혹은 [스키마.]뷰명 WHERE 조건 ORDER BY 컬럼; 출력되는 데이터의 개수에는 영향을 주지않는다. * :모든 컬럼명을 의미하는 특수문자 *는 개발코드에서는 사용하지 않느다. */ -- 질문내용? 사원 테이블에서 급여가 5000이 넘는 사원번호와 사원명을 조회 SELECT employee_id, emp_name FROM employees WHERE salary > 5000; SELECT emp_name AS 사원이름, employee_id AS 사원번호 FROM employees WHERE salary > 5000; SELECT employee_id, SALARY, EMP_NAME, employee_id, SALARY,..

Data base 2022.10.17

인덱스

-- 인덱스 /* 책.1)차례 2)찾아보기 목적 : SELECT문의 검색(조회) 속도의 성능향상 인덱스 생성 방법 : 컬럼명의 값을 가지고 인덱스 생성. - 자동생성 : 테이블에 PRIMARY KEY, UNIQUE 제약조건 적용. ( 인덱스명이 제약조건객체이름으로 생성되므로, 인덱스명을 사용 할 경우에는 제약조건객체이름을 수동으로 생성하면 관리가 편해진다. - 수동생성 인덱스 특징? - 컬럼에 인덱스가 없을 경우 : 컬럼에 데이터 조회시 전체테이블 스캔이 진행된다. 예> SELECT * FROM 테이블명 WHERE 컬럼명 = 값; 인덱스 생성지침 ❶ 일반적으로 테이블 전체 로우(레코드) 수의 15%이하의 데이터를 조회할 때 인덱스를 생성한다 물론 15%는 정해진 것은 아니며 테이블 건수, 데이터 분포 정..

Data base 2022.10.17

테이블 복사

테이블 복사 /* 테이블 복사 - 제약조건 복사안됨. 프로젝트를 하다 보면 기존에 있는 테이블을 복사해서 사용할 경우가 발생한다. 예를 들어, 사용하고 있는 기존 테이블의 테이블의 구조를 자주 변경한다면 미리 복사해 만들어 테스트해보거나, 테이블 데이터 자체를 백업용으로 만들어 놓을 수도 있다. CREATE TABLE [스키마.]테이블명 AS SELECT 컬럼1, 컬럼2, ... FROM 복사할 테이블명; */ CREATE TABLE ex2_9_1 AS SELECT * FROM ex2_9; CREATE TABLE ex2_9_bak AS SELECT * FROM ex2_9; SELECT * FROM ex2_9_bak; INSERT INTO ex2_9 VALUES(100, 'MALE'); -- 제약조건으로 ..

Data base 2022.10.17

중첩클래스와 중첩 인터페이스

중첩클래스 : 클래스 멤버로 선언된 클래스 class ClassName{ class NestedClassName{ } } 중첩 인터페이스: 클래스 멤버로 선언된 인터페이스 class ClassName{ interface NestedInterfaceName{ //중첩 인터페이스 } } 용도 해당 클래스에서만 사용하는 클래스와 인터페이스가 필요할떄 활용된다. 중첩 인터페이스는 UI 컴포넌트 내부 이벤트 처리에 많이 활용된다.

JAVA 2022.10.15

예제 문제

--1. 테이블명 : STAR_WARS(영화 정보) -- 칼럼 : EPISODE_ID : 에피소드 아이디, 숫자 타입(5), 기본키 -- EPISODE_NAME : 에피소드에 따른 영화 제목, 가변 문자 타입(50) -- OPEN_YEAR : 개봉 연도, 숫자 타입(4) CREATE TABLE STAR_WARS( EPISODE_ID NUMBER(5) CONSTRAINT SW_EPISODE_ID_PK PRIMARY KEY, EPISODE_NAME VARCHAR2(50), OPEN_YEAR NUMBER(4) ); --2. 테이블명 : characters(등장인물) -- 칼럼 : character_id : 등장인물 아이디, 숫자 타입(5), 기본키 -- character_name : 등장인물 이름, 가변 문자..

Data base 2022.10.14

DEFAULT

-- DEFAULT : 컬럼에 기본값. CREATE TABLE ex2_10 ( Col1 VARCHAR2(10) NOT NULL, Col2 VARCHAR2(10) NULL, Create_date DATE DEFAULT SYSDATE --오라클 날짜 체크 함수 SYSDATE -- DATE 타입과 뒤에오는 타입이 일치해야한다 ); -- 입력시 테이블명에 컬럼명을 생략하면, 모든 컬럼명을 의미한다. 1,2번은 동일하다. INSERT INTO ex2_10 VALUES ('AA', 'AA'); --1 "not enough values" INSERT INTO ex2_10(COL1,COL2,CREATE_DATE) VALUES('AA', 'AA'); --2 "not enough values" --입력컬럼명을 생략한 경우..

Data base 2022.10.14

CHECK

-- CHECK /* 컬럼에 입력되는 데이터를 체크해 특정 조건에 맞는 데이터만 입력 받고 그렇지 않으면 오류를 뱉어 낸다. CONSTRAINT 체크명 CHECK(체크조건) */ -- 제약조건객체도 데이터베이스 객체. 구성요소중 하나이다. CREATE TABLE ex2_9 ( num1 NUMBER CONSTRAINTS check1 CHECK ( num1 BETWEEN 1 AND 9), -- 이름 생성없다면 CONSTRAINTS check1 빼기 gender VARCHAR2(10) CONSTRAINTS check2 CHECK ( gender IN ('MALE', 'FEMALE')) ); -- 앞의 CONSTRAINTS check1 제약이 생성되어 있으므로, 아래구문에서 CONSTRAINTS check1 제..

Data base 2022.10.14

외래키(Foreign key)

예제 1 /* 외래키 외래키Foreign key는 테이블 간의 참조 데이터 무결성을 위한 제약조건이다. CONSTRAINT 외래키명 FOREIGN KEY(컬럼명, ...) REFERENCES 참조 테이블(참조 테이블 컬럼명, ...) 반드시 참조하는 테이블이 먼저 생성되어야 하며, 참조키가 참조 테이블의 기본키로 만들어져 있어야 한다. 외래키에 사용할 수 있는 컬럼 개수는 최대 32개다. 여러 컬럼을 외래키로 만들려면, 참조하는 컬럼과 외래키 컬럼의 순서와 개수는 같아야 한다. */ -- 1) 참조키 설정이 없는경우 --부서테이블 CREATE TABLE DEPT( DEPT_CODE NUMBER PRIMARY KEY, DEPT_NAME VARCHAR2(20) NOT NULL ); --사원테이블 CREATE..

Data base 2022.10.14