笔记2:物理模型设计

P14-16

CRM表的结构:

//系统管理功能
tbl_user  用户表
tbl_dic_type  数据字典类型表(下拉列表的类型)
tbl_dic_value  数据字典值(下拉列表种的数据)


//业务管理功能
tbl_activity  市场活动表(市场活动规划的信息)
tbl_activity_remark  市场活动备注表(对市场活动的意见)

tbl_clue  线索表
tbl_clue_remark  线索备注表

tbl_clue_activity_relation  线索和市场活动的关联表

tbl_customer  客户表
tbl_customer_remark  客户备注表

tbl_contacts  联系人表
tbl_contacts  联系人备注表

tbl_contacts_activity_relation  联系人和市场活动的关联关系表

tbl_tran  交易表
tbl_tran_remark  交易备注表
tbl_tran_histroy  交易历史表

tbl_task  任务表(这个不做了解一下)
  • 主键字段:在数据库表中,如果有一组字段,能够唯一确定一条记录,则可以把它们设计成表的主键。推荐使用一个字段做主键,而且推荐使用没有业务含义的字段做主键(业务数据来自于现实世界,是不稳定的)。比如:id
    • 主键字段的类型和长度:由主键值的生成方式决定
    • 主键值的生成方式:
      • 自增:借助数据库自身主键生成机制(数值型,长度由数据量决定)
        • 运行效率低
        • 开发效率高
      • assighed:程序员手动生成主键值,唯一非空,算法
        • hi / how:数值型,长度由数据量决定
        • UUID(常用):字符串,长度是32位
      • 共享主键:由另一张表的类型和长度决定
      • 联合主键:由多个字段的类型和长度决定
//共享主键
tbl_person                      tbl_card
id     name                     id      name
1001   zs                       1001    card1
1002   ls                       1002
  • 外键字段:用来确定表和表之间的关系
    • 一对多:A表中的一条记录对应B表中的多条记录,B表中的一条记录只能对应A表中的一条记录
      • A(一),B(多)
      • A父表(如班级表),B子表(如学生表)
      • 添加数据时,先添加父表记录,再添加子表记录
      • 删除数据,先删除子表记录,再删除父表记录
      • 查询数据时,可能会进行关联查询
        • 内连接:查询所有符合条件的数据,并且要求结果在两张表中都有相对应的记录
        • 左外连接:查询左侧表中所有符合条件的数据,即使在右侧表中没有相对应的记录
        • 总结:如果外键不能为空,优先使用内连接。如果外键可以为空:①假如只需要查询在另一张表中有相对应的记录,使用内连接。②加入需要查询左侧表中所有符合条件的记录,使用左外连接。
    • 一对一:A表中的一条记录只能对应B表中的一条记录,B表中的一条记录也只能对应A表中的一条记录(做项目不常用)
      • 共享主键(不推荐):先添加先产生的表,再添加后产生的表记录。先删除后产生的表记录,再删除先产生的表记录。无需进行连接查询
      • 唯一外键:一对一就是一种特殊的一对多,操作跟一对多完全一样
    • 多对多:A表中的一条记录能对应B表中的多条记录,B表中的一条记录也能对应A表中的多条记录(如学生表与选课表)
      • 添加数据时,先添加父表记录,再添加子表记录。删除时先删除子表(tbl_student_course_relation)记录,在删除父表记录。查询数据时,可能会进行关联查询
查询所有姓张的学生的id,name和所在的班级
一对多,左外连接
select s.id, s.name, c.name as className 
from tbl_student s
join tbl_class c join on s.class_id = c.id //假设外键不可以为空
where s.name like 'z%'
  • 关于日期和时间的字段
    • Date ——> date,time,datetime
    • 都按照字符串处理
      • char(10) yyyy-MM-dd
      • char(19) yyyy-MM-dd HH:mm::ss

【正片开始】创建CRM数据库实例

  • 创建crm2008数据库,使用utf8字符集
  • 将表导入数据库(导入SQL文件)
    笔记2:物理模型设计_第1张图片
    导入后,表创建成功:
    笔记2:物理模型设计_第2张图片
    物理模型设计完成!

你可能感兴趣的:(动力节点crm项目笔记,java)