일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 이것이 오라클이다
- 데이터모델링
- youtube review
- 컴퓨터 활용 능력
- sqld
- 열거형
- 데이터 모델링
- 인덱스의 개념과 장단점
- delete
- 컴퓨터 구조
- 2025-02-13
- Update
- 혼자 공부하는 네트워크
- 혼자 공부하는 컴퓨터 구조 + 운영체제
- 혼자 공부하는 SQL
- 웹 디자인 기능사
- 명령 프롬프트
- 친절한 SQL 튜닝
- github에 새 리포지토리 추가하기
- 리눅스 마스터 2급
- 첫 프로그래밍
- INSERT
- mysql 설치 방법과 정상 작동 확인하기
- 혼자 공부하는 컴퓨터 구조 및 운영체제
- oracle
- 클러스터형 인덱스와 보조 인덱스
- 컴퓨터 활용 능력 1급
- 뷰
- 운영체제
- gitkraken을 통한 프로젝트 올리기
- Today
- Total
목록전체 글 (315)
코딩 브이로그

*Youtube Link - https://www.youtube.com/watch?v=gZ42zHGUFdQ&list=PL6i7rGeEmTvpLoDkB-kECcuD1zDt_gaPn&index=19 21. CUBE 문제정답은 1번이다. 22. CUBE정답은 1번이다.ROLLUP은 전체와 소계를 구한다.ROLLUP, CUBE, GROUPING SETS는 여러 컬럼에 대해서도 사용할 수 있다.ROLLUP 보다 CUBE가 더 시스템 부하를 많이 시킨다.23. COUNT()정답은 3번이다.24. 트랜잭션원자성은 모두 성공하거나 전혀 실행되지 않아야 한다. 성공하면 커밋 실패하면 롤백이 되는 것이다.일관성은 트랜잭션 실행 전 DB 내용이 정상이라면 트랜잭션 이후에도 DB 내용이 정상이어야 한다. 제약 조건을 통해서 ..

*Youtube Link - https://www.youtube.com/watch?v=7bzILN8y5K0&list=PL6i7rGeEmTvpLoDkB-kECcuD1zDt_gaPn&index=18 11. TRUNCATE 문제답은 1번이다.DDL -> 자동 커밋CREATE, ALTER, DROP, TRUNCATE는 자동 커밋된다.테이블 용량이 줄어든다.테이블 구조는 남아있다.ROLLBACK할 수 없다.TRUNCATE는 테이블을 초기 상태로 되돌린다.12. 서브쿼리 (인라인뷰)GROUP BY C1의 경우 C1을 SELECT에 사용할 수 있다.그러나 다른 컬럼을 SELECT할 경우 크기가 맞지 않아 SELECT가 안 된다.서브쿼리의 인라인뷰는 가상의 테이블처럼 사용한다.그래서 애스터리크로 출력을 했으므로 N2를..

*Youtube Link - https://www.youtube.com/watch?v=x_SSdptNWGo&list=PL6i7rGeEmTvpLoDkB-kECcuD1zDt_gaPn&index=17 1. 도메인 문제예를 들어 CREATE TABLE COL1 NUMBER(10) NOT NULL이면NOT NULL을 보고 도메인이라고 한다.입력받을 수 있는 값의 범위를 셋팅을 한 것이다.엔터티(개념적 모델링) : 테이블(물리적 모델링) : 릴레이션(논리적 모델링)속성 : 컬럼도메인 : 제약조건릴레이션에서 모든 속성의 도메인은 원자적(Atomic)이어야 한다.2. IE 표기법고객 엔터티의 고객번호가 내부 식별자라면계좌마스터 엔터티에서 고객번호(FK)는 외부 식별자이다.답은 2번이다.주식별자는 고객번호(PK)를 말하..

*Youtube Link - https://www.youtube.com/watch?v=P4gwjC0F9OM&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=36 PHP와 Oracle의 기본 연동실습 13-01.phpdb_user 이름db_password 비밀번호db_sid 오라클 sid 명db_charset 인코딩, AL32UTF8로 지정을 하면 한글이 잘 안 깨짐만일 정보가 틀리면다음과 같이 에러가 발생한다.오라클 접속이 실패한다.SQL문을 실행하는 방법sql developer에서 하던 것을 php파일에서 하려고 한다.$stat = oci_parse($con, SQL문);$ret = oci_execute($stat);statment를 만들고 return값을 받는다.$r..

