我正在使用mysql和php的在线招生系统。
我需要保存申请人的个人和学术细节。到目前为止,我创建了一个表来保存个人详细信息,其中申请人ID(自动增量)作为主键。但对于学术细节我有点困惑。学术细节所需的字段是:
Degree Level (like Master, Bachelor, high school); Roll No; Subjects; Grade; Institution; Percentage; Degree image (image field to save scanned copies of transcripts).
我不知道如何将这两个表联系起来。上传图像文件(成绩单的扫描副本)是否会影响数据库性能?
答案 0 :(得分: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
答案 1 :(得分:0)
您可以拥有一个单独的表格,其结构类似于以下内容,可以容纳您需要的所有各种类型的图像:
documents
--------------------
| id, INT AUTOINCREMENT
| applicant_id, INT
| type, VARCHAR(255)
| url, VARCHAR(255)
--------------------
applicant_id
指的是文档所属的申请人。 type
字段可以是degree
或transcript
之一,也可以是您支持的任何其他类型的文档。最后,url
字段将包含图像的位置。最好是,您应该有一个PHP表单,将图像上传到服务器上的目录,然后将记录添加到documents
表中,与用户刚刚上传的内容相关。