2013-08-12 2 views
0

Я работаю над системой онлайн-доступа в mysql и php.Система онлайн-доступа

Мне нужно сохранить личные данные заявителя, а также академические данные. До сих пор я создал одну таблицу для сохранения личных данных с идентификатором кандидата (автоинкремент) в качестве основного ключа. Но для академических деталей я немного смущен. Поля, необходимые для академических деталей являются:

Degree Level (like Master, Bachelor, high school); 
Roll No; 
Subjects; 
Grade; 
Institution; 
Percentage; 
Degree image (image field to save scanned copies of transcripts). 

Я не знаю, как связать эти две таблицы. Будет ли загрузка файлов изображений (отсканированных копий транскриптов) повлиять на производительность базы данных?

+0

Общее правило: никогда не храните файлы в базе данных. существует очень мало случаев использования, которые его оправдывают, и слишком много ошибок/проблем, чтобы сделать эти несколько случаев полезными. –

+1

не храните изображения в вашей базе данных, храните ссылки на них. вы также должны быть очень осторожны с сохранением личной информации, ее всегда следует зашифровать. – cmorrissey

+1

Поместите ApplicantID в таблицу Academic Details в качестве внешнего ключа. –

ответ

0

Вы бы 2 таблицы

Заявителям

Id | Name | Address | etc, etc 

AcademicDetails

Id | ApplicantId | Degree | RollNo | DegreeImageUrl | etc, etc 

Чтобы получить список всех заявителей

SELECT * FROM Applicants 

Для поиска конкретного заявителя по имени.

SELECT * FROM Applicants WHERE name = 'Tom Jones' 

Чтобы выбрать Заявитель Id = 1 и все их Академические детали использовать присоединиться

SELECT * FROM Applicants JOIN AcademicDetails ON AcademicDetails.ApplicantId=Applicants.Id 
WHERE Applicants.Id = 1 
0

Вы могли бы иметь отдельную таблицу со структурой, аналогичной нижеследующим бы держать все различные типов изображений вам потребуется:

documents 
-------------------- 
| id, INT AUTOINCREMENT 
| applicant_id, INT 
| type, VARCHAR(255) 
| url, VARCHAR(255) 
-------------------- 

applicant_id будет относиться к заявителю, которому документация относится к. Поле type может быть одним из degree или transcript или любым другим типом документации, которую вы поддерживаете. И, наконец, поле url будет содержать местоположение изображения. Предпочтительно, у вас должна быть форма PHP, которая загружает изображения в каталог на вашем сервере, а затем добавляет запись в таблицу documents, относящуюся к тому, что пользователь просто загрузил.

+0

Спасибо всем за ваши ответы. Это мне очень помогло –