데이터베이스 10

[DB]10. 객체

[객체] 1. 객체: 데이터베이스 내에 존재하는 논리적인 저장구조 예)테이블, 뷰, 인덱스, 시퀀스, 함수, 프로시저 2. 뷰(VIEW): 가상의 테이블, 하나 이상의 테이블을 조회하는 SELECT문 저장하는 객체, 물리적 데이터 저장X -편리성: 자주 사용하는 SELECT문장 저장 -보안성: 테이블의 특정 데이터를 노출시키지 않기 위해 사용 ● 뷰 생성: CREATE VIEW 뷰 이름 AS SELECT문 ● 뷰 삭제: 이름 DROP VIEW 뷰 이름 ● 뷰 조회: SELECT * FROM 뷰 이름 [실습] --실습1. 부서별최고급여 뷰를 만들고 해당 뷰를 사용하여 --부서별로 가장 높은 연봉을 가진 직원들의 정보 출력 --부서ID, 최고급여 출력, 부서ID 기준으로 정렬, 최고급여 별칭만들기 CREAT..

데이터베이스 2023.06.09

[DB]9.TCL&DCL

[TCL] 1. TCL: 트랜잭션 제어어(COMMIT, ROLLBACK)(291p.) 2. 트랜잭션: 데이터베이스의 상태를 변화시키기 위해 수행하는 최소 수행단위 ● 업무를 처리하기 위한 일련의 과정. ● 과정 중 하나가 처리되지 않으면 데이터 유실되므로 트랜잭션 단위로 실행. 중간에 오류가 나면 모든 작업을 취소하고 처음부터 다시 처리한다. 예)직원에게 100만원 송금 ● 트랜잭션의 특성 -원자성: 모두 실행/실행되지 않음 -일관성: 언제나 일관성 있는 상태로 유지 -고립성: 하나의 트랜잭션 실행 중 다른 트랜잭션 실행x -지속성: 성공적으로 수행되는 트랜잭션은 영원히 반영 ● COMMIT: 수행한 트랜잭션을 데이터베이스에 영구적으로 반영할 때 사용. 마지막 COMMIT 시점 이후 실행한 트랜잭션 결과..

데이터베이스 2023.06.08

[DB]8.DML&서브쿼리

데이터베이스 08_ DML, 서브쿼리 [DML] 1. DML: 데이터 조작어, 테이블에 원하는 데이터를 입력/수정/삭제, 테이블에 있는 데이터를 변형시키는 명령어 2. INSERT: 테이블에 새로운 데이터를 행(튜플) 단위로 입력 ● INSERT INTO, VALUES는 컬럼 리스트 순서, 데이터 타입을 맞춰서 입력해야 함 ● 컬럼리스트를 생략하면 테이블 전체에 테이블 변형, VALUES에 입력할 값은 INSERT 테이블에 있는 컬럼 개수와 동일해야 함 [실습1] --실습1. --부서명에 값 넣기 INSERT INTO 부서(부서ID, 부서명) VALUES(1, '연구개발팀'); INSERT INTO 부서(부서ID, 부서명) VALUES(2, '교육운영부'); INSERT INTO 부서(부서ID, 부서명)..

데이터베이스 2023.06.07

[DB]7. DDL

데이터베이스 07_DDL 1. 데이터 정의어: 테이블 같은 데이터 저장소, 객체를 만들거나 수정 2. CREATE: 새로운 객체를 생성할 때 사용하는 명령어 -CREATE TABLE(USER, SEQUENCE, VIEW) ● 테이블 조회: 테이블명 작성-블럭 씌우기-Shift+ F4 -자료형(크기): DATA_TYPE -기본값: DATA_DEFAULT -NULL 여부: NULLABLE(YES=NULL(생략가능), NO=NOT NULL) ● 컬럼 여러 개 쓸 때는 콤마로 연결하며, 마지막 컬럼은 콤마를 쓰지 않는다. ● 테이블 삭제: DROP TABLE 테이블명 ● 테이블 생성 규칙 -대소문자 구분하지 않는다. -테이블명 중복될 수 없음 -같은 테이블 내에서 컬럼명은 중복될 수 없음 -문자로 시작해야 하며..

데이터베이스 2023.06.06

[DB]6. JOIN

