2014-01-21 4 views
0

모든 직원의 주요 데이터를 보유하고있는 직원 용 테이블이 있습니다. StaffID, 이름, 주소 등 부재를위한 테이블도 있습니다. 부재 테이블에는 부재 ID, 스태프 ID, 스태프 이름 및 날짜가 있습니다. 직원 ID를 입력 할 때 부재시 직원 이름 입력란을 자동 완성하는 방법이 있습니까? 데이터베이스가 특정 ID와 관련된 직원 이름을 조회하는 방법은 무엇입니까?SQL 데이터베이스 도움말 - MySQL Workbench

또는 부재가 기록 될 때마다, 내가 수동으로 모든 아이디어/도움말이 감사

(이것에 대한 문제는 누군가가 실수로 ID와 일치하지 않는 이름을 올려 놓을 수있다) ID와 이름을 삽입해야 할 . 미리 감사드립니다.

+0

** 관계형 데이터베이스 **의 개념을 잘 이해해야합니다. 당신이하려는 것은 데이터를 복제하는 것인데, 이로 인해 운영상의 비효율, 오류, 중복 된 데이터 및 많은 문제가 발생합니다. 데이터베이스 디자인을 확인하고 ** 키 ** 및 ** 인덱스 **를 구현하십시오. 부재자 이름은 다른 테이블에 입력하는 대신 하나의 테이블에 보관해야합니다. 당신이하려고하는 것은 적합 정보 시스템의 범위에서 공포의 악몽입니다. – datelligence

+0

내가 달성하기를 바라는 것은이 데이터베이스를 Java 코드에 링크하는 것입니다. addAbsence() 메소드가 호출되면 사용자는 부재중인 스탭의 스태프 ID를 간단히 추가하고 데이터베이스는 자동으로 직원의 이름과 날짜를 입력하십시오. – user3074612

+0

ok,이 경우 간단하게 메소드가 호출 될 때 필드를 채 웁니다. 즉, 조건이 staffer id 인 쿼리를 제출하여 스태프 이름 및 기타 데이터를 쿼리하고 결과 양식 필드를 채워야합니다. – datelligence

답변

1

여러 가지 방법이 있습니다.

  1. Insert Trigger 새로운 레코드를 추가 할 때 추가 테이블로 이동 Absences 테이블에 삽입 할 수있는 이름을 싶어.

  2. 응용 프로그램을 STAFF 테이블에서 조회 데이터로 수정하고 삽입하는 동안 해당 데이터를 추가하십시오.

  3. STAFF에서 이름을 가져오고 Absences에 배치 할 업데이트 문을 실행하십시오.

이 모든 것은 구현 방법에 따라 다릅니다. 가장 좋은 대안은 INSERT 방아쇠입니다. MySQL에서 트리거를 사용하는 방법은 http://dev.mysql.com/doc/refman/5.0/en/triggers.html을 참조하십시오.

+0

고맙습니다. MySQL을 처음 접했을 때 대답이 분명 해 보였지만 매우 유용했습니다. – user3074612

+0

'INSERT 트리거'를 읽는 것이 가장 좋으며 동시에 MySQL 작동법을 배우는 데 도움이 될 것입니다. –