*Youtube Link - https://www.youtube.com/watch?v=M74URwbsUAU&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=35 서버 스크립트와 클라이언트 스크립트클라이언트 스크립트: 서버에서 파일을 갖고 있다가 클라이언트에서 필요하면 전송을 해준다. 그러면 클라이언트에서 실행이 된다.서버 스크립트: 서버에서 작동을 한다. 서버에서 HTML 코드를 만들어 준다. 자바 스크립트 코드로도 만들어질 수도 있다. 그리고 얘를 보내준다. 그래서 클라이언트에서 확인이 불가능하다.동적으로 실행할 수 있다.php, jsp, asp.net 등이 서버 스크립트이다.서버 스크립트는 주로 데이터베이스와 연동되는 것을 주 목적으로 한다.HTML 태그*.htm, ..

* Youtube Link - https://www.youtube.com/watch?v=x7NBTq-XNTo&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=34 웹 사이트 개발 환경 구축Apache(웹 서버), Oracle(DB 툴), PHP(프로그래밍 언어) 세 소프트웨어를 통해서 웹 사이트 개발 환경을 구축해보겠다.Oracle만 64bit를 사용하고 나머지는 32bit를 사용한다.cafe.naver.com/thisisMySQL 사이트를 참조한다.서버 충돌을 피하기 위한 비주얼 스튜디오에서 제공하는 IIS Express 제거1. Apache HTTP Server 2.2 를 C:\Apache2.2\ 경로에 설치한다.fcgid 설치네이버 카페에서 fcgid를 설치하고 ..

* Youtube Link - https://www.youtube.com/watch?v=_X6GOarxaXg&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=33 11.3.3 재귀 트리거실습용 테이블 준비- (1) 간접 재귀 트리거용 테이블 A,B 생성 및 시퀀스 생성- 트리거의 단계 숫자가 저장되는 테이블이렇게 0으로 초기화 시키고, 계속해서 값을 올리는 테이블이다.- 간접 재귀 트리거 테스트를 위한 트리거 A, B 생성recuA 테이블에 입력을 하면 트리거가 작동을 해서recuB 테이블에 입력되도록 한다.그리고 recuB 테이블에 입력되면recuA 테이블에 입력되도록 한다.이렇게 서로를 간접적으로 재귀한다.- 호출그리고 recuA에 데이터를 입력하면서로를 무한히 재..

* Youtube Link - https://www.youtube.com/watch?v=0KxIvQRPIIs&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=32 BEFORE 트리거INSERT의 값이 테이블에 들어가기 전에 :NEW 임시 테이블에 들어가요DELETE의 값이 테이블에서 지워지고, :OLD 테이블에 예전 값이 입력된다.UPDATE의 값이 :NEW 테이블에 들어가고 테이블에 새값이 들어가고 :OLD 테이블에 예전 값이 들어간다.BEFORE 트리거 UPDATE문 실습데이터를 삽입하기 전에 :NEW 테이블에 데이터가 저장된다.그러면 그림처럼 자동으로 새 테이블에 :NEW 테이블에 있는 데이터가 저장된다.특정 테이블의 열 이름을 트리거로 조정할 수 있다.이처럼 특정..

* Youtube Link - https://www.youtube.com/watch?v=9Hm7qaN3xhQ&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=31 트리거 개념무결성을 위한 제약조건이다.방아쇠 역할을 한다.예를 들어 백업 테이블에 자동으로 입력되도록 하는 것이다.주로 DML 문에서 사용을 한다.트리거는 프로시저와 비슷해 보인다.하지만 트리거는 어떠한 이벤트가 발생을 할 때 실행되는 것이다.트리거를 생성하였다.BEGIN END로 묶어서 쿼리를 실행하는 이유는트리거에서 만든 BEGIN END 구문 안에 있는 DBMS_OUTPUT.PUT_LINE('트리거가 작동했습니다.'); 를 실행하기 위해서다.실제 트리거가 작동하는 것은 BEGIN END와 상관 없다.트리거..

