저는 환자의 의료 기록 작업을 시작한 MySQL 데이터베이스를 설계하고 있습니다. 예를 들어 medications
테이블에는 patient_id
, med_name
, usage_dates
, dosage
, reason
등의 고유 한 키가없는 테이블이 여러 개 있습니다. 유일하게 보장되는 고유 키는 모두 들판.고유 한 키가없는 데이터베이스 테이블의 각 행에 대해 고유 한 ID를 생성해야합니까?
patient_id
을 선택하면 웹 응용 프로그램에서 해당 환자의 데이터를 쉽게 검색 할 수 있지만 여러 사용자가있는 데이터베이스 내에서 행에 대한 포인터를 저장할 수없는 경우 행을 편집하거나 삭제하기에 어색한 시스템입니다. 이 표에 DBMS는 올바른 행을 찾기 위해 각 필드의 값을 선택해야합니다. 내가 데이터베이스에 대해 아는 것에서부터, 이것은 큰 데이터베이스에서 비효율적 일 수 있다고 생각합니다.
ID 번호가있는 새 필드를 만들어 각 테이블에서 기본 키로 사용하는 것이 더 효율적입니까, 아니면 DBMS 방식이 나보다 똑똑하며 완전히 필요하지 않습니까?
당신이 진심 :
나는의 라인을 따라 뭔가를 건의 할 것? 가장 큰 존경심으로 당신은 데이터베이스에 대해 "거의"알지 못했지만 환자의 의료 기록을위한 데이터베이스를 설계하고 있다고합니다. – sqlvogel
예! 잘. 의료 기록은 우리가 현재하고있는 일 중 일부에 지나지 않습니다. 우리의 신생 기업 (의료 기기 개발)은 현재 겨우 네 사람이고 나는 컴퓨터 전문가입니다. 프로토 타입과 통신 할 수있을 정도로 데이터베이스가 필요합니다. 우리가 필요한 전문 분야의 사람들을 고용 할 예정입니다. 내가이 일을하는 동안, 나는 가능한 한 많이 배울 기회를 가지기 때문에,이 단계에서는 그다지 중요하지 않은 것에 대한 나의 질문이 나온다. – tobek
"고유 키를 가질 수 없습니다"및 "유일하게 보장 된 고유 키는 모든 필드가 함께 있습니다"는 완전히 반대되는 것을 의미합니다. 그거 알아? 의약품 테이블의 키가 {patient_id, med_name, start_date} 인 것 같습니다. 어쨌든 patient_id는 꽤 선택 적이어야하므로 많은 환자와 많은 약들에 대한 성능이 좋을 것입니다. 프로토 타입 및 테스트. –