数据库表设计指南

时间:2013-10-24 22:08:37

标签: mysql database-design

我正在创建一个包含以下字段的飞行员表,是否有任何优势可以在显示为单独表格的每个类别中打破表格,并通过一对一关系中的飞行员主键进行链接?

PILOT PROFILE
    username
    password
  BASIC INFO
    first_name
    last_name
    email
    date_of_birth
    address_line1
    address_line2
    town_city
    county
    postcode
    country
    tel_no
    mobile_no
  MEDICAL INFO
    med_class
    med_issued
    med_special
    med_verified
    med_verified_date
    med_verified_by
  LICENCE INFO
    licence_number
    licence_type
    licence_tailwheel
    licence_retractableGear
    licence_vpProp
    licence_turboCharged
    licence_cabinPressurisation
    licence_sep_L
    licence_sep_S
    licence_mep_L
    licence_mep_S
    licence_tmg
    licence_night
    licence_imc
    licence_ir
    licence_fi
    licence_fe
    licence_other
    licence_verified
    licence_verified_date
    licence_verified_by
  FLIGHT EXPERIENCE
    home_airport
    hours_total
    hours_pic
    hours_in12months
    hours_verified
    hours_verified_date
    hours_verified_by
  PAYMENT
    paid_date

1 个答案:

答案 0 :(得分:3)

否。请勿在此上下文中分解行数据。

出于大规模表现的原因,有时将表1:1分成其他表是有意义的,但鉴于所提供的信息,这绝对没有必要。

但是,在每个查询的基础上,请SELECT仅显示所需的字段。含义:不要随心所欲地使用SELECT *,而是使用SELECT username, password FROM pilot之类的东西。附注:不要将密码存储为明文:)