connect04.gms : SQL용 단순 연결 예

설명

이 모델은 슬롯 사이트 추천 Connect를 사용하여 SQL을 읽고 씁니다.

기고자: Vaibhavnath Jha, 2022년 7월

카테고리 : 슬롯 사이트 추천 데이터 유틸리티 라이브러리


메인 파일 : connect04.gms 포함: connect04.gms

$title 'SQL에 대한 간단한 연결 예' (CONNECT04,SEQ=147)

$onText
이 모델은 슬롯 사이트 추천 Connect를 사용하여 SQL을 읽고 씁니다.

기고자: Vaibhavnath Jha, 2022년 7월
$offText

$onEchoV > whouse.sql
존재하는 경우 테이블 삭제 [timeTable];
존재하는 경우 테이블 삭제 [priceTable];
존재하는 경우 테이블 삭제 [iniStockTable];
존재하는 경우 테이블 삭제 [storeCostTable];
존재하는 경우 테이블 삭제 [storeCapTable];

테이블 생성 [시간테이블]
(
    [t_qrt] NVARCHAR(15) 기본 키
);
INSERT INTO [timeTable] ([t_qrt]) VALUES("q-1");
INSERT INTO [timeTable] ([t_qrt]) VALUES("q-2");
INSERT INTO [timeTable] ([t_qrt]) VALUES("q-3");
INSERT INTO [timeTable] ([t_qrt]) VALUES("q-4");

CREATE TABLE [가격표]
(
    [t_qrt] NVARCHAR(15) 기본 키,
    [가격] NUMERIC(10,3)
);
INSERT INTO [가격표] ([t_qrt], [가격]) VALUES("q-1", 10);
INSERT INTO [가격표] ([t_qrt], [가격]) VALUES("q-2", 12);
INSERT INTO [가격표] ([t_qrt], [가격]) VALUES("q-3", 8);
INSERT INTO [가격표] ([t_qrt], [가격]) VALUES("q-4", 9);

테이블 생성 [iniStockTable]
(
    [t_qrt] NVARCHAR(15) 기본 키,
    [재고]숫자(10,3)
);
INSERT INTO [iniStockTable] ([t_qrt], [stock]) VALUES("q-1", 50);

테이블 생성 [storeCostTable] 
(
    [비용] NUMERIC(5, 4) 기본 키
);
INSERT INTO [storeCostTable] ([비용]) VALUES(1);

테이블 생성 [storeCapTable] 
(
    [캡] 숫자(5, 4) 기본 키
);
INSERT INTO [storeCapTable] ([cap]) VALUES(100);
$offEcho

$onEmbeddedCode 파이썬:
sqlite3 가져오기

open('whouse.sql', 'r')을 sql_file로 사용:
    sql_script = sql_file.read()

sqlite3.connect('whouse.db')를 sqliteConnection으로 사용:    
    커서 = sqliteConnection.cursor()
    커서.실행스크립트(sql_script)
    커서.닫기()
$offEmbeddedCode

t '시간(분기)'을 설정합니다.

매개변수
   가격(t) '판매 가격(단위당 $)'
   istock(t) '초기 재고(단위)';

스칼라
   storecost '저장 비용(단위당 분기당 $)'
   storecap '창고의 재고 용량(단위)';

$onEmbeddedCode 연결:
- SQL리더:
    연결: "데이터베이스": "whouse.db"
    기호:
      - 이름 : t
        쿼리: "SELECT * FROM timeTable;"
        유형: 세트
      - 이름 : 가격
        쿼리: "SELECT * FROM 가격표;"
      - 이름 : 아이스톡
        쿼리: "SELECT * FROM iniStockTable;"
      - 이름 : storecost
        쿼리: "SELECT * FROM storeCostTable;"
      - 이름 : 스토어캡
        쿼리: "SELECT * FROM storeCapTable;"
- 슬롯 사이트 추천작성기:
    기호: 모두
$offEmbeddedCode

변수
   stock(t) 't 시간에 저장된 재고(단위)'
   Sell(t) 't 시점에 판매된 주식(단위)'
   buy(t) 't 시점에 구매한 주식(단위)'
   비용 '총비용($)';
긍정적인 변수 주식, 판매, 구매;

방정식
   sb(t) 't 시점의 재고 잔고(단위)'
   '회계: 총비용($)';

sb(t).. 주식(t) =e= 주식(t-1) + 매수(t) - 매도(t) + istock(t);

at..cost =e= sum(t, 가격(t)*(구매(t) - 판매(t)) + 매장 비용*재고(t));

stock.up(t) = 스토어캡;

모델 swp '간단한 창고 문제' / all /;

lp를 사용하여 비용을 최소화하는 swp를 해결합니다.

임베디드 코드 연결:
- 슬롯 사이트 추천리더:
    기호: 모두
- 프로젝션:
    이름: stock.l(t)
    새로운 이름: stock_level(t)
- 프로젝션:
    이름: Sell.l(t)
    새로운 이름: Sell_level(t)
- 프로젝션:
    이름 : buy.l(t)
    새 이름: buy_level(t)
- SQLWriter:
    연결: "데이터베이스": "whouse.db"
    ifExists: 대체
    기호:
      - 이름: stock_level
        테이블 이름: stock_level
      - 이름 : Sell_level
        테이블 이름: Sell_level
      - 이름 : buy_level
        테이블 이름: buy_level
endEmbeddedCode