📌Today I Learned 오라클 수업 ex30_pl/sql 프로시저 프로시저 함수 트리거 트리거, Trigger 프로시저의 한 종류 개발자의 호출이 아닌, 미리 지정한 특정 사건이 발생하면 시스템이 자동으로 실행하는 프로시저 예약(사건) > 사건 발생 > 프로시저 호출 특정 테이블 지정(감시 대상) > 지정 테이블을 오라클이 감시 > insert or update or delete > 미리 준비해놓은 프로시저 호출 트리거 구문 예제 for each row 생략 문장(Query) 단위 트리거. Table level trigger 사건에 적용된 행의 개수 무관 > 트리거 딱 1회 호출 적용된 레코드의 정보는 중요하지 않은 경우 + 사건 자체가 중요한 경우 사용 행(Record) 단위 트리거 사건에 적용된 행의 개수만큼 > 트리거가 호
📌Today I Learned TIL 추가 작성 부족하다고 느낀 부분들의 내용을 추가하여 작성했다. 그러면서 복습했다. DB 프로젝트 개념 모델링 작성 금요일에 팀원들과 함께 정리한 요구사항을 바탕으로 어떤 테이블이 필요한지, 어떤 관계가 필요한지 약간의 정리를 한 후 그를 바탕으로 ERD를 작성해보았다. 하지만 아직 모든 내용을 정리한 것이 아니고, 교사와 교육생 기능에 대해 덜 이야기 하였으며, 테이블을 어떻게 만들 것인지 정확하게 말하지 않았기 때문에 막히는 부분들이 있었다. 그래서 일단 생각나는 부분과 의견을 나눠야 할 부분들을 따로 적어두고 할 수 있는 ERD만 그렸다.
📌Today I Learned 오라클(PL/SQL-실명 프로시저) ex30_plsql - 실명 프로시저(저장 프로시저) 명령어 실행 > 처리 과정 1. ANSI-SQL 2. 익명 프로시저 a. 클라이언트 > 구문 작성(select) b. 실행(Ctrl + Enter) c. 명령어를 오라클 서버에 전달 d. 서버가 명령어를 수신 e. 구문 분석(파싱) + 문법 검사 f. 컴파일 g. 실행(select) h. 결과셋 도출 i. 결과셋을 클라이언트에게 반환 j. 결과셋을 화면에 출력 2.2. 다시 실행 (그 사이에 누군가가 데이터베이스를 수정했다면? -> 처음 실행과 결과가 달라질 수 있다.) a ~ j 다시 반복 한 번 실행했던 명령어를 다시 실행 > 위의 모든 과정을 처음부터 끝까지 다시 실행한다. 첫 번째 실행 비용 = 다시 실행 비용 3.
📌Today I Learned 오라클(plsql) ex30_plsql - 익명 프로시저 PL/SQL Oracle's Procedural Language extension to SQL 기존의 ANSI-SQL + 절차 지향 언어 기능 추가 ANSI-SQL + 확장팩(변수, 제어 흐름(제어문), 객체(메서드) 정의) 프로시저, Procedure 메서드, 함수 등... 순서가 있는 명령어의 집합 모든 PL/SQL 구문은 프로시저 내에서만 작성/동작이 가능하다. 프로시저 아닌 영역 > ANSI-SQL 1. 익명 프로시저 1회용 코드 작성용 2. 실명 프로시저 데이터베이스 객체 저장용 재호출 PL/SQL 프로시저 구조 4개의 블럭(키워드)으로 구성 DECLARE BEGIN EXCEPTIO
📌Today I Learned 오라클 데이터 모델링 실습 다음 영화 사이트의 년간 박스오피스 랭킹 페이지의 데이터베이스 모델링을 실습했다. 순서는 다음과 같다. 데이터 수집 + 분석 모든 데이터 인식 DB에 저장할 데이터 선별 ERD 작성 a. 개념 데이터 모델 > ERD b. 논리 다이어그램 작성 c. 물리 다이어그램 작성 DDL 작성 DML 작성 데이터 추가 50편 영화 SELECT 작성 (검증용) 조회수 순서대로 가져오시오.(순위, 영화명) '유해진' 배우가 출연한 영화를 가져오시오. '박희곤' 감독이 제작한 영화를 가져오시오. 수상 내역이 있는 영화를 가져오시오. 관객 평점 9.0 이상 받은 영화를 가져오시오. 네티즌 평점이 8점 이상인 영화를 가져오시오. 영화의 명대사를 영화 제목과 함께 가져오시오. 등록된 50개
📌Today I Learned 오라클 ex29_modeling 데이터베이스 설계 요구사항 수집 및 분석 개념 데이터 모델링 논리 데이터 모델링 물리 데이터 모델링 데이터베이스 구축 데이터 모델링 요구 분석 기반 > 수집한 데이터 > 분석 > 저장 구조 > 도식화 > 산출물(ERD) 데이터를 저장하기 위한 데이터 구조를 설계하는 작업 개념 + 논리 + 물리 개념 > 아주 간단한 표현의 설계도 > 테이블 이름 + 속성 + 관계 정도만 기술 논리 > 관계형 데이터베이스 기본 설정 > 속성(자료형, 길이) + 도메인 정의 + 키 ... 물리 > 물리적 식별자 + 모든 것들을 실제 DBMS에 맞춰서 현실화 ERD, Entity Relationship Diagram 엔티티의 관계를 표현한 그림 데이터베이스 모델링 기법 중 하나 손, 오피스, 전문툴(eXERD, ER
📌Today I Learned 오라클 ex24_pseudo 의사 컬럼, Pseudo Column 실제 컬럼이 아닌데 컬럼처럼 행동하는 객체 rownum 행번호 시퀀스 객체 상관X 현재 테이블의 행번호를 가져오는 역할 테이블에 저장된 값이 아니라, select 실행 시 동적으로 계산되어 만들어진다.(중요) from절이 실행될 때 각 레코드에 rownum을 할당한다.(매우 중요) where절이 실행될 때 상황에 따라 rownum이 재계산된다.(매우 중요) > from절에서 만들어진 rownum은 where절이 실행될 때 변경될 수 있다. rownum이 1이 포함되고, 쌓이는 형태가 아니면 사용할 수 없다. 내가 원하는 순서대로 정렬 후 > rownum을 할당하는 방법 > 서브쿼리 사용(중요) 내가 원하는 순서대로 정렬 1을 서브쿼리로 묶는다. + rownum(rnum) 2를 서브
📌Today I Learned 노트북에 개발 환경 세팅하기 Oracle 11g xe 설치 인코딩 - UTF-8 글꼴 - Consolas 맑은고딕 > 새 접속 Name: localhost.system 사용자 이름: system 비밀번호: java1234 비밀번호 저장 - 체크 테스트 저장 접속 system 계정은 권한이 너무 크기 때문에 hr이라는 새로운 계정을 만들어 실습한다. system으로 접속한 후 hr 계정의 잠금을 해제하고 비밀번호를 바꾼다. 그 후 hr 계정으로 접속한다. > alter user hr identified by java1234; alter user hr account unlock; > Name: localhost.hr 사용자 이름: hr 비밀번호: java1234 비밀번호 저장 - 체크 테스트 저장 접속 d DBeaver 설치 복습
📌Today I Learned 오라클 ex20 Join 비디오 + 장르 > 조인 조인은 erd의 선이 연결된 관계에 따라서 만들 수 있다. 3. 외부 조인, OUTER JOIN 내부 조인의 반댓말(X) 내부 조인 결과 + 내부 조인에 포함되지 않았던 부모 테이블의 나머지 레코드를 합하는 조인 내부조인 - 모든 테이블에 동시에 존재하는 값만 불러올 수 있다. 외부조인 - 이너조인해서 9열까지 깔아둠. 이너조인에 포함되지 않은 나머지를 추가로 가져와서 붙여준다. 4. 셀프 조인, SELF JOIN 1개의 테이블을 사용하는 조인 테이블이 자기 스스로와 관계를 맺는 경우 다중 조인(2개) + 내부 조인 다중 조인(2개) + 외부 조인 셀프 조인(1개) + 내부 조인 셀프 조인(1개) + 외부 조인 5. 전체 외부 조인, FULL OUTER JOIN
📌Today I Learned 오라클 ex18_having [WITH ] SELECT column_list FROM table_name [WHERE search_condition] [GROUP BY groupbyexpression] [HAVING search_condition] [ORDER BY order_expression [ASC|DESC]] select 컬럼리스트 5. 컬럼 지정(보고싶은 컬럼만 가져오기) from 테이블 ----- 1. 테이블 지정 where 조건 ------ 2. 조건 지정(레코드에 대한 조건 - 개인 조건) group by 기준 --- 3. (레코드끼리) 그룹을 나눈다. having 조건 ------ 4. 조건 지정(그룹에 대한 조건) order by 정렬기준; 6. 순서대로 rollup() group by의
📌Today I Learned 오라클 ex13_DDL 2. PRIMARY KEY, PK 기본키 테이블의 행을 구분하기 위한 제약 사항 행을 식별하는 수많은 키(후보키)들 중 대표로 선정된 키 모든 테이블은 반드시 1개의 기본키가 존재해야 한다.(*) 중복값을 가질 수 없다. > unique 값을 반드시 가진다. > not null 3. FOREIGN KEY, FK 다음에 4. UNIQUE 유일하다. > 레코드간의 중복값을 가질 수 없다. null을 가질 수 있다. > 식별자가 될 수 없다. ex) 초등하굑 교실 학생(번호,이름,직책) 1,홍길동,반장 2,아무개,null 3,하하하,부반장 4,테스트,null PK = UQ + NN 5. CHECK 사용자 정의형 where절의 조건 > 컬럼의 제약 사항으로 적용 6. D