야나도 프로젝트

나도 개발자 될수있어

Oracle 14

JAVA 주소록 관리 프로그램 개선

기존에 JAVA를 이용하여 주소록 관리 프로그램을 했었다. JAVA 주소록 관리 프로그램 (tistory.com) JAVA 주소록 관리 프로그램 JAVA 미니 프로젝트 : 주소록 관리 프로그램 * 조건 데이터는 텍스트로 관리한다. 데이터 구분은 , 로 한다. 저장 클래스 필드는 이름 , 핸드폰번호, 전화번호 출력 예시 1. 저장 클래스 생성 요구한 jaemin-lim.tistory.com 로컬저장소의 txt파일을 이용하여 읽고 쓰고를 했던 버전인데, 여기에 DB를 얹어보았다. 1. 생성CLASS package com.java.miniproject; public class PhoneBookVO { // 필드 작성 private Long id; private String name; private String..

JAVA 2021.08.10

Oracle Database - JDBC Programming

JDBC 기본 API JDBC 개요 정의 JDBC (Java Database Connectivity) 자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 그리고 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약 자바 프로그램 내에서 SQL 문장을 실행하기 위한 자바 API SQL과 프로그래밍 언어의 통합 접근 중 한 형태 개발자를 위한 표준 인터페이스인 JDBC API와 데이터베이스 벤더, 또는 기타 서드파티에서 제공하는 드라이브(driver) 환경 구성 - JDK 설치 - http://java.sun.com JDBC 드라이버 적용 %JAVA_HOME% \ \jdbc\lib 에 가면 ojdbc8.jar 파일이 있다. 이것을 작업하는 프로젝트에 lib폴더를 생성하고, Drag & ..

DB-Oracle 2021.08.09

Oracle Database - DB Objects

Oracle Main DB Objects Object 용도 VIEW 하나 혹은 복수개의 테이블 혹은 뷰를 기반으로 한 논리적 테이블 INDEX 테이블 혹은 클러스터의 색인된 컬럼에 나타나는 각 값에 대한 항목을 포함하고 열에 대한 직접적이고 빠른 접근을 제공하는 객체 SEQUENCE 유일한 순차 값을 생성하는 스키마 객체 SYNONYM 테이블, 뷰, 시퀀스 혹은 프로그램 유닛의 별칭(alias) INDEX : 검색성능이 향상되나, 레코드의 변경(INSERT, UPDATE, DELETE)가 있을경우 재구성작업이 필요하여 느려질 수 있음. View Create View Syntax CREATE [OR REPLACE] [FORCE|NO FORCE] VIEW view_name [(alias[,alias]…)] ..

DB-Oracle 2021.08.09

Oracle SQL - Transaction

Oracle SQL - Transaction 정의 - DB에서 하나의 작업으로 처리되는 논리적 작업 단위 - DBMS의 Concurrency Control과 Recovery에서 중요한 역할을 수행 ACID Property - 원자성(Atomicity) : All or Nothing. 하나의 단위로 처리되어야 함 (중간까지만 처리됨은 불가) - 일관성(Consistency) : 데이터베이스의 일관성(무결성)을 깨지 않아야 함 - 격리성(Isolation) : 다른 Transaction과 동시에 수행되더라도 독립적으로 영향을 받지 않아야 햠 - 영속성(Durability) : 한번 수행 완료(commit) 되면 영원히 반영되어 있어야 함(시스템 Crash 상황에서라도) 구성 - DML (INSERT, UPD..

DB-Oracle 2021.08.06

Oracle SQL - DML – INSERT, UPDATE, DELETE

Data Manipulation Language "C"REATE - INSERT "R"EAD - SELECT "U"PDATE - UPDATE "D"ELETE - DELETE --> "CRUD" 종류 Add New Row(s) - INSERT INTO 테이블명 [(컬럼 리스트)] VALUES (값 리스트); Modify Exsiting Row(s) -UPDATE 테이블명 SET 변경내용 [WHERE 조건]; Remove Existing Row(s) -DELETE FROM 테이블명 [WHERE 조건]; 트랜잭션의 대상 - > 복구 할 수 있다. -트랜잭션은 DML의 집합으로 이루어짐 -ALL or NOTHING INSERT 테이블에 새로운 튜플을 삽입할 때 사용하는 명령 Syntax INSERT INTO t..

DB-Oracle 2021.08.06

Oracle Database - DDL – Data Definition Language

DDL 요약 CREATE TABLE : 테이블 생성 ALTER TABLE : 테이블 관련 변경 DROP TABLE : 테이블 삭제 RENAME : 이름 변경 TRUNCATE : 테이블의 모든 데이터 삭제 (주의! 절대 복구 안됨) COMMENT : 테이블에 설명 추가 테이블 생성 - CREATE TABLE 문 이용 - Syntax CREATE TABLE [schema.]table_name (column datatype [DEFAULT expr] [column_constraints], ......, [table_constraints]); Oracle에서의 Table 관리 Oracle은 Database의 공간을 Tablespace라는 논리적 공간으로 분할하여 관리 Table을 만들기 위해서는 CREATE T..

DB-Oracle 2021.08.06

Oracle Database - DCL – Data Control Language

Database User 데이터베이스 사용자 - 데이터베이스에 접속하여 데이터를 이용하기 위해 접근하는 모든 사람 - 이용 목적에 따라 데이터베이스 관리자(Database Administrator: DBA), 최종 사용자, 응용프로그래머로 구분 - Oracle 데이터베이스 생성시 기본적으로 생성되는 계정 - SYS - Data Dictionary Table의 소유자 - SYSTEM - 각종 Dictionary View의 소유자 - 각 USER는 동일한 이름의 SCHEMA 소유자로, 해당 SCHEMA의 모든 객체들에 접근할 수 있다 사용자 관리 Syntax 사용자 생성 : CREATE USER username IDENTIFIED BY password; 비밀번호 변경 : ALTER USER username ..

DB-Oracle 2021.08.05

Oracle SQL - SUBQUERY, SET Operation

Oracle SQL - SUBQUERY, SET Operation Subquery 하나의 SQL 질의문 속에 다른 SQL 질의문이 포함되어 있는 형태 예) 'SCOTT' 보다 급여가 많은 사람은? 급여가 많은 사람의 이름? SELECT ename FROM emp WHERE sal > ??? 'SCOTT'의 급여는? SELECT sal FROM emp WHERE ename='SCOTT' SELECT ename FROM emp WHERE sal > ( SELECT sal FROM emp WHERE ename = ‘SCOTT’ ) [연습] hr.employees 'Den' 보다 급여를 많이 받는 사원의 이름과 급여는? Single-Row Subquery Subquery의 결과가 한 ROW인 경우 - Singl..

DB-Oracle 2021.08.05

Oracle SQL - JOIN

SQL 문법 기본 순서 SELECT FROM WHERE ORDER BY Oracle SQL - JOIN JOIN 둘 이상의 테이블을 합쳐 하나의 큰 테이블로 만드는 방법 필요성 관계형 모델에서는 데이터의 일관성이나 효율을 위하여 데이터의 중복을 최소화 (정규화) Foreign Key를 이용하여 참조 정규화 된 테이블로부터 결합된 형태의 정보를 추출할 필요가 있음 예) 직원의 이름과 직원이 속한 부서명을 함께 보고 싶다면? 카티젼 프로덕트 - 두 테이블에서 그냥 결과를 선택한다면... SELECT ename, dname from emp, dept 결과 : 두 테이블 행들의 가능한 모든 쌍이 추출 일반적으로 사용자가 원하는 결과가 아님 - Cartesian Product - Cartesian Product를..

DB-Oracle 2021.08.04

Oracle SQL - Group & Aggregation

Aggregation Function (집계함수) - 여러 행으로부터 하나의 결과값을 반환 - 종류 AVG COUNT COUNT(*) : 테이블 내의 행 수 (NULL도 카운트됨) COUNT(expr) : 테이블 내의 행 수 (NULL 제외) MAX MIN SUM STDDEV VARIANCE count() - 함수에 입력되는 데이터의 총 건수를 구하는 함수 - * 를 사용하면 null을 포함한 총 Row의 개수를 구하며, 필드를 명시할 경우 null 값을 제외한다. SELECT COUNT(*), COUNT(commission_pct) FROM employees; SELECT COUNT(*) FROM employees WHERE salary > 16000; sum() - 입력된 데이터들의 합계 값을 구하는..

DB-Oracle 2021.08.04