DB
-
Oracle - ObecjtDB/Oracle 2019. 1. 9. 09:52
Oracle Obecjt 타입은 객체지향에서 사용되는 클래스 개념과 같다. 구조체의 특성을 그대로 물려받고 함수까지 사용할 수 있다. - Object 생성 단순한 데이터 타입 뿐만 아니라 멤버함수까지 선언할 수 있다. 함수를 선언하긴 했는데, 이를 실제로 수행하는 로직을 구현해야 한다. CREATE OR REPLACE TYPE BODY 구문을 통해 생성할 수 있다. - ( 패키지의 BOD와 같은 개념이라고 이해할 수 있다. ) - Function 구현부 - dept_typ를 사용하는 테이블을 생성한다. * 오라클에서는 Object 타입 선언시 생성자를 굳이 명시하지 않더라도 타입 객체가 생성되면 오라클 내부에 생성자가 저장딘다. 그리고 생성자 함수의 명칭은 다른 객체지향 언어들에서처럼 클래스 이름, 즉 ..
-
Oracle - PackageDB/Oracle 2019. 1. 8. 16:19
함수나 프로시저를 분류해서 한 묶음으로 묶을 수 있다. 패키지를 정의하고 구현하면 1. 애플리케이션을 좀 더 효율적으로 개발할수 있게 도와준다. 2. 관련된 스키마 오브제그들을 재 컴파일할 필요 없이 수정이 가능하다. 3. 한번에 여러개의 패키지 오브젝트들을 메모리로 로드할 수 있다. 4. 프로시저나 함수들의 오버로딩이 가능하다. - 패키지 내에 정의된 함수나 프로시저에서만 오버로딩이 가능하고 개별 선언된 함수나 프로시저는 오버로딩할 수 없다. 5. 패키지 내의 모든 타입, 항목, 서브 프로그램들을 public이나 private으로 사용할 수 있다. - private으로 선언되면 패키지 내에서만 사용 가능하다. 패키지란 - 프로시저, 함수 뿐만 아니라 변수, 상수, 커서, 예외 들을 하나로 묶은 캡슐화 ..
-
Create ProcedureDB/Oracle 2019. 1. 8. 15:29
프로시저는 함수와 달리 특정 처리를 수행한다. 데이터를 조회함을 넘어서 조작을 할 수 있다. 신입사원 등록시저를 통한 프로시저 생성 예 ) PL/SQL에서는 마지막에 /을 입력 해서 생성한다. 성, 이름, 이메일, 직원번호를 입력받으면 테이블에 insert시키는 작업을 수행하는 프로시저이다. 프로시저를 수행할 때는 exec나 execute 프로시저명 ( 파라미터.. ); 로 사용할 수 있다. 프로시저 수행 후 select를 통해 데이터가 들어갔는지 확인할 수 있다. begin에서 프로시저 본문처리를 통해, insert가 아닌 update-set이나 select문도 가능하다. begin 처리문에서 commit, rollback의 트랜잭션 처리를 잘해야한다.
-
-
RDBDB 2018. 7. 31. 17:07
RDB -> 데이터가 서로 관계가 있는 DB형태 Table - 데이터가 저장될 형태 Colum - 테이블에 들어갈 데이터 목록, 열Row - 행, Colum에 들어가는 데이터, 레코드, 행이 아닌 Row라고 부른다. Primary Key (PK) - 하나이상의 키, 테이블의 한 Row를 대표하는 키, Null값이 올 수 없다. 중복검사를 한다. 중복되면 안된다. 특정 행을 참조하기 위해 사용된다. PK없이는 특정 행을 업데이트하거나 삭제하는것이 힘들다. Foriegn Key (FK) - 외부 테이블에서 오는 키, 다른 테이블에서의 PK를 참조한다. SQL - CRUD -> Create, Read, Update, Delete Create -> Insert intoRead -> SelectUpdate -> ..