高级软件工程(第十二章 )数据库设计与界面设计(2017课件)
- 格式:ppt
- 大小:413.50 KB
- 文档页数:24
软件工程数据库设计在软件工程领域中,数据库设计是一个至关重要的环节。
它就像是为一个庞大的系统构建坚实的基础,如果这个基础不牢固,那么整个系统都可能面临崩塌的风险。
数据库设计的首要任务是理解业务需求。
这意味着要与项目的所有相关方进行深入的沟通,包括业务经理、最终用户等等。
他们对于系统的期望和需求是设计的起点。
比如说,在一个电商系统中,需要存储商品信息、用户信息、订单信息等等。
每种信息都有其独特的属性和关联,我们必须清晰地了解这些,才能为后续的设计工作做好准备。
在明确了业务需求后,接下来就是进行概念设计。
这一阶段,我们不考虑具体的数据库技术,而是专注于构建一个高层次的、易于理解的业务模型。
通常会使用实体关系图(ERD)来表示。
实体就是系统中的对象,比如用户、商品,而关系则描述了这些实体之间是如何相互关联的。
以一个图书馆管理系统为例,实体可能包括图书、读者、借阅记录等,而关系可能是“读者借阅图书”“图书被多个读者借阅”等。
完成概念设计后,就进入了逻辑设计阶段。
在这个阶段,我们要将概念模型转换为具体的数据库模型。
确定数据表、字段、数据类型、约束条件等。
比如,对于用户表,可能包含用户 ID、用户名、密码、邮箱等字段,用户 ID 被设定为主键以确保唯一性。
数据类型的选择也非常关键,比如整数类型用于存储数量,字符串类型用于存储文本信息。
约束条件则用于保证数据的完整性和一致性,比如非空约束确保某些重要字段不能为空,唯一性约束保证某些值在表中是唯一的。
物理设计则是根据所选用的数据库管理系统(DBMS)来优化数据库的存储和访问性能。
这包括选择合适的存储引擎、索引的创建、表的分区等。
例如,在 MySQL 中,如果经常需要根据某个字段进行查询,那么为该字段创建索引可以大大提高查询速度。
对于数据量特别大的表,可以考虑进行分区,将数据分布在不同的物理存储位置上,以提高数据的读写性能。
在设计数据库时,还需要考虑数据的安全性和完整性。