데이터베이스 엔진 설계와 관련된 업무가 있습니다. 코드를 전혀 구현할 필요가 없으며, 단지 설계 (psuedocode, 시퀀스 다이어그램 등) 만 할 수 있습니다. 나는 그 방법을 받았고 내가하는 일을 더 이해하기위한 도움을 찾고있다. 아래는 제가 지금까지 가지고있는 것입니다, 어떤 도움을 크게 주시면 감사하겠습니다. 이것은 숙제가 아니라 답을 찾는 것이 아니라이 소프트웨어를 어떻게 설계하는지 더 잘 이해할 수 있는지에 대한 더 많은 통찰력을 얻습니다.데이터베이스 엔진 설계
DB 방법 :
정적 무효 CREATEDB (문자열 DBNAME) :
가 디스크에 새 폴더를 만듭니다 (즉 : C로 저장 :/DBNAME) 이 폴더 데이터베이스의 루트 될 것입니다; 대한
: 그것은 테이블과 인덱스> (파일)정적 무효 deleteDB (문자열 DBNAME)로 구성됩니다 내부 (디스크 폴더의 FolderName은 (C : /)) 경우 (폴더 이름 == DBNAME) 디스크에서 제거
정적 데이터베이스 openDB (문자열 DBNAME)
무효 closeDB()
표 CreateTable에서 (문자열 TABLENAME, 긴 레코드 사이즈) :
데이터베이스 폴더에 새 파일을 만듭니다 TABLENAME 레코드 크기를 저장하는 파일 내에 헤더를 만듭니다. 이 파일은 바이트 배열입니다. 레코드 크기는이 테이블에 저장된 오브젝트의 크기를 나타냅니다. (예 : 파일이 총 105 바이트 인 경우 내 머리글은 5 바이트이므로 머리글 (15, 25, 35 ...) 다음에 오는 모든> 10 바이트는 내 테이블 내의 개체입니다Table getTable (파일 이름 == TABLENAME) 돌아 표 (파일)
무효 deleteTable (문자열 TABLENAME가) 데이터베이스 폴더에
, 경우 각 파일 (파일을 반복 할 경우) 데이터베이스 폴더에서
는 각 파일 을 반복 이름 == tableName) 테이블 제거 (파일)지수 createIndex (문자열 INDEXNAME)
색인 getIndex (문자열 INDEXNAME)
무효 deleteIndex (문자열 INDEXNAME)
테이블 방법 :
긴 getRecordSize()
테이블이 파일 (바이트 []) 레코드의 첫 번째 줄 (바이트 [0])은 recordSize가 포함 된 헤더입니다. return recordSizelong addRecord (byte [] record)
테이블 파일의 헤더에 파일의 레코드 크기 및 객체 수를 얻습니다. 파일의 해당 위치에 레코드를 기록합니다 (spot = (파일에 이미있는 레코드 수 * 레코드 크기)> + 헤더 크기. (예 : 헤더 크기가 5 바이트 인 경우 레코드 크기 = 10 바이트이고 이미 파일에 7 개의 개체가 있습니다.다음 목적은, 스폿 (7 * 10) + 5 = 75)공극 removeRecord (긴 기본 키)
바이트 [] getRecord (긴 기본 키)
공극 updateRecord (긴 기본 키에 추가 될 바이트 [] 레코드)
공극 확대()
인덱스 방법 :
보이드 ADDKEY (문자열 키 길이 값)
IteratorgetValues (문자열 startKey 문자열 endKey)
긴 DELETEKEY (문자열 키)
공극에 updateKey (문자열 키 길이 값)
공극 확대()