[JOIN] 1. JOIN: 필요한 데이터가 두 개 이상의 테이블에 나누어져있을 때 데이터를 합쳐서 가져오고자 하는 경우 사용 예)직원 ID가 100인 직원의 부서이름을 출력 2. FROM 절 ● 테이블 여러 개 지정하여 출력가능 ● 테이블에 별칭 지정 가능 ● FROM절에 별칭 사용하면 그 이후에 오는 실행절(SELECT, WHERE절 등)에 모두 별칭만 사용해야 한다. ● 테이블 여러 개 사용 시, 어느 테이블에서 가져온 컬럼인지 명확하게 지정해야 한다. -방법: 테이블명(별칭).컬럼 ● 컬럼이 각각의 테이블에 모두 있는 경우 구분짓기 위해 컬럼 앞에 테이블을 명시해야 하지만, 한 테이블에만 있는 컬럼인 경우 반드시 테이블명을 명시할 필요없다. EMPLOYEES와 DEPARTMENTS에 모두 있는 컬..

데이터베이스 2023.06.05

[DB]5. GROP BY&HAVING절

[데이터베이스] GROUP BY&HAVING절 GROUP BY: 특정 컬럼을 기준으로 그룹화하여 집계할 때 사용, 행을 그룹화하여 각각 단일행으로 표기 SELECT FROM GROUP BY 컬럼명 실제 출력되는 행의 개수가 감소하기 때문에 GROUP BY보다 늦게 출력되는 절(SELECT, HAVING, ORDER BY)에서 출력할 수 있는 행이 제한됨 그룹화한 컬럼만 SELECT에서 사용할 수 있음 그룹화했을 때 행의 개수와 SELECT문에서 출력하는 컬럼의 행의 개수가 같아야 함 대신 집계함수(SUM, COUNT, MIN, MAX, AVG..)로 처리하는 컬럼은 가능하다. -단일행 함수: (집계함수...): 함수에 적용되는 행은 여러 개, 결과값은 1개의 행으로 도출 SELECT SUM(SALARY)..

데이터베이스 2023.06.01

[DB]4. Oracle 함수

[DB]4. Oracle 함수 ● 함수: 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합 -내장함수: 오라클에서 기본적으로 제공하고 있는 함수 -사용자 정의 함수: 사용자가 필요에 의해 직접 정의한 함수 1. 문자 함수(130p.) 1)UPPER/LOWER ● UPPER: 데이터를 모두 대문자로 변환하여 반환 ● LOWER: 데이터를 모두 소문자로 변환하여 반환 *사용법: SELECT UPPER(데이터), LOWER(데이터) [실습1] --이름은 대문자로 변환, 이메일은 소문자로 변환해서 출력 select upper(fist_name), lower(email) from employees; 2)LENGTH : 문자열의 길이를 구하는 함수 - LENGTH(데이터) -WHERE절 조..

데이터베이스 2023.05.31

[DB]2. SELECT절

데이터베이스 02 _ SELECT절 ● DB: 구조화된 데이터의 집합 ● DBMS: 데이터베이스관리시스템 ● DB의 종류: Oracle, MySQL, MariaDB 1. SQL 의미와 종류(26p.) -Structured Query Language(구조화된 질의 언어) -데이터베이스를 위한 표준질의 언어 2. 자료형(39p.) 3. SQL 실행순서 4. 전체 데이터 출력하기(*) SELECT *(asterisk) FROM 테이블 이름 [실행순서] 1. 테이블에서 데이터가져오기 2. 해당 테이블에서 전체컬럼 출력하기 --전체 컬럼 출력하기 select * from employees; *sql문장은 대소문자 구별하지 않음 * 문자열은 ' '(작은따옴표)로 작성, 대소문자 구분 *sql문장의 마무리는 ;(세미..

데이터베이스 2023.05.29

[DB]1. 데이터베이스 개요

1. 데이터베이스 -특정 목적을 위해 여러 사람이 공유하여 사용할 수 있으며 효율적인 관리와 검색을 위해 구조화된 데이터집합. -여러 사용자가 공유하여 사용할 수 있도록 데이터를 통합해서 저장한 운영데이터의 집합 파일시스템 DBMS 데이터 중복 및 누락 발생 데이터 중복 및 누락 방지 실시간 공유(동기화) 불가 실시간공유(동기화) 가능 각각의 방법으로 데이터 관리 일관성 있는 방법으로 데이터 관리 2. 데이터 모델링: 현실대상을 데이터베이스로 저장할 수 있도록 설계, 구축하는 과정 [단계]요구사항 분석-개념적 모델링-논리적 모델링-물리적 모델링-데이터베이스 1)개념적 모델링 -현실세계의 복잡한 대상을 추상화, 단순화하여 데이터로 표현하는 과정 -어떤 데이터를 저장할 것인지 결정하는 단계 -개체와 속성을 ..

데이터베이스 2023.05.28