본문 바로가기

도서관리프로그램4

프로젝트03. 도서 관리 프로그램 만들기6-sqlite3 대여 함수를 작성하던 지난 포스팅에 이어 나가기 전, 한가지 선행되어야 하는 조건이 있다. 바로 회원의 상태인데... 앞의 포스팅에서 도서를 대여할 때 가장 먼저 회원이 대여 가능한 상태인지를 확인하는 과정이 있었다. 그런데, 지금 해당 상태에 아무런 값이 없어, 관리자가 변경할 수 있는 함수를 먼저 추가하려 한다. 1. 회원 상태 변경 하기(관리자 기능) # 회원 등록 def registe_members(members_id, members_name, members_dob, phone_no, address, e_mail): # ID 등록 여부 확인 cursor.execute(f'select * from members where members_id = \'{members_id}\'') members_id_.. 2024. 1. 10.
프로젝트03. 도서 관리 프로그램 만들기5-sqlite3 이제 기본적인 Table이 완성 되었고, 도서 대여 상태에 따라 업데이트 등이 정상적으로 이루어지면 DB쪽 구성은 완성된다. 여기서 다시 정리를 해보면 우리가 만든 4개의 테이블은 각각 다른 동작을 위해 필요하지만 서로 연관 되어 있다. 1. 기본 테이블 정리 1) books_info 테이블 - 도서를 전체적으로 관리하는 테이블로 해당 테이블 내에 도서명과 대여권수를 확인할 수 있기 때문에 나중에 회원들이 도서명으로 대여 여부를 검색할 때 사용하게 될 테이블이다. 2) book_detail_info 테이블 - 같은 도서명이더라도 각각의 고유번호와 상태를 알 수 있는 정보를 가지고 있는 테이블로 해당 테이블에서 도서가 가지는 고유값을 통해 도서의 상태를 알 수 있는 것과 대여나 반납 시 해당 값을 이용해 .. 2024. 1. 9.
프로젝트03. 도서 관리 프로그램 만들기4-sqlite3 이제 회원을 등록해볼 차례이다. 1. 회원 테이블 구상하기 회원 등록시 필요한 정보는 - 회원번호(내부 생성), 회원 ID, 회원 이름, 생년월인, 회원 상태, 연락처, 주소, 이메일, 현재 대여 권수, 메모1, 메모2 로 생성할 예정이다. 회원 상태는 승인대기, 장기간 미사용 고객이나 블랙리스트 고객의 상태를 표기 및 관리하기 위해 임의로 만든 컬럼이며, 현재 대여 권수 컬럼은 1명의 회원이 무제한으로 책을 대여하지 못하도록 1인이 최대 5권만 대여 가능하도록 조건을 주기 위해 설정한 컬럼이다. 메모1, 2는 혹시나 하는 마음에서 만들어 두는 예비용 컬럼이다. 프로그램을 만들 때 결과물을 정확히 예측하고 기획된 대로 만드는 것도 중요하지만 이런 예비용 컬럼을 한, 두개 정도 만들어 두면 혹시 빠트리거나.. 2023. 12. 4.
프로젝트03. 도서 관리 프로그램 만들기3-sqlite3 앞선 포스팅에서 DB와 테이블을 생성했다면, 이번에는 추가와 검색을 해보도록 하겠다. 앞선 엑셀의 예시 자료를 커서를 이용해 입력할 예정인데, 입력하는 과정은 1. 동일 도서 등록 확인 books_info 테이블에 제목을 검색 후, 제목과 출판사가 같은 등록 현황이 있는지 확인한다. 아래의 매서드로 도서명과 출판사를 파라미터로 받고, 결과 값이 없을 때는 (0, 0, 0)을, 결과 값이 있을 때는 (book_key, total_count, available_count)를 튜플로 전달 받고 반환한다. # 동일 도서 등록 여부 확인 def check_books_info_by_title_publisher(book_title, publisher): cursor.execute(f'SELECT BOOK_KEY, T.. 2023. 12. 4.
반응형