
01. ER모델 ER모델은 데이터베이스 설계를 용이하게 하기 위해서 P.P. Chen이 1976년에 제안하였습니다. 이 모델을 제안하게 된 주요 동기는 의미적으로 풍부한 데이터 모델을 제공하고, 개념들을 그래픽하게 나타낼 수 있으며, 네트워크 데이터 모델, 관계 데이터 모델, 엔티티 집합 모델의 좋은 특성들을 결합하기 위한 것입니다. Chen이 ER모델을 제안한 후에 많은 학자들이 이 모델을 강화시켰습니다. 현재는 EER(Enhanced Entity Relationship) 모델이 데이터베이스 설계 과정에 널리 사용되고 있습니다. ER모델은 물리적인 데이터베이스 설계의 효율성에 관심을 두지 않으면서 한 조직의 개념적 스키마를 설명하기 위해 사용됩니다. ER 모델은 개념적 설계를 위한 인기 있는 모델로서,..

01. 데이터베이스 설계 데이터 모델링은 관계 DBMS 세계에서 가장 어렵고 가장 중요한 업무 중 하나입니다. 데이터 모델링을 잘못하면 조직체의 응용은 사용자의 요구를 만족시키지 못할 수 있으며, 신뢰할 수 없고, 데이터베이스에 쓸모없는 데이터를 채우게 됩니다. 매우 단순한 상황을 제외하고는 모델이 완전한 지식을 전달할 것으로 기대해서는 안되지만 훌륭한 모델은 실세계 상황을 합리적으로 이해할 수 있게 합니다. 한 조직체에 가용한 모든 상세한 데이터를 모델에 기록하는 것은 불가능하며, 바람직하지도 않습니다. 데이터베이스 설계는 미리 정의된 응용들의 모임을 위해서 조직체의 사용자들의 정보 요구를 수용하여 하나 이상의 데이터베이스의 논리적인 구조와 물리적인 구조를 설계하는 것입니다. 서로 충돌되는 요구들을 조..

저장된 데이터의 의미적 정확성을 보장하기 위해서, 테이블을 정의할 때 데이터베이스 스키마의 한 부분으로서 무결성 제약조건을 명시해야 합니다. 테이블 정의와 별도로 데이터베이스의 무결성을 시행하는 메커니즘인 트리거와 주장을 알아보겠습니다. 제약조건이 트리거보다 성능이 우수하고, 코딩이 불필요하며, 선언하고 수정하기가 용이하므로 가능하다면 제약조건을 사용하는 것이 좋습니다. 01. 트리거(trigger) 트리거는 명시된 이벤트(데이터베이스의 갱신)가 발생할 때마다 DBMS가 자동적으로 수행하는, 사용자가 정의하는 문(프로시저)이다. 트리거는 데이터베이스의 무결성을 유지하기 위한 일반적이고 강력한 도구이며, 테이블 정의 시 표현할 수 없는 기업의 비즈니스 규칙들을 시행하는 역할을 합니다. 무결성 제약조건을 유..

오라클의 SQL의 데이터 조작어에는 데이터베이스를 갱신하는 세 가지 명령이 있습니다. INSERT문은 릴레이션에 새로운 투플을 삽입하고, DELETE문은 릴레이션에서 기존의 투플을 삭제하며, UPDATE문은 기존의 투플의 애트리뷰트 값들을 수정합니다. 01. INSERT문에 대하여 INSERT문은 기존의 릴레이션에 투플을 추가합니다. 참조되는 릴레이션에 투플이 추가되는 경우에는 참조 무결성 제약조건의 위배가 발생하지 않으나 참조하는 릴레이션에 투플이 추가되는 경우에는 참조 무결성 제약조건을 위배할 수 있습니다. INSERT문은 릴레이션에 한 번에 한 투플씩 추가하는 것과 한 번에 여러 개의 투플들을 추가할 수 있는 것으로 구분합니다. 한 번에 한 투플씩 추가하는 INSERT문의 구문은 다음과 같습니다. ..

