如何进行数据库的设计

 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。

在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。

一、数据库和信息系统

(1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的

功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。

(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。

(3)数据库设计是信息系统开发和建设的重要组成部分。

(4)数据库设计人员应该具备的技术和知识:

数据库的基本知识和数据库设计技术

计算机科学的基础知识和程序设计的方法和技巧

软件工程的原理和方法

应用领域的知识

二、数据库设计的特点

数据库建设是硬件、软件和干件的结合

三分技术,七分管理,十二分基础数据

技术与管理的界面称之为“干件”

数据库设计应该与应用系统设计相结合

结构(数据)设计:设计数据库框架或数据库结构

行为(处理)设计:设计应用程序、事务处理等

结构和行为分离的设计

传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计。

三、数据库设计方法简述

手工试凑法

设计质量与设计人员的经验和水平有直接关系

缺乏科学理论和工程方法的支持,工程的质量难以保证

时间: 2024-10-26 10:09:24

如何进行数据库的设计的相关文章

数据库课程设计具体要怎么做

问题描述 数据库课程设计具体要怎么做 数据库课程设计具体要怎么做,准确地说是用SQLserver写语句建表等等时要怎么做 解决方案 数据库课程设计数据库课程设计数据库课程设计 解决方案二: 找一本sql语句的教材,先了解sql语句的用法,然后多动手写一些. 解决方案三: http://www.w3school.com.cn/sql/index.asp 各种基础学习 解决方案四: 百度,搜SQLserver简单建表语句

Dreamweaver构建Blog全程实录(3)-数据库的设计和连接

dreamweaver|设计|数据|数据库 第三章 Doking's BLOG 数据库的设计和连接 构建好开发环境后,Doking's BLOG数据库规划是第三步,它也是直接关系到数据库以后是否能够有效运行的关键步骤,也是对一个数据库开发人员的规范要求. 3.1 数据库的规范化 数据库的规范化主要体现在表与表之间的关系.数据结构及存储两大方面. 3.1.1 数据表之间的关系 许多初学者常常认为,建立一个表储存所有数据就可以了.如果这么认为,那经常会造成数据冗余的.图3-1-1是一个数据表,可以看

Dreamweaver构建Blog(3):数据库的设计和连接

dreamweaver|设计|数据|数据库 Dreamweaver构建Blog全程实录(1)·Dreamweaver构建Blog(2):构建开发环境 Dreamweaver构建Blog(3):数据库的设计和连接·Dreamweaver构建Blog(4):首页的实现 第三章 Doking's BLOG 数据库的设计和连接 构建好开发环境后,Doking's BLOG数据库规划是第三步,它也是直接关系到数据库以后是否能够有效运行的关键步骤,也是对一个数据库开发人员的规范要求. 3.1 数据库的规范化

分区表-数据库怎么设计才合理

问题描述 数据库怎么设计才合理 要搭建一个数据库,存放很多单位(现在预估有1000个单位左右)的各类数据,每个数据表的记录中肯定都单位编号之类的进行标记,但以后随着数据量的增大,对数据的操作肯定越来越困难.对这种情况,是使用分区表,还是需要数据仓库之类的设计, 求教!!! 解决方案 1000个单位...那也太少了,在乘以一个100也单表放着吧,对性能可以忽略不计. 解决方案二: 数据量的增大,对数据的操作肯定越来越困难 这是不会的,数据库没有那么弱智. 只要你对要查找的字段做索引就可以了. 解决

请问一下,实现排队和插队,数据库怎样设计比较有效率?

问题描述 请问一下,实现排队和插队,数据库怎样设计比较有效率? 新手求教.本人的几种思路:1.传统的序号,当要插队时,后面所有人的序号+1.2.链表.3.数组,但是传统的的SQL数据库能存数组么?没见过.目前想的是mongodb存json数组 解决方案 1,3是一样的但不可取,因为每插入一次就需要对之后所有的数据进行变动.2可行.话说这跟数据库有关系? 解决方案二: 要对数据库的数据进行排序的话,要设一个项目作为Key值,只要改动这个值就可以实现排序和插队. 解决方案三: 参考一下 linked

mysql-火车售票系统的数据库如何设计

问题描述 火车售票系统的数据库如何设计 模拟火车售票系统,有登陆注册查询购票功能,用户不存在权限,仅仅是乘客进行购票. 模拟火车票数据库需要的数据进行设计,以票面信息为中心,考虑旅客.火车等的信息. 站点就模拟:济南-泰安-徐州-南京-上海就好,起点统一为"济南",然后终点可能是"泰安.徐州.南京.上海". 我该如何统筹站点信息 列车信息 座位信息 车票信息 车厢信息?这里面我是需要一个车次信息表 (列车编号,车次,始发站,终点站,发时,到时,车厢数,卧铺车厢数,里

系统-数据库课程设计 在线等

问题描述 数据库课程设计 在线等 一.设计内容与设计要求1.设计内容:针对具体的问题,完成从系统的需求分析.数据库的概念设计.数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统.下面是各个设计阶段的具体内容.⒈ 系统需求分析画出系统的数据流图,写出较为详细的数据字典.⒉ 数据库的概念设计画出局部E-R图和全局E-R图.⒊ 数据库的逻辑设计将概念设计阶段产生的全局概念模式(E-R图)转换成初始的关系模式.对关系模式进行规范化处理.根据设计所要求的规范级别,逐一

网上购物网站购物车数据库如何设计

问题描述 网上购物网站购物车数据库如何设计 小弟要做一个网上花店,设计数据库的时候对购物车是否需要单独建一张表有些疑惑.我的想法是购物车不需要单独建表,因为订单还没有生成.但是这样的话如何记录用户选中的物品,用户可能分几次向购物车中添加不同的商品,而且可能删除,也可能并不是一次全部支付.大家对购物车模块这里有没有什么好的建议呢?谢谢啦!! 解决方案 http://www.cnblogs.com/snwsky/archive/2007/04/25/727188.htmlhttp://www.doc

体检系统--数据库表设计

问题描述 体检系统--数据库表设计 系统有两个概念:体检记录和体检明细,一条记录对应多条明细,前端展示如下图: 第一张图是记录,第二张是明细,我的个人理解有两种方案: 1.1张记录表,1张明细表(关联记录表的id),明细表记录所有检查项目的数据: 2.1张记录表,n张明细表,分别存储一般项目.内科.外科等检查类别的内容: 请问该怎么设计表结构,便于程序实现,而且表结构清晰?如果有别的方案也可以提出. 解决方案 三张表 一张主表,记录体检总的信息,如体检人等 第二张表为体检类别表,如一般检查.内科

数据库字段设计经验谈

数据库的设计必须符合三个范式(极端要求常用高速时考虑单独设置记录表除外). 用整形代替浮点型float,DECIMAL等,有的语言浮点计算是不精准的,如int存最小单位.金额用分, 重量用克等 Java代码   //价格分   public function getPriceFen($priceFen)   {       return max(intval($priceFen), 1);   }   数据库名称应该由概述项目内容的小写英文名词组成,以下划线分隔单词,避免跨平台时可能出现的大小写