2. 국회의원 인적사항 역대 국회의원 인적사항
국회의원 발의법률안 본회의 표결정보
어떤 데이터를
사용할 것인가
3. 목표 – 웹 페이지 시각화
감염병의 예방 및 관리에 관한 법률 일부개정법률안
공동발의자
키워드
홍길동
의원 정보
전체 법안 주요 키워드
대표발의자
홍길동
김철수, 김**, 김광호, 노진구
<POLY-NM>활빈당</POLY-NM>
<ELECT_GBN_NM>지역구</ELECT_GBN_NM>
<TEL_NO>010-1111-2222</TEL_NO>
<SEX_GBN_NM>남</SEX_GBN_NM>
표결
해당 의원이 발의한 법안
의 키워드 빈도를 표시
17. 동명이인 쿼리문
SELECT *
FROM member_of_congress
WHERE HANGUL_NAME IN (
SELECT HANGUL_NAME
FROM member_of_congress
GROUP BY HANGUL_NAME
HAVING COUNT(*) >= 2
)
국회의원 정보를 미리 INSERT 한 뒤,
동명이인 유무를 확인하기 위해 다음의
Query문 사용
21. DB Insert 문제
def insert(cur, datas):
try:
cur.executemany(""“
INSERT INTO congress.bill(
BILL_ID,
BILL_NAME,
MAIN_PROPOSER,
PROC_RESULT, AGE, PROPOSED_DATE) VALUES(?, ?, (
SELECT MONA_CD
FROM congress.member_of_congress
WHERE HANGUL_NAME = ?
), ?, ?, ?)""", datas)
except mariadb.IntegrityError e:
print(e) as
executemany로 INSERT했지만 같은 값이 여러 번 들어가 실패
25. 시각화 – SQL Query
SELECT BILL_NAME, bill.BILL_ID
FROM bill, bill_morpheme
WHERE bill.BILL_ID = bill_morpheme.BILL_ID AND NNP = ?
ORDER BY FREQUENCY DESC;
키워드가 포함된 법안 목록을 빈도 수로 내림차순 정렬해 표시
26. 시각화 – SQL Query
법안 데이터와 대표 발의자 이름 가져오기
SELECT *, (
SELECT HANGUL_NAME
FROM member_of_congress
WHERE MONA_CD=bill.MAIN_PROPOSER
) AS name
FROM bill
WHERE bill.BILL_ID=?
공동 발의자 이름 목록 가져오기
SELECT (
SELECT HANGUL_NAME
FROM member_of_congress
WHERE MONA_CD = PROPOSER
) AS coname, PROPOSER
FROM proposer
WHERE BILL_ID = ?
27. 시각화 – SQL Query
국회의원 정보 가져오기
SELECT *
FROM member_of_congress
WHERE MONA_CD = ?
대표 발의 법안 목록 가져오기
SELECT BILL_NAME, BILL_ID
FROM bill
WHERE MAIN_PROPOSER = ?
28. 역할 분담
• 국회의원 INSERT
• 법안 INSERT
• 형태소 분석 데이터 INSERT
• 법안 공동 발의자 INSERT
• DB 물리 모델링
김**
• 표결 정보 INSERT
• 국회의원 당선 대수 INSERT
• GUI 제작
• 데이터 시각화를 위한 SQL Queries
김**
• 개념 모델링
• IE 모델링
• 함수 종속 Diagram
공동 진행
29. 진행 일정
1주차 팀 결성 및 주제 선정
2주차 주제 선정
3주차 주제 선정 및 계획서 작성
4주차 개념 모델링
5주차 물리 모델링
6주차 중간고사 준비
7주차 중간고사
8주차 DB제작
9주차 중간 발표
10주차 DB 재설계 GUI제작 & IE모델링 정규화
11주차 검토
12주차 검토
13주차 프로젝트 발표자료 준비 및 검토
14주차 프로젝트 발표
30. 참고 문헌 및 사이트
• 국회의원 인적사항
• https://open.assembly.go.kr/portal/data/service/selectAPIServicePage.do/OWSSC6001134T516707
• 역대 국회의원 인적사항
• https://open.assembly.go.kr/portal/data/service/selectServicePage.do/OBL7NF0011935G18076
• 국회의원 발의법률안
• https://open.assembly.go.kr/portal/data/service/selectServicePage.do/OK7XM1000938DS17215
• 국회의원 본회의 표결정보
• https://open.assembly.go.kr/portal/data/service/selectServicePage.do/OPR1MQ000998LC12535
• Node.js 참고 자료
• https://victorydntmd.tistory.com/
• MariaDB Connector Node.js
• https://github.com/mariadb-corporation/mariadb-connector-nodejs
• Bootstrap · The most popular HTML, CSS, and JS library in the world.
• https://getbootstrap.com/