본문 바로가기

ABAP 프로그래밍 개념/OPEN SQL

(16)
3. Selecting Data from Database Tables Internal Table을 사용하여 데이터베이스 테이블에서 가져온 데이터를 처리하고 한 번에 여러 행의 데이터를 저장할 수 있습니다. 이 섹션에서는 데이터베이스에서 가져온 데이터를 처리하는 데 사용할 수 있는 몇 가지 Open SQL 문을 살펴볼 것입니다. SELECT 키워드는 데이터베이스 테이블에서 데이터를 가져옵니다. 단일 레코드나 여러 레코드를 선택할 수 있으며, 가져온 데이터를 ABAP 프로그램에서 선언한 Structure나 Internal Table에 어디에 넣을지 선택할 수 있습니다. 데이터베이스 테이블의 모든 필드를 완전히 선택하거나 특정 필드만 선택하여 가져올 수 있습니다. 더보기 * UNION Addition SAP NetWeaver 7.5 부터, UNION addtion을 통해 두 개..
2.5 Normalization 정규화(Normalization)는 데이터베이스 디자인을 간소화(단순화)하는 과정입니다. 정규화는 필요한 테이블의 수, 각 테이블이 나타내는 내용, 각 테이블의 필드 수 및 테이블 간 관계에 대한 핵심 질문에 대한 답변을 제공합니다. 또한 정규화는 데이터베이스 디자인에서 중복 및 이상 현상(redundancy and anomalies)을 방지하는 데 도움을 줍니다. 이상 현상(anomalies)은 데이터베이스 테이블에서 레코드를 삽입(Inserting), 업데이트(Updating) 또는 삭제(Deleting)하는 동안 (만약 데이터베이스가 잘못 설계되었을 경우) 발생할 수 있습니다. 예를 들어, 아래 표에 나와 있는 데이터베이스 테이블이 있다면 고객 주소를 변경하기 위해 레코드를 업데이트할 때 고객 레코..
2.4 Relationship 외래 키(Foreign Key)는 실제 세계의 엔티티들(Real-world Entities) 간의 관계를 모델링합니다. 이러한 실제 세계의 엔티티들(Real-world Entities)은 복잡한 관계를 가질 수 있습니다. 예를 들어, 한 엔티티는 다른 엔티티와 여러 관계를 가질 수 있습니다. 관계형 데이터베이스에서, 관계는 두 테이블 간에서 정의됩니다. 이러한 테이블들은 세 가지 방법 중 하나로 관련될 수 있습니다. 1) One-to-One Relationship 두 개의 테이블이 일대일(one-to-one) 관계에 있다는 것은 첫 번째 테이블의 각 행에 대해 두 번째 테이블에 최대 한 개의 행만 존재한다는 것을 의미합니다. 일대일 관계는 거의 사용되지 않습니다. 주로 데이터를 소프트웨어 제한 때문에 여..
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..