搜索
首页数据库mysql教程数据库设计的三个阶段

数据库的设计一共分多少个阶段呢,严来说,不止三个阶段,今天我们仅讨论其中的三个阶段。概念设计、逻辑设计和物理设计阶段。 首先要搞清楚几个问题,数据库为什么要分阶段设计?三个阶段有什么联系?要说清楚这几个问题,只有理论是说不清的,我们还是来举

数据库的设计一共分多少个阶段呢,严格来说,不止三个阶段,今天我们仅讨论其中的三个阶段。概念设计、逻辑设计和物理设计阶段。

首先要搞清楚几个问题,数据库为什么要分阶段设计?三个阶段有什么联系?要说清楚这几个问题,只有理论是说不清的,我们还是来举个例子吧。

现在有一个图书馆,需要为读者信息、图书信息、借阅信息建立一个数据库,读者信息包括姓名、学号、性别、办卡日期、家庭住址、联系电话、类别等,图书信息包括编号、作者、出版信息、页数、登记日期等,借阅信息包括借书证号、图书编号、书名、借还日期等,这么多的信息,如果在没有进行分析之前就开始设计数据库是不现实的。所以,首先要把这些数据进行分类、整理(概念模型),然后画出图表或者表格,最后画出这些数据信息的关系结构(逻辑模型),甚至制定数据库的存储记录格式、存储记录安排、和存取方法(物理模型)使用户能简单、方便、容易的存取数据。所以,数据库设计必须经过这三个设计阶段,下面我们来详细讨论这三个设计阶段。

一 从上面的例子,我们可以得出以总结出三个阶段(模型)各自的特点:

1 概念模型:首先,概念模型是一个工具,是数据库设计人员和客户进行交流的平台;它独立于硬件和软件;概念模型表达了数据的整体逻辑结构,它是系统用户对整个应用项目设计的数据的全面描述;概念模型是从用户的观点出发,对数据建模。

2 逻辑模型:逻辑模型首先也是一个工具,它是数据库设计人员和应用程序员进行交流的平台;逻辑模型独立于硬件,但是却依赖于软件(数据库系统);逻辑模型表达了数据库的整体逻辑结构,但它是设计人员对整个项目数据库的全面描述;逻辑模型是从数据库实现的观点出发,对数据建模。

3 物理模型:物理模型(内部模型)是数据库最底层的抽象,它描述数据在磁盘或磁带上的存储方式(文件的结构)、存取设备(外存的空间分配)和存取方法(主索引和辅助索引)。

概念模型和逻辑模型各有不同,用一个表格对比一下。

特点

功能

出发点

独立性

用户

概念模型

表达了数据的整体逻辑结构

用户需求

独立于硬件和软件

设计人员和用户

逻辑模型

表达了数据库的整体逻辑结构

数据库实现

独立于硬件但是依赖于软件(数据库系统)

设计人员和应用程序员

特点
功能 出发点 独立性 用户
概念模型 表达了数据的整体逻辑结构 用户需求 独立于硬件和软件 设计人员和用户
逻辑模型 表达了数据库的整体逻辑结构 数据库实现 独立于硬件但是依赖于软件(数据库系统) 设计人员和应用程序员

二 咱们再从数据描述来探讨他们的区别于联系。

1 数据库的概念设计是根据用户的需求设计数据库的概念结构,他以规范的形式,表达了用户需求所涉及事物的理解。这一阶段用到四个术语:

实体:客观存在,可以相互区别的事物就是实体,它可以是具体的对象,一个人,一个房子等等,也可以是一个抽象的对象,马克思主义,毛泽东思想等等;

实体集:简单来说就是同类实体的集合,我们都学过集合,这个概念就不深究了;属性:实体的特性就是属性,这个概念可以对比vb控件来学习,每一个属性都有一个值域,它的类型也是各种各样。

实体标识符:能唯一标识实体的属性或属性集,也称关键码(key)。

2 数据库的逻辑设计是根据概念设计的结果设计数据库的逻辑结构,及表达方式和实现方法。逻辑设计有许多方法,每个方法都有一套术语,下面列举最常用的一套术语:

字段:标记实体属性的命名单位,它是可以命名的最小实体单位,又称为数据元素或初等项,它的命名旺旺和属性名相同。

记录:字段的有序集合成为记录,一般用一个记录来描述一个实体。

文件:同一类记录的集合。

关键码:能唯一标识文件中每个记录的字段或字段集。

用一个表格来对比概念和逻辑设计中数据的联系:

