데이터베이스의 개념적 설계에서 관계추출 부분 도움 필요합니다..... 0 1 1,889

by seek [2022.11.18 19:49:38]


개체관계.txt (1,178Bytes)
333.png (155,328Bytes)

첨부한 요구사항명세서에 따라 관계 추출을 해야하는데 어떻게 해야할지 막막합니다...

팀원과제인데 이 요구사항명세서에 대해 작성한 친구한테 물어보고 싶어도 잠수타서 혼자서 계속 끙끙대고 있습니다...

 

첨부한 개체관계txt는 예시ppt에서 따온 png를 바탕으로 작성한건데 이런 식으로 작성한다고 봐주시면 됩니다....

도와주시면 진짜 열심히 봐가면서 제 것으로 만들어보겠습니다... 

감사합니다.

by 우리집아찌 [2022.11.20 11:38:28]

일단 작성해 보시고 도움을 청하시는게 맞다고 보여지네요.

요구사항 명세서는 개인이 작성하신건가요?

 

일단 눈에 보이는것만 정리했습니다.

회원 게시판 내용을 제외했습니다.

 

1.회원 테이블

 PK - 회원ID를 PK로 잡으면 나중에 회원ID를 수정할수 없습니다 

      * 인조 식별자를 사용하는것도 한가지 방법입니다.

 비밀번호 - 암호화가 필요한 부분입니다.

      * 귀찮으시면 DBMS가 지원하는 함수쓰는것도 괜찮습니다. ( 암호화시 대상 컬럼 SIZE도 커지게 됩니다. )

 

2. 결재정보 테이블 ( 정규화 대상 ) 

  PK - 전화번호는 바뀔수도 있기때문에 식별자 후보로 적합하지 않습니다. 회원ID 가 더 적합합니다.

  카드/통장번호/비밀번호 - 전부 암호화 대상입니다.

 

3. 티켓 테이블 ( 마스터 )

 티켓 테이블라 부르고 있지만 버스 운행정보 테이블 있어야 몇시에 버스가 출발할지 도착할지 알수있습니다. 

 티켓 테이블의 정보가 있어야 예매가 가능합니다.

 

4. 버스테이블

  그냥 정보 관리 테이블로 보입니다.

  좌석정보 테이블을 하위테이블로 넣으면 되겠네요.

  티켓테이블과 JOIN 해서 사용하면 될것 같네요.

 

5 예매 테이블 

  티켓 테이블/버스테이블 과 OUTER JOIN 해서 나온 정보를 SELECT 해서 ( 업무 화면에서는 콤보박스등으로)

  예매 정보를 저장하면 됩니다.

 

6 버스기사 테이블

  나이    - 연초마다 갱신하지 않으려면 나이가 아니라 생년월일 필요하겠네요.

  담당자 - 필요하면 이것도 테이블화.

  

7. 노선 테이블

 출발 / 경우 / 도착정류장 이렇게 컬럼으로 나눌게 아니라 정규화해서 여러개의 정류장을 이용할수 있도록 합니다.

 

9. 좌석 테이블

버스 테이블밑에 하위 테이블로 작성.

 

* 참고

   버스와 노선이 N/M 관계일 경우 매핑 테이블이 필요합니다. 양쪽에서 바라볼때 연결가능하게 매핑해줍니다.

 

 

 

 

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입