2010-04-25 5 views
0

직원, emp_shift, 교대, 테이블이있는 데이터베이스를 작성 중입니다. 이 가장 많은 숫자를 수행 한 월말에 월말에 계산할 수 있다고 가정합니다. 교대.Little (Employee - Shift) SQL 데이터베이스 도움말

Ive는 SQL 작성, 테이블에 대한 문장 삽입 및 작문을 시도하는 데 필요한 것을 설명하기위한 초보자이며 지난 4 일 동안 수행하려고했던 숙제입니다.

도 : http://latinunit.net/emp_shift.jpg SQL : http://latinunit.net/emp_shift.txt

당신이 만족 할 수 있습니다 사람이 그것을 확인, 기한은 2 일입니다 이것은 전체 데이터베이스의 단지 부분이다

+0

당신이에 연결하지 않을 경우 확인하기 어렵다 SQL 파일. –

+0

테이블 이동 제약 조건에서 재미없는 오타가 생겼습니다 ... 또한 EMP_SHIT 테이블의 PK가 작동하지 않습니다. 직원들이 평생 동안 한 번 교대 근무를 할 수 있습니다. 날짜도 키의 일부 여야합니다. 시간 소인 필드는 varchar 일 수 있습니다. 왜냐하면 당신이 정말로 관심이 없기 때문입니다. 그것들은 기본적으로 설명이며, 당신이 수학을하지 않을 것 같습니다. – MJB

+0

하지만 emp_shift는 복합 엔티티입니다. 직원과 교대 사이에 많은 관계가 있으므로 각 테이블의 각 기본 키가 복합 엔티티에서 기본 키로 사용됩니다. 이것은 ive가 가르쳐 준 것이지만, 우리는 date_shift 속성을 전체 키의 일부로 만들 수 있습니다. CONSTRAINT EMP_SHIFT_PK PRIMARY KEY (EMP_ID, SHIFT_ID, EMP_SHIFT_DATE), –

답변

1

합리적인 시작입니다. 더 많은 테이블이 있습니까? 그렇지 않으면 사람들에게 돈을 지불하는 방법을 식별하기가 어려울 것입니다. 예를 들어, "유급 기간"테이블을 원할 수도 있습니다. 그런 다음 시작일과 종료일을 찾아 해당 기간의 변동을 계산할 수 있습니다.

하지만 당신이해야 할 일은 모두 당신이 말한 것과 정확히 일치합니다. 이는 공정한 시작입니다.

(나는 직원 이름과 같은 다른 열을 염두에두고 있지만 분명합니다).

+0

아무런 질문을하지 않을 것이다. 질문의 연속이 될 것 같으면 두 번째로 보일 테니, 시간당 지불을 계산할 필요가 없다. –

+0

BTW, 첫 번째 질문에 대한 답을 받아 들여야한다. .거기에서 해답으로 테이블 정의를 얻은 것 같습니다. 당신이 그것을 좋아하고 그것을 사용한 경우, 이미 그것을 받아들입니다. 위의 내 의견을 참조하십시오. – MJB

0

당신은 당신을 RDBMS whoch 우리에게 말하고으로 시작할 수 좀 더 미세한 세부 정보가 RDMS간에 다를 수 있으므로 사용하고 있습니다.

테이블 (호출 된 JOINS, Read this) 사이에 링크를 생성 한 다음 요청 된 데이터를 count 수행해야합니다.

이 중 일부를 읽은 후에 수행 한 작업을 보여 주시면 문제가 발생한 부분을 도와 드릴 수 있습니다.

+0

메신저 오라클을 사용하여 나는 그것이 Datetime을 가지고 있다고 생각하지 않는다. –

0

또한, 'C'등 대신 'A'의 기본 키, 'B'로 단일 숫자를 사용하는 것이 더 practive 것