*Youtube Link - https://www.youtube.com/watch?v=5b2lOuOnHiI&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=30 커서커서의 선언패키지우리는 DBMS_OUTPUT 등의 패키지를 사용해 왔다.패키지 안에는 여러 프로시저들이 담겨있다.그래서 SELECT * FROM ALL_PROCEDURES WHERE OBJECT_NAME = 'DBMS_OUTPUT';을 하면 DBMS_OUTPUT 패키지 안에 있는 프로시저들을 확인할 수 있다.ALL_OBJECTS 는 모든 오브젝트를 반환한다.ALL_PROCEDURES 는 해당 이름의 오브젝트의 모든 프로시저들을 반환한다.ALL_SOURCE는 해당 이름의 패키지의 모든 소스를 반환한다. 쿼리는 ..

* Youtube Link - https://www.youtube.com/watch?v=TVscLvy4d_A&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=29 10.2 함수실습- 함수의 쓰임새파라미터 타입과 반환할 타입을 정한다.VAR retValue NUMBER; 변수를 선언한다.EXECUTE :retValue = := getAgeFunc(1979); 함수를 실행하고 결괏값을 변수에 저장한다.PRINT retValue; 그리고 출력한다.그러나 보통 이렇게 사용은 잘 하지 않는다.행으로 결괏값을 이렇게 출력할 수 있다.기존의 테이블의 값을 SELECT해서 getAgeFunc(birthYear) 생년월일을 조회해서 현재의 나이값을 조회한다.이름이면 blind 처리 (예..

* Youtube Link - https://www.youtube.com/watch?v=PB6i20Fwas8&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=28 예제 1) 입력 파라미터와 기본 변수를 설정한 프로시저저장 프로시저를 생성할 때 스크립트 실행을 통해서 통째로 실행을 해야 한다.여러 SQL문들을 실행하기 때문에 한꺼번에 실행을 해야 한다.() 안에 파라미터를 선언하고AS 다음에 변수를 선언한다.선언한 파라미터와 변수를 프로시저 내에서 사용할 수 있다.BEGIN END 안에 프로시저를 선언한다.- 시퀀스 생성CREATE SEQUENCE userSEQ; 명령어를 통해서 userSEQ라는 이름의 시퀀스를 생성할 수 있다.userSEQ.NEXTVAL 함수를 통해서 ..

* Youtube Link - https://www.youtube.com/watch?v=ba_mUEJ4qtw&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=27 #의의저장 프로시저와 함수실무에서는 프로시저를 굉장히 많이 사용한다.프로그래밍을 할 수 있기 때문이다.또한, 시스템 성능에도 굉장히 도움이 된다.#저장 프로시저오라클 뿐만 아니라 모든 곳에서 사용된다.CREATE OR REPLACE 프로시저주로 프로시저를 생성할 때 이와 같은 형식으로 사용을 한다.실습- CREATE OR REPLACE PROCEDURE프로시저 USERPROC이 컴파일 되었다.- EXECUTE 저장_프로시저_이름EXECUTE userProc();을 실행하였다.- SET SERVEROUTPUT O..

* Youtube Link - https://www.youtube.com/watch?v=98y70kDWxwM&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=26 인덱스의 성능 비교대용량 데이터를 이용한 성능비교를 해보려고 한다.INDEX를 생성하지 않은 Emp 테이블INDEX를 생성한 Emp_idx 테이블을 만들어서성능 비교를 해보겠다.전체 총 데이터는 300024건이다.ORDER BY DBMS_RANDOM.VALUE를 통해서랜덤으로 ORDER BY를 하였다.SELECT DBMS_RANDOM.VALUE FROM dual UNION ALL SELECT DBMS_RANDOM.VALUE FROM dual UNION ALL SELECT DBMS_RANDOM.VALUE FROM..

* Youtube Link - https://www.youtube.com/watch?v=mzvtZU4Y0ko&list=PLVsNizTWUw7FzFgU1qe-n7_M7eMFA9d-f&index=25 9.4 인덱스 생성/변경/삭제- 자동 생성 인덱스: PRIMARY KEY, UNIQUE- 직접 생성 인덱스: CREATE문을 사용해서 만들 수 있음9.4.3 인덱스 제거실습PK에 다시 이름을 지어서 만들기 위해01. ALTER TABLE userTBLDROP PRIMARY KEY CASCADE; 를 실행하였다.CASCADE를 통해서 PK와 FK를 지울 수 있다.그리고 02. ALTER TABLE userTBLADD CONSTRAINT FK_userTbl_buyTblFOREIGN KEY (userID)REFERE..