본문 바로가기

전체 글

(184)
2.3 Foreign Keys and Domains 각각의 테이블에서 기본 키(primary key)가 정의되지만, 다른 테이블과의 관계를 정의하기 위해 외래 키(foreign key) 관계를 사용해야 하는 경우가 있습니다. 외래 키(foreign key)는 한 테이블의 필드로, 다른 테이블의 기본 키(primary key)를 참조하는 데 사용됩니다. 예시를 살펴보겠습니다. 아래 표는 고객 세부 정보가 저장된 고객정보 테이블을 보여줍니다. 이 테이블의 주 키는 각 행을 고유하게 식별하는 Cust ID 열입니다. Cust ID Name Address Zip Code Phone 1 Joey 171 CE 123123 02)XXX-XXX 2 James 345 DE 123456 031)XXX-XXX 3 John 563 WE 789456 054)XXX-XXX 아래 ..
2.2 Tables and Keys 관계형 모델(Relational Model)에서 테이블은 기본 엔티티(Basic Entitiy)입니다. 각 테이블은 실제 세계의 엔티티를 나타내야 하며, 이러한 엔티티는 실제 세계의 객체(Object)나 이벤트(Event)가 될 수 있습니다. 예를 들어, 고객은 실제 세계의 객체이고, 고객이 주문하는 것은 이벤트입니다. 테이블은 행(row)과 열(column)로 구성됩니다. 관계형 모델에서는 테이블의 각 행은 프로그래밍을 통해 유일하게 지정할 수 있도록 해야되며 각 행은 유일해야 합니다. 행의 고유성은 해당 테이블의 기본 키(primary key)를 정의하여 보장됩니다. 테이블의 기본 키(primary key)는 해당 행을 유일하게 식별할 수 있게 해주는 하나 이상의 필드로 구성됩니다. 각 테이블은 테이..
2.1 Relational Database Design 실제 세계 시스템(real-world system)을 반영하는 데이터베이스 모델을 구축하려면 시간과 노력이 필요합니다. 생성해야 하는 테이블, 생성할 테이블이 포함해야 하는 필드들, 테이블이 서로 어떻게 관련되어 있는지에 대해 결정해야 합니다. 관계형 모델(relation model)에 따라 설계된 좋은 데이터베이스는 여러 가지 이점을 제공합니다. 1) 좋은 설계는 데이터 입력, 업데이트 및 삭제를 효율적으로 만들어주며, 데이터 검색 및 요약을 쉽게 만듭니다. 2) 대부분의 데이터가 애플리케이션보다 데이터베이스에 저장되기 때문에 데이터베이스는 충분히 자체 문서화(self-documenting)되어야 합니다. 3) 좋은 데이터베이스 설계는 미래의 실제 요구 사항 변경을 고려해야 하며 데이터베이스 스키마 변..
2. Database Overview 데이터베이스는 RDBMS에 의해 관리됩니다. 관계형 데이터베이스는 특정 데이터 집합을 저장하는 여러 개의 테이블로 구성되며, RDBMS는 데이터가 저장되고 처리되는 방식을 표준화합니다. 관계형 데이터베이스에서 데이터는 테이블 간의 관계를 가진 여러 테이블에 저장됩니다. 관계형 데이터베이스 모델은 1969년 E.F. 코드에 의해 처음 제안되었습니다. 이 모델은 집합 이론(Set Theory)과 술어 논리(Predicate Logic : 수학의 분야 中 하나)에 기반을 두고 있습니다. 관계형 모델의 아이디어는 데이터베이스가 선언적 방식(nonprocedural operations)으로 조작될 수 있는 일련의 테이블로 구성된다는 것입니다. 관계형 데이터베이스에서 '관계형'이란 단어가 사용되는 것은 데이터베이스..
1.Introduction to Open SQL Statements SAP는 Oracle, Microsoft SQL 및 SAP HANA와 같은 다른 관계형 데이터베이스 관리 시스템(RDBMS)을 지원합니다. Structured Qeury Language(SQL)는 RDBMS에서 데이터 작업을 위해 설계된 프로그래밍 언어입니다. ABA은 두 종류의 SQL을 지원합니다. 1) Open SQL -> Open SQL을 사용하면 SAP ERP 시스템이 사용하는 기본 데이터베이스(Underlying Database)와는 독립적으로 데이터베이스 테이블에 액세스하고 일부 동작을 수행할 수 있습니다. Open SQL 문을 실행할 때 작업 프로세스(Work Process)의 데이터베이스 인터페이스(Database Interface)가 Open SQL 문을 기본 데이터베이스에 맞는 Nati..
5.2.5 Control Break Statements 루프에서 데이터를 처리하는 동안, 제어 브레이크 구문을 통해 특별한 제어 수준 처리(special control-level processing)를 수행할 수 있습니다. LOOP라는 Statement Block(구문 블록 : LOOP~ENDLOOP)은 Control Structure를 포함할 수 있는데 Control Strcture은 Control Strcture이 변화할 때 Control Break 구문의 실행을 발생시킬 (트리거 시킬)수 있습니다. 예를 들어 루프에서 첫 번째 레코드가 처리될 때, Control Strcture의 필드 값이 변경될 때 또는 루프의 마지막 레코드가 처리될 때 Control Break 구문이 트리거됩니다. Control Break 구문은 AT로 시작하여 ENDAT으로 닫힙니..
SAP 시스템 변수 시스템 필드는 ABAP 프로그램에서 항상 사용 가능하며, 실행 시스템에 의해 문맥(로직의 결과, 반응 등)에 따라 채워집니다. 프로그램에서 시스템 필드를 통해 상태를 식별할 수 있습니다. 예를 들어, subrc 시스템 필드를 쿼리하여 INSERT 작업이 성공했는지 또는 SELECT 문이 데이터베이스에서 일치하는 레코드를 찾을 수 있는지 여부를 확인할 수 있습니다. 시스템 필드는 프로그램에서 변수로 사용할 수 있지만, 상수처럼 다루어져야 하며 절대 조작되어서는 안됩니다. 모든 시스템 필드는 ABA Data Dictionary에 Structure로 SYST에 있는 필드들을 사용 가능하며, 미리 정의된 Structure SY를 사용하여 프로그램에서 액세스할 수 있습니다. 예를 들어, ABAP 프로그램에서 su..
5.1.5 Use Cases Structure은 다음 경우에 사용해야 합니다. 1) 구조체를 사용하여 여러 필드의 데이터를 처리가 가능할 때 사용합니다. 예를 들어, 레코드를 처리하려는 경우, 해당 레코드의 필드를 구성 요소로 하는 Structure를 정의하고 레코드를 단일 엔티티로 처리할 수 있습니다. 2) 관련된 필드를 Structure로 그룹화하면 해당 필드들을 함께 처리해야하는 경우 사용할 수 있습니다. Structure의 각 필드의 데이터를 개별적으로 지우는 대신 한 번에 Structure의 모든 필드 데이터를 쉽게 지울 수 있습니다. 예를 들어 ABAP 데이터 사전 테이블 SFLIGHT의 모든 구성 요소를 갖는 S_SFLIGHT Structure가 있는 경우, 개별 필드에 대해 CLEAR 문을 사용하는 대신 CLEAR S..