数据模型
用来描述数据、组织数据和对数据进行操作,是对现实世界数据特征的描述。这里的数据模型和类的抽象很想,将显示中同种类型的事物使用数据进行描述。就比如用户(User),那用来描述用户的属性的数据就有,用户名,用户昵称,手机号,邮箱,密码,地址等等。这些数据会被存储到数据库中,一行数据就是一个用户的所有信息。而对于一般的对程序进行的分析就是,数据的扭转,数据的增加,删除,修改,查询等等。
但独立的一个用户数据是没有办法产生价值的,需要用户数据与其他数据进行交互才会产生价值。就比如另一个数据模型是订单(order)。
那订单的属性就有订单号,订单价格,订单状态,订单时间,用户信息等等。
这样通过在订单信息中保存用户信息的方式,讲用户与订单关联了起来。但是将所有的用户信息都存在订单模型中,又会造成数据冗余。因此在用户信息中需要一个能唯一标识唯一用户的信息,这就是用户ID,这个数据在数据库中叫做主键。它唯一标识了一个用户信息。那订单的订单号也是唯一标识订单信息的唯一值,因此它也是主键。
下面我们可以简单设计一个学生选课的数据模型。
数据E-R图是实体关系模型图,实体就代表一个数据模型在图中用长方形表示,关系可能是一种特殊的数据模型,代表着类似用户和订单的关系,用菱形表示。
那么一个学生选课模型中,包括实体:学生,课程,老师。
学生包含:学号,姓名,年级,性别,专业,出生年月等等信息。
课程包含:课程号,课程名,学分,上课地点,开课专业等等信息。
教师包含:教师编号,姓名,性别,职务,学历,专业等等信息。
那么有什么关系呢,可以抽象出学生要选择课程,教师要教授课程两个种关系。
选课关系就要包含:课程号和学生学号来确定选课关系,然后是一些其他关系,选课时间等等。
授课关系要包含:课程号和教师编号来确定教授课程关系,然后可以抽象一些其他属性。
对数据模型的增删改查就是我们现在编写的程序,程序与数据交互,完成相应的功能。