班级:计科2001
姓名:黄炯杰
我目前在项目做的部分是数据库的设计,一个软件系统必然会需要存储大量的数据,因此需要连接调用数据库来存储并更好的管理这些数据。
在设计数据库时必须先要弄清楚软件系统有什么实体对象(以小组项目为例我们的二手物品交易平台的实体对象主要有商品、用户、管理员、订单等);
确定各实体对象后,也要构思实体间的关系关系(‘一对一’、‘一对多’、‘多对多’),然后设计数据库的ER图。根据ER图建立处理对应的表,要确保数据库结构至少满足BCNF范式,确保不会出现函数依赖等问题,不然后期可能导致对数据库操作时出现重复删除、更新失败等问题。
在确定好ER图之后就要设计这些对象会拥有哪些属性(比如管理员这个对象会有id、用户名、密码这些属性)。
弄清楚这些之后就可以开始在数据库中为实体对象建表,建表的过程中要定义好表中每个属性的类型,同时还要对这些属性进行限制和约束,确保这些属性不会越界(例如限制性别只能填‘男’或‘女’,密码不能为空等)
定义好表中的各个属性,就要确认好该表的主码和外码等,确保能准确对表进行相关操作,确保有关联的表之间的增删改查能够级联,从而顺利进行。
建好数据库中的各个表之后,就要用SQL语言为每个表写好增删改查等操作,方便后期Java连接数据库后,方便java运用这些语句更新数据库。
数据库的设计关键是要对整个项目的整体的把握,并且要细化对每个实体类的具体属性要求。在设计时要做到高度的抽象,对内容或者关系相类似的内容抽象为一类实体,在分类时可以抽象出一个“类”的实体,确定与要分类实体之间进行关系的映射。这次数据库的构建让我在重新复习了大二所学习的数据库的知识,在此基础上我也对数据库有了更深入的了解,令我受益匪浅。