본문 바로가기

Programming

(DB)데이터베이스 모델의 종류엔 무엇이 있을까? 데이터베이스 모델의 종류에는 무엇이 있는지 알아보자 ▣ 계층데이터 모델(Hierarchical Data Model) ▷ 데이터를 저장하는 단위(Entity)의 구조가 상하 종속적인 관계로 구성 ▷ 개체를 노드로 표현하고 개체 집합들 사이의 관계를 링크로 연결한 트리(Tree)형태의 자료구조 ▣ 망 데이터 모델(Network Data Model) ▷ CODASYL이 제안(CODASYL DBTG 모델이라고도 함) ▷ 그래프를 이용해서 데이터 논리구조를 표현한 데이터 모델 ▷ 상위와 하위 레코드 사이에서 다대다(N : M) 대응 관계를 만족하는 구조 ▣ 관계 데이터 모델(Relational Data Mode) ▷ 개체 집합에 대한 속성 관계를 표현하기 위하여 개체를 테이블(Table) 로 사용하고, 개체 집합..
(DB) DBMS(Database Management System)이란 무엇일까? DB를 관리하는데 도움을 주는 DBMS란 무엇인지한번 알아보도록 하자! ▣ DBMS(DataBase Management System)란? ▷ 사용자에게 데이터베이스를 생성하고 유지할 수 있게 하는 프로그램 집합 ▷ DBMS는 데이터베이스 언어를 갖고 있으며, 이를 통해 데이터의 삽입/삭제/수정을 할 수 있다. ▣ DBMS의 기능 ▷ 데이터의 무결성 유지 - DB의 데이터는 실세계를 적용하는 규칙을 항상 만족해야 한다. - 서로 다른 부분에 있는 두 개의 데이터가 서로 모순되지 않아야 한다. 데이터의 일관성 유지. ▣ DBMS의 특성 ▷ 데이터의 논리적 독립성 - 한 속성에 가해진 변경이 동일한 테이블에서 다른 속성에 영향을 주지 않는것을 의미한다. ▷ 참조 무결성과 데이터 무결성 - 응용프로그램 개발 시..
(DB) 데이터베이스란 무엇일까? 데이터베이스 많이 들어 봤지만 생소하기도 한 단어이다.이 데이터베이스에 대해 알아보도록 하자! ▣ 데이터베이스란 무엇일까? ▷ 자료(Data) - 현실 세계에서 관찰이나 측정을 통해 수집한 단순한 사실이나 값. ▷ 정보(Information) - 의사 결정에 도움을 줄 수 있는 유용한 형태 - 자료를 가공(처리)해서 얻을 수 있는 결과를 의미 ▷ 데이터베이스 - 어느 한 조직체의 여러 응용 시스템들이 공동으로 사용할 수 있도록 통합하여 저장한 운영데이터의 집합. - 공동의 목적을 지원하기 위한 서로 관련된 자료들의 모임. - 주제와 관련된 의미 있는 데이터들의 모음. ▣ 데이터베이스의 정의 ▷ 통합된 데이터(Integrated Data) - 산재되어 있지 않고, 한 곳에 있어야 한다. - 모든 데이터가 ..
(SQL)프로시저와 함수의 모임 패키지에 대해 알아봅시다 ▣ 패키지란?? ▷ 연관성이 있는 함수나 프로시저를 그룹으로 모아놓은 개념이다. ▣ 패키지의 구성 ▷ 선언부 + 몸체부로 구성되어 있다. ※ 패키지 선언부에 선언이 되어있지 않더라도 패키지 몸체부에서 사용할 수 있지만, 권장사항은 아니다. ◈ 선언부 ▶ 구문 형식 - CREATE [OR REPLACE] PACKAGE 패키지명 IS [AS] PROCEDURE 프로시저1이름. PROCEDURE 프로시저2이름, . . . END; / ◈ 몸체부 ▶ 구문 형식 - CREATE [OR REPLACE] PACKAGE BODY 패키지명 //선언부와 패키지명이 같아야 한다. IS [AS] PROCEDURE 프로시저 이름 subprogram bodies : 실제 작동하게 될 서브프로그램(프로시저, 함수) end; / ▣..
(SQL) 서브프로그램 및 프로시저에 대해 알아보자! ▣ PL/SQL 서브프로그램 : 데이터베이스의 저장된 PL/SQL(프로시저, 함수) ▷ 서브프로그램은 내장된 함수와 프로시저가 있다. ◈ 익명블럭의 특징 ▷ 이름이 없는 PL/SQL블록(문) ▷ 사용할 때마다 컴파일이 필요. ▷ 데이터베이스에 저장되어 있지 않다. ▷ 다른 응용프로그램에서 사용할 수 없다. ▷ 값을 반환할 수 없다. ▷ 매개변수(파라미터)를 사용할 수 없다. ◈ 서브프로그램의 특징 ▷ 이름이 있는 PL/SQL블록(문) ▷ 최초 실행될 때 한번만 컴파일 한다. ▷ 데이터베이스에 저장되어 있다. ▷ 다른 응용프로그램에서 사용할 수 있다. ▷ 함수일 경우 값을 반환할 수 있다. ▷ 매개변수(파라미터)를 사용할 수 있다. ▣ 프로시저란?? ▷ 특정 처리를 위한 서브 프로그램의 한 유형으로, 단독..
(SQL) 커서(Cursor)에 대해 알아보자 ▣ 커서(Cursor)란?? ▷ 쿼리문에 의해서 반환되는 결과값들을 저장하는 메모리공간 * Fetch : 커서에서 원하는 결과값을 추출하는 것 ▣ 커서의 종류 ▷ 명시적(Explicit) 커서 : 사용자가 선언해서 생성 후 사용하는 SQL 커서, 주로 여러개의 행을 처리하고자 할 경우 사용. ▷ 묵시적(Implicit) 커서 : 오라클에서 자동으로 선언해주는 SQL 커서. 사용자는 생성 유무를 알 수 없다. ▣ 커서의 속성 ※ 커서를 open하고 나서 fetch가 발생하면 true 값을 반환 ▷ %FOUND - 할당할 레코드가 있는 경우 true값을 반환. ▷ %isOpen - 커서가 오픈상태일 경우 true값을 반환. ▷ %NotFound - 할당할 레코드가 없는 경우 true값을 반환. ▷ %RowC..
(SQL) 바인드변수란 무엇일까? ▣ 바인드 변수(비 PL/SQL 변수) ▷ PL/SQL 외부에서도 사용할 수 있는 변수. ▷ 호스트 환경에서 생성되어 데이터를 저장하기 때문에 호스트 변수라고 한다. ▷ 키워드 VARIABLE을 이용하며, SQL문이나 PL/SQL블록에서도 사용 가능하다. ▷ PL/SQL블록이 실행된 후에도 액세스가 가능하다. ▷ print명령을 이용하여 출력이 가능하다. ▷ :(콜론) 을 붙여 사용한다. 사용예제)123456789begin select SAL*12+nvl(comm*12,0) into :vsal from EMP where EMPNO = 7369; end; / print VSAL;cs1) 선언없이 사용2) begin select SAL*12+nvl(comm*12,0) int :vsal --vsal에 값을 넣..
(SQL) 복합변수가 무엇일까? ▣ 복합변수란? ▷ 여러가지 다른 유형의 데이터들을 저장하는 변수 ▷ Record TYPE 과 Table TYPE으로 나뉨 ▣ Record TYPE 변수란?? ▷ 데이터 타입이 다른 여러 데이터를 저장할 경우 사용 ▷ 지정방법 1. type 타입명 is record() 2. 식별자 type 타입명; 사용 예시)1234567891011121314151617181920declaretype emp_rec is record(empNo EMPTEST.EMPNO%type, empSal EMP.SAL%type, empname emp.ename%type, empJob EMPtest.DEPTNO%type); rec1 emp_rec; --emp_rec에 대한 식별자가 rec1 begin select EMPNO, SAL, ..