首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

揭开数据库设计的神秘面纱

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

1问题描述

提到数据库设计,我相信很多人都不陌生,但对于数据库设计的原理以及重要性就只停留在概念上而已,那么数据库是怎么设计的呢?数据库的设计有什么作用?这些都值得我们去思考。

2问题分析

在数据库课上,学习了数据库的设计,对于设计不合理的数据库,必然会造成很多问题,轻则增减字段,重则系统无法运行。在实际的软件项目中,如果系统中需要存储的数据量比较大,需要设计的表比较多,表与表之间的关系比较复杂,那我们就需要对数据库进行很好的优化设计。如果不经过数据库的设计,我们构建的数据库不合理、不恰当,那么数据库的维护、运行效率会有很大的问题。这将直接影响到项目的运行性和可靠性。

3解决方案

数据库设计实际上就是规划和结构化数据库中的数据对象以及这些数据对象之间的关系过程。通过查阅相关资料,我了解到数据库的设计大致分为六个阶段:系统需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施阶段以及数据库运行与维护阶段。

需求分析的任务:

1、调查分析用户活动。

2、收集和分析需求数据,确定系统边界信息需求,处理需求,安全性和完整性需求。

3、编写系统分析报告。

举例说明:

教学管理系统

学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、入学日期,每名学生对应一个专业,专业包括专业编号、名称、类别,一个专业对应一个学院,而一个学院可以有多个专业。学院信息要存储学院号、学院名、院长。教学管理要管理课程表、学生成绩表。课程包括课程号、课程名称、学分。学生选修的每门课程获得一个成绩。

经过一系列分析需求数据后,形成数据库E-R:

E-R图可以以图形化的方式将数据库的整个逻辑结构表示出来,组成部分有:

1、矩形表示实体集

2、椭圆表示属性

3、菱形表示关系

4、直线用来连接实体集与属性、实体集和关系

5、直线箭头表示实体集之间映射基数

紧接着逻辑结构设计的任务是将概念结构设计阶段完成的实体模型转换成特定DBMS所支持的数据模型的过程。逻辑结构设计的目的是将E-R图中的实体、属性和联系转换成为关系模式。后面的逻辑结构设计和物理结构设计就不一一多说了。

4总结

总之一个数据库的设计一定是科学合理的循序渐进的过程,我们需要不断地学习每一个阶段的过程。

注:详细设计阶段:将E-R图转换为表

步骤如下:

1、将各个实体转换为对应的表,将各属性转换为对应的列

2、标识每张表的主键

3、将实体之间的关系转换为表与表之间的主外键关系

参考文献

百度文库:数据库设计的重要性和原则

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181226B007JJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券