03. SELECT문의 여러 가지 검색과 연산 ► 범위를 사용한 검색 원하는 투플들의 조건을 명시하기 위해서 WHERE절에 범위를 나타내는 연산자인 BETWEEN을 사용할 수 있습니다. BETWEEN의 장점은 SQL문의 WHERE절을 좀 더 읽기 쉽게 만들어준다는 것입니다. ► 리스트를 사용한 검색 IN은 리스트 내의 값과 비교합니다. [IN]의 부정은 [NOT IN]입니다. 다음의 WHERE절은 DNO의 값이 (1,2,3)에 속하는지를 검사합니다. WHERE DNO IN (1,2,3) 따라서 이 WHERE절은 OR를 사용하여 다음과 같이 표현할 수 있습니다. IN을 사용하면 다수의 OR을 사용할 필요가 없습니다. WHERE DNO = 1 OR DNO = 2 OR DNO = 3 ❶ IN Q. 1번 부서나..

03. SELECT문의 여러 가지 검색과 연산 ► 별칭(alias) 서로 다른 릴레이션에 동일한 이름을 가진 애트리뷰트가 속해 있을 때, 애트리뷰트의 이름을 구분하는 한 가지 방법은 애트리뷰트 이름 앞에 릴레이션의 이름을 붙이는 것입니다. EMPLOYEE.DNO 또 다른 방법은 투플 변수(tuple variable)를 사용하는 것입니다. SQL에서 투플 변수는 한 릴레이션에 연관됩니다. 투플 변수는 FROM절에서 릴레이션의 이름 다음에 AS(생략 가능)와 함께 명시됩니다. 투플 변수를 별칭이라고도 부르며, 아래와 같이 표현합니다. EMPLOYEE릴레이션을 E, DEPARTMENT릴레이션을 D로 표현합니다. FROM EMPLOYEE AS E, DEPARTMENT AS D 투플 변수는 편리성과 질의의 이해도..

01. SELECT문이란? 관계 데이터베이스에서 정보를 검색하는 SQL문은 SELECT문입니다. 이 SELECT문은 관계 대수의 실렉션과는 의미가 완전히 다릅니다. SQL의 SELECT문은 관계 대수의 실렉션, 프로젝션, 조인, 카티션 곱 등을 결합한 것입니다. SELECT문은 관계 데이터베이스에서 가장 잘 사용됩니다. 질의를 작성할 때 가장 고려해야 할 것은 ① 어떤 애트리뷰트들을 보고자 하는가, ② 이 애트리뷰트들이 어떤 릴레이션들에 속해 있는가, ③ 다수의 릴레이션이 사용될 때는 어떻게 릴레이션들이 조인되는가 등입니다. EMPNO EMPNAME TITLE MANAGER SALARY DNO 2106 김창섭 대리 1033 2500000 2 3426 박영권 과장 4377 3000000 1 3011 이수민..

01. SQL개요 왜 데이터베이스 환경에서는 질의어를 필요로 할까요? 복잡한 질의를 자연어로 표현하면 질의가 정확하게 표현되었는지 입증하기 어렵기 때문에 좀 더 구조적인 질의어가 필요합니다. 이상적으로는 사용자가 데이터베이스 질의어를 사용하여 데이터베이스와 릴레이션의 구조를 정의하고, 릴레이션에 투플을 삽입, 삭제, 수정하고, 간단한 질의는 물론이고 복잡한 질의를 표현할 수 있어야 합니다. 표준 언어를 사용하면 직원에 대한 교육 비용이 절감되고, 생산성이 높아지며, 응용 프로그램의 이식성이 향상되어, 특정 DBMS에 대한 의존도가 줄어들고, DBMS 간의 통신이 원활해집니다. 버전 특징 SEQUEL Structured English Query Language의 약어. System R 프로젝트에서 처음으로..