概念设计

实体

属性

实体集

实体标识符

……

……

……

……

逻辑设计

记录

字段

文件

关键码

概念设计

实体

属性

实体集

实体标识符

…… ……

……喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">

……
逻辑设计

记录

字段 文件 关键码
3 数据库物理设计,它涉及到了硬件知识,咱们这里只做介绍,不做讨论了。高速缓冲存储器(Cache):访问速度最快,最贵的存储器;主存储器:也就是内存;快擦科协存储器:介于内存和硬盘之间的一种存储器;磁盘存储器:俗称硬盘;光存储器:光盘;磁带等。下面用一张图来描述他们的存储层次关系: 三 理论性的东西没有直观性,我们还以上面图书馆的例子为基础,继续讨论三个设计阶段的特点和联系。 首先应该分析数据信息,画出他们的联系,下面是读者和图书之间的简单关系图(ER图) 这个简单的ER图直观的表达除了读者和图书之间的关系,根据这个图,我们可以列出五个相互联系的表格,联系如下:vcD4KPHA ICAgICA8aW1nIHNyYz0="" alt=""> 这五个表格就是数据库逻辑设计的表格的内容了。具体数据库表格就不画了。
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
MySQL的角色:Web应用程序中的数据库MySQL的角色:Web应用程序中的数据库Apr 17, 2025 am 12:23 AM

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

mysql:构建您的第一个数据库mysql:构建您的第一个数据库Apr 17, 2025 am 12:22 AM

构建MySQL数据库的步骤包括:1.创建数据库和表,2.插入数据,3.进行查询。首先,使用CREATEDATABASE和CREATETABLE语句创建数据库和表,然后用INSERTINTO语句插入数据,最后用SELECT语句查询数据。

MySQL:一种对数据存储的初学者友好方法MySQL:一种对数据存储的初学者友好方法Apr 17, 2025 am 12:21 AM

MySQL适合初学者,因为它易用且功能强大。1.MySQL是关系型数据库,使用SQL进行CRUD操作。2.安装简单,需配置root用户密码。3.使用INSERT、UPDATE、DELETE、SELECT进行数据操作。4.复杂查询可使用ORDERBY、WHERE和JOIN。5.调试需检查语法,使用EXPLAIN分析查询。6.优化建议包括使用索引、选择合适数据类型和良好编程习惯。

MySQL初学者友好吗?评估学习曲线MySQL初学者友好吗?评估学习曲线Apr 17, 2025 am 12:19 AM

MySQL适合初学者,因为:1)易于安装和配置,2)有丰富的学习资源,3)SQL语法直观,4)工具支持强大。尽管如此,初学者需克服数据库设计、查询优化、安全管理和数据备份等挑战。

SQL是一种编程语言吗?澄清术语SQL是一种编程语言吗?澄清术语Apr 17, 2025 am 12:17 AM

是的,sqlisaprogramminglanguges pecialized fordatamanage.1)它具有焦点,focusingonwhattoachieveratherthanhow.2)sqlisessential forquerying forquerying,插入,更新,更新,和detletingdatainrelationalDatabases.3)

解释酸的特性(原子,一致性,隔离,耐用性)。解释酸的特性(原子,一致性,隔离,耐用性)。Apr 16, 2025 am 12:20 AM

ACID属性包括原子性、一致性、隔离性和持久性,是数据库设计的基石。1.原子性确保事务要么完全成功,要么完全失败。2.一致性保证数据库在事务前后保持一致状态。3.隔离性确保事务之间互不干扰。4.持久性确保事务提交后数据永久保存。

MySQL:数据库管理系统与编程语言MySQL:数据库管理系统与编程语言Apr 16, 2025 am 12:19 AM

MySQL既是数据库管理系统(DBMS),也与编程语言紧密相关。1)作为DBMS,MySQL用于存储、组织和检索数据,优化索引可提高查询性能。2)通过SQL与编程语言结合,嵌入在如Python中,使用ORM工具如SQLAlchemy可简化操作。3)性能优化包括索引、查询、缓存、分库分表和事务管理。

mySQL:使用SQL命令管理数据mySQL:使用SQL命令管理数据Apr 16, 2025 am 12:19 AM

MySQL使用SQL命令管理数据。1.基本命令包括SELECT、INSERT、UPDATE和DELETE。2.高级用法涉及JOIN、子查询和聚合函数。3.常见错误有语法、逻辑和性能问题。4.优化技巧包括使用索引、避免SELECT*和使用LIMIT。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境