01. 관계 대수란? 관계 데이터베이스에는 정보를 저장하고 검색하는 언어가 꼭 필요합니다. 이때 관계 데이터 모델에서 지원되는 두 가지 언어가 있습니다. ►관계 데이터 모델에서 지원되는 두 가지 언어 ① 관계 해석(relational calculus) 원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 선언적인 언어 ② 관계 대수(relational algebra) 어떻게 질의를 수행할 것인가를 명시하는 절차적인 언어 관계 대수와 관계 해석은 관계 데이터 모델을 제안한 E.F. Codd가 소개한 내용으로, 관계 데이터 모델에서 가장 중요한 관계 대수에 대해 설명합니다. 관계 대수는 하나 이상의 릴레이션에 적용되는 연산자들을 포함합니다. 이 연산자들은 주어진 릴레이션들로부터 새로운 릴레이..

01. 오라클이란? 오라클은 오라클 사가 개발한 DBMS로서 가장 높은 시장 점유율과 신뢰성을 갖고 있습니다. 오라클 사는 1979년에 최초의 상용 관계 DBMS를 시장에 내놓은 이후에 꾸준히 기능을 개선하여 관계 데이터 모델을 기초로 하여 이후 객체 관계 데이터 모델을 지원하고 있습니다. 오라클은 e-비즈니스를 위한 고성능 인프라 구조를 제공합니다. 오라클은 인터넷 응용을 개발하고 관리하는 데 필요한 모든 사항을 지원하고 있으며 다양한 제품군을 가지고 있으며, 다양한 하드웨어와 운영 체제 플랫폼을 지원합니다. 에디션 특징 개인용 에디션 ・마이크로소프트 사의 윈도우 운영 체제 전용 ・엔터프라이즈 에디션 및 표준 에디션과 완벽하게 호환되는 단일 사용자 개발 및 배포 환경만 지원 표준 에디션1 ・최대 2개 ..

01. 릴레이션의 특성 릴레이션의 각 투플은 하나의 주장으로 볼 수 있다고 합니다. 위 표를 보면 EMPLOYEE 릴레이션에서 사원번호가 3022인 사원은 이수빈이고, 직급이 과장이며, 3번 부서이고 급여가 2,500,000원임을 보여줍니다. 관계 데이터 모델에서 릴레이션은 투플들의 집합이기 때문에 여러 가지 특성이 있습니다. ① 각 릴레이션은 오직 하나의 레코드 타입만 포함할 수 있습니다. 즉, 오직 한 가지의 유형의 정보만이 각 릴레이션에 저장됨을 보장합니다. ② 한 애트리뷰트 내의 값들은 모두 같은 유형이어야 합니다. SALARY 애트리뷰트에 부서가 나타날 수 없습니다. ③ 각각의 애트리뷰트들의 순서는 관계 데이터 모델에서 중요하지 않습니다. 한 릴레이션 내의 애트리뷰트들의 순서를 바꾼다고 해서 다..

01. 관계 데이터 모델을 아시나요? 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나라고 합니다. 관계 데이터 모델은 1970년도에 처음 제안되었으며 이 모델에는 4가지 중요한 특징이 있습니다. ① 데이터베이스 관리의 논리적인 면과 물리적인 면을 명확하게 구분하여 데이터 독립성을 높입니다. ② 단순한 구조를 사용하여 사용자와 프로그래머 간의 의사소통을 원활하게 합니다. ③ 한 번에 다수의 레코드들의 집합을 조작할 수 있는 기능을 제공합니다. ④ 데이터베이스 관리 분야에서 튼튼한 이론적인 근거를 제공합니다. 다수 사용자용 ・오라클 ・MS SQL Server ・DB2 (SQL/DS) ・INFORMIX ・SYBASE 개인용 ・MSFT/ACCESS 자바 기반 ・I..