如何设计一个客户信息数据库

如何设计一个客户信息数据库,第1张

一、引言数据对于企业信息化的重要性是不言而喻的。数据库存储着现代企业最重要的数据,包括生产、经营、管理等各类数据,这些数据作为企业的核心信息,通过各类信息系统,为用户提供及时准确的信息,帮助用户分析,为用户提供决策依据。为提高企业的工作效率,提升企业形象,具有传统模式无法比拟的优势。其中构建合理高效的数据库,是数据库建设关键之一。如何构建合理高效的数据库是企业信息化过程要解决的问题。下面就数据库的构建谈谈自己的一些经验,希望能对大家有所帮助。

二、设计数据库之前

数据库并不是凭空想象出来的,而是根据业务部门的需要设计符合业务需求的数据库。因此在形成数据库之前需要充分了解业务需求。1充分理解业务需求。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。在这期间通过与业务部门交流,了解用户的想法以及工作流程,通过双方多次交流,会形成初步的数据模型,当然这时的数据模型不会是最终的模型,还需要和用户进行交流,并且在以后的信息系统开发过程中还会反复修改。2重视输入输出。在定义数据库表和字段需求(输入)时,首先应了解数据产生源和数据流程,也就是必需要知道每个数据在那儿产生,数据在那儿表现,以什么样的形式表现等等,然后根据用户提供的报表或者设计出的报表、查询和视图(输出)以决定为了支持这些输出哪些是必要的表和字段。3创建数据字典和ER图表。ER图表和数据字典可以让任何了解数据库的人都明确如何从数据库中获得数据。ER图对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名。对SQL表达式的文档化来说这是完全必要的。需要注意的是,在需求分析调研过程中,并不是一帆风顺的,因为业务人员对于业务的理解不同,以及对于信息知识的缺乏,会影响需求分析的质量,为了提高质量,各方要用更多的时间交流与相互理解,业务部门需要精通业务的人员自始至终全力配合,而开发人员则尽量使用用户理解的业务术语交流,这样会避免出现理解不同而产生的歧义。三、设计合理的表结构

通常合理的表结构会减少数据冗余,提高数据库的性能。设计合理的表结构要遵循以下两点。1标准化和规范化数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但3NF(第三范式)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF标准的数据库的表设计原则是:某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。表之间的关系通过外键相连接。它具有以下特点:有一组表专门存放通过键连接起来的关联数据。例如:某个存放单井信息及其有关油井生产日报信息的3NF数据库就有两个表:单井基础信息和油井日报信息。日报信息不包含单井的任何信息,但表内会存放一个键值,该键指向单井基础信息里包含该油井信息的那一行。不过也有例外,有时为了效率的缘故,对表不进行标准化也是必要的。2考虑各种变化在设计数据库的时候考虑到哪些数据字段将来可能会发生变更。使数据库更具扩展性,从而减少将来数据变更所带来的损失。例如,日期类型字段,有时我们会考虑使用字符类型代替日期类型,因为在处理日期字段上容易产生数据错误,所以我们就使用字符类型。这样的例子还很多,在做前期设计时都要考虑的。表结构的设计不是一次就能成功的,在信息系统开发过程中会存在数据读取、录入或统计困难,为了解决这些问题会修改表结构,或增加一些字段,或修改一些字段的属性。这个过程不断重复,因此不要想一次能成功。建议使用专门设计工具来做这些工作,笔者经常使用:SYBASE,当然还有其它的工具:ORACLEDesigner2000,ROSE等工具。这样会使你的工作事半功倍。四、选择合理的索引

索引是从数据库中获取数据的最高效方式之一。95%的数据库性能问题都可以采用索引技术得到解决。1逻辑主键使用唯一的成组索引,对系统键(作为存储过程)采用唯一的非成组索引,对任何外键列采用非成组索引。考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用作读写。2大多数数据库都索引自动创建的主键字段,但是可别忘了索引外键,它们也是经常使用的键,比如运行查询显示主表和所有关联表的某条记录就用得上。3不要索引大型字段(有很多字符),这样作会让索引占用太多的存储空间。如MEMO(备注)、TEXT(文本)等字段。4不要索引常用的小型表不要为小型数据表设置任何键,假如它们经常有插入和删除 *** 作就更别这样作了。对这些插入和删除 *** 作的索引维护可能比扫描表空间消耗更多的时间。如代码表,或系统参数表。五、保证数据完整性

数据的完整性非常重要,这关系到数据的准确性,不准确的数据是毫无价值的,因此保证数据的完整性非常重要。1完整性实现机制:实体完整性:主键参照完整性:父表中删除数据:级联删除;受限删除;置空值父表中插入数据:受限插入;递归插入父表中更新数据:级联更新;受限更新;置空值DBMS对参照完整性可以有两种方法实现:外键实现机制(约束规则)和触发器实现机制用户定义完整性:NOTNULL;CHECK;触发器以上完整性机制需要熟悉和掌握,它对于数据的完整性非常重要。2用约束而非业务规则强制数据完整性采用数据库系统实现数据的完整性。这不但包括通过标准化实现的完整性而且还包括数据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。不要依赖于业务层保证数据完整性;它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上。3强制指示完整性在有害数据进入数据库之前将其剔除。激活数据库系统的指示完整性特性。这样可以保持数据的清洁而能迫使开发人员投入更多的时间处理错误条件。4使用查找控制数据完整性控制数据完整性的最佳方式就是限制用户的录入。只要有可能都应该提供给用户一个清晰的价值列表供其选择。这样将减少键入代码的错误和误解同时提供数据的一致性。某些公共数据特别适合查找:性别代码、单位代码等。5采用视图视图是一个虚拟表,其内容由SQL语句定义,视图不仅可以简化用户对数据的理解,也可以简化他们的 *** 作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的 *** 作每次指定全部的条件。另外通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,增强数据的安全性。六、结束语

数据库的高效运行不仅需要技术上的支持,也需要硬件平台和网络的支持以及数据库管理员的有效管理,本文只是从技术的角度说明如何提高数据库的效率,但在实际应用过程中其它方面的支持也是不可缺少的,尤其是数据库管理,数据库建设是“三分技术,七分管理,十二分基础数据”,因此对于数据库管理一定要重视,在管理到位的情况下技术才能发挥应有的作用。

最好可以问你们老师,或者去相应的网站上去查找。如果你离毕业还早的话,可以去考数据库系统工程师。相应的教材和资料都可以买到,而且是国家承认的。不过这只是个证书而已,关键的以后还是要实践。通过准备考试,可以打下扎实的基础,为以后做准备。

另外,数据库其实也比较枯燥,如果你有决心的话,还是不错的工作。关键的在学校还是要先打好基础。

有很多这样的网站,你可以上网去搜索。如果有相应的辅导班,也可以考虑。

数据库系统工程师级考试大纲

一、考试说明

1考试要求

(1)掌握计算机体系结构以及各主要部件的性能和基本工作原理;

(2)掌握 *** 作系统、程序设计语言的基础知识,了解编译程序的基本知识;

(3)熟练掌握常用数据结构和常用算法;

(4)熟悉软件工程和软件开发项目管理的基础知识;

(5)熟悉计算机网络的原理和技术;

(6)掌握数据库原理及基本理论;

(7)掌握常用的大型数据库管理系统的应用技术;

(8)掌握数据库应用系统的设计方法和开发过程;

(9)熟悉数据库系统的管理和维护方法,了解相关的安全技术;

(10)了解数据库发展趋势与新技术;

(11)掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;

(12)了解信息化、计算机应用的基础知识;

(13)正确阅读和理解计算机领域的英文资料。

2 通过本考试的合格人员能参与应用信息系统的规划、设计、构建、运行和管理,能按照用户需求,设计、建立、运行、维护高质量的数据库和数据仓库;作为数据管理员管理信息系统中的数据资源,作为数据库管理员建立和维护核心数据库;担任数据库系统有关的技术支持,同时具备一定的网络结构设计及组网能力;具有工程师的实际工作能力和业务水平,能指导计算机技术与软件专业助理工程师(或技术员)工作。

3 本考试设置的科目包括

(1)信息系统知识,考试时间为150分钟,笔试;

(2)数据库系统设计与管理,考试时间为150分钟,笔试。

二、考试范围

考试科目1:信息系统知识

1 计算机系统知识

11 硬件知识

111 计算机体系结构和主要部件的基本工作原理

·CPU和存储器的组成、性能、基本工作原理

·常用I/O设备、通信设备的性能,以及基本工作原理

·I/O接口的功能、类型和特点

·CISC/RISC,流水线 *** 作,多处理机,并行处理

112 存储系统

·虚拟存储器基本工作原理,多级存储体系

·RAID类型和特性

113 安全性、可靠性与系统性能评测基础知识

·诊断与容错

·系统可靠性分析评价

· 计算机系统性能评测方法

12 数据结构与算法

121 常用数据结构

·数组(静态数组、动态数组)

·线性表、链表(单向链表、双向链表、循环链表)

·栈和队列

·树(二叉树、查找树、平衡树、遍历树、堆)、图、集合的定义、存储和 *** 作

·Hash(存储位置计算、碰撞处理)

122 常用算法

·排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法

·算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表),算法的复杂性

13 软件知识

131 *** 作系统知识

· *** 作系统的类型、特征、地位、内核(中断控制)、进程、线程概念

·处理机管理(状态转换、同步与互斥、信号灯、分时轮转、抢占、死锁)

·存储管理(主存保护、动态连接分配、分段、分页、虚存)

·设备管理(I/O控制、假脱机、磁盘调度)

·文件管理(文件目录、文件的结构和组织、存取方法、存取控制、恢复处理、共享和安全)

·作业管理(作业调度、作业控制语言(JCL)、多道程序设计)

·汉字处理,多媒体处理,人机界面

·网络 *** 作系统和嵌入式 *** 作系统基础知识

· *** 作系统的配置

132 程序设计语言和语言处理程序的知识

· 汇编、编译、解释系统的基础知识和基本工作原理

· 程序设计语言的基本成分:数据、运算、控制和传输,程序调用的实现机制

· 各类程序设计语言的主要特点和适用情况

14 计算机网络知识

·网络体系结构(网络拓扑、OSI/RM、基本的网络协议)

·传输介质,传输技术,传输方法,传输控制

·常用网络设备和各类通信设备

·Client/Server结构、Browser/Server结构、Browser/Web/Datebase结构

·LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接

·因特网基础知识及应用

·网络软件

·网络管理

·网络性能分析

·网络有关的法律、法规

2 数据库技术

21 数据库技术基础

211 数据库模型

·数据库系统的三级模式(概念模式、外模式、内模式),两级映像(概念模式/外模式、外模式/内模式)

·数据库模型:数据模型的组成要素,概念数据模型ER图(实体、属性、关系),逻辑数据模型(关系模型、层次模型、网络模型)

212 数据库管理系统的功能和特征

·主要功能(数据库定义、数据库 *** 作、数据库控制、事务管理、用户视图)

·特征(确保数据独立性、数据库存取、同时执行过程、排它控制、故障恢复、安全性、完整性)

·RDB(关系数据库),OODB(面向对象数据库),ORDB(对象关系数据库),NDB(网状数据库)

·几种常用Web数据库的特点

213 数据库系统体系结构

· 集中式数据库系统

· Client/Server数据库系统

· 并行数据库系统

· 分布式数据库系统

· 对象关系数据库系统

22 数据 *** 作

221 关系运算

·关系代数运算(并、交、差、笛卡儿积、选择、投影、连接、除)

·元组演算

·完整性约束

222 关系数据库标准语言(SQL)

·SQL的功能与特点

·用SQL进行数据定义(表、视图、索引、约束)

·用SQL进行数据 *** 作(数据检索、数据插入/删除/更新、触发控制)

·安全性和授权

·程序中的API,嵌入SQL

23 数据库的控制功能

·数据库事务管理(ACID属性)

·数据库备份与恢复技术(UNDO、REDO)

·并发控制

24 数据库设计基础理论

241 关系数据库设计

·函数依赖

·规范化(第一范式、第二范式、第三范式、BC范式、第四范式、第五范式)

·模式分解及分解应遵循的原则

242 对象关系数据库设计

·嵌套关系、 复杂类型,继承与引用类型

·与复杂类型有关的查询

·SQL中的函数与过程

·对象关系

25 数据挖掘和数据仓库基础知识

·数据挖掘应用和分类

·关联规则、聚类

·数据仓库的成分

·数据仓库的模式

26 多媒体基本知识

261 多媒体技术基本概念

·多媒体系统基础知识

·常用多媒体文件格式

262 多媒体压缩编码技术

·多媒体压缩编码技术

·统计编码

·预测编码

·编码的国际标准

263多媒体技术应用

·简单图形的绘制,图像文件的处理方法

·音频和视频信息的应用

·多媒体应用开发过程

27 系统性能知识

·性能计算(响应时间、吞吐量、周转时间)

·性能指标和性能设计

·性能测试和性能评估

28 计算机应用基础知识

·信息管理、数据处理、辅助设计、科学计算,人工智能等基础知识

·远程通信服务及相关通信协议基础知识

3 系统开发和运行维护知识

31 软件工程、软件过程改进和软件开发项目管理知识

·软件工程知识

·软件开发生命周期阶段目标和任务

·软件开发项目基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具

·主要的软件开发方法(生命周期法、原型法、面向对象法、CASE)

·软件开发工具与环境知识

·软件质量管理基础知识

·软件过程改进基础知识

·软件开发过程评估、软件能力成熟度评估的基础知识

32 系统分析基础知识

·系统分析的目的和任务

·结构化分析方法(数据流图(DFD)和数据字典(DD),实体关系图(ERD),描述加工处理的结构化语言)

·统一建模语言(UML)

·系统规格说明书

33 系统设计知识

·系统设计的目的和任务

·结构化设计方法和工具(系统流程图、HIPO图、控制流程图)

·系统总体结构设计(总体布局,设计原则,模块结构设计,数据存取设计,系统配置方案)

·系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计)

·系统设计说明书

34 系统实施知识

·系统实施的主要任务

·结构化程序设计、面向对象程序设计、可视化程序设计

·程序设计语言的选择、程序设计风格

·系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)

·测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试试用例设计、系统测试报告)

·系统转换基础知识

35 系统运行和维护知识

·系统运行管理知识

·系统维护知识

·系统评价知识

4 安全性知识

·安全性基本概念(网络安全、 *** 作系统安全、数据库安全)

·计算机病毒的防治,计算机犯罪的防范,容灾

·访问控制、防闯入、安全管理措施

·加密与解密机制

·风险分析、风险类型、抗风险措施和内部控制

5标准化知识

·标准化意识,标准化的发展,标准出台过程

·国际标准、国家标准、行业标准、企业标准基本知识

·代码标准、文件格式标准、安全标准软件开发规范和文档标准

·标准化机构

6信息化基础知识

·信息化意识

·全球信息化趋势、国家信息化战略、企业信息化战略和策略

·有关的法律、法规

·远程教育、电子商务、电子政务等基础知识

·企业信息资源管理基础知识

7计算机专业英语

·掌握计算机技术的基本词汇

·能正确阅读和理解计算机领域的英文资料

考试科目2:数据库系统设计与管理

1数据库设计

11理解系统需求说明

·了解用户需求、确定系统范围

·确定应用系统数据库的各种关系

·现有环境与新系统环境的关系

·新系统中的数据项、数据字典、数据流

12 系统开发的准备

·选择开发方法,准备开发环境,制订开发计划

13 设计系统功能

·选择系统机构,设计各子系统的功能和接口,设计安全性策略、需求和实现方法,制定详细的工作流和数据流

14 数据库设计

141 设计数据模型

·概念结构设计(设计ER模型)

·逻辑结构设计(转换成DBMS所能接收的数据模型)

·评审设计

142 物理结构设计

·设计方法与内容

·存取方法的选择

·评审设计与性能预测

143 数据库实施与维护

·数据加载与应用程序调试

·数据库试运行

·数据库运行与维护

144 数据库的保护

·数据库的备份与恢复

·数据库的安全性

·数据库的完整性

·数据库的并发控制

15 编写外部设计文档

·编写系统说明书(系统配置图、各子系统关系图、系统流程图,系统功能说明、输入输出规格说明、数据规格说明、用户手册框架)

·设计系统测试要求

16 设计评审

2 数据库应用系统设计

21 设计数据库应用系统结构

·信息系统的架构(如Client/Server)与DBMS

·多用户数据库环境(文件服务器体系结构、Client/Server体系结构)

·大规模数据库和并行计算机体系结构(SMP、MPP)

·中间件角色和相关工具

·按构件分解,确定构件功能规格以及构件之间的接口

22 设计输入输出

·屏幕界面设计,设计输入输出检查方法和检查信息

·数据库交互与连接(掌握C程序设计语言,以及Java、Visual Basic、Visual C++、PowerBuilder、Delphi中任一种开发工具与数据库互连的方法(如何与数据库服务器沟通))

23 设计物理数据

·分析事务在数据库上运行的频率和性能要求,确定逻辑数据组织方式、存储介质,设计索引结构和处理方式

·将逻辑数据结构变换成物理数据结构,计算容量(空间代价),确定存取方法(时间效率)、系统配置(维护代价)并进行优化

24 设计安全体系

·明确安全等级

·数据库的登录方式

·数据库访问

·许可(对象许可、命令许可、授权许可的方法)

25 应用程序开发

251 应用程序开发

·选择应用程序开发平台

·系统实施顺序

·框架开发

·基础小组的程序开发

·源代码控制

·版本控制

252 模块划分(原则、方法、标准)

253 编写程序设计文档

·模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述)

·测试要求说明书(测试类型和目标,测试用例,测试方法)

254 程序设计评审

26 编写应用系统设计文档

·系统配置说明、构件划分图、构件间的接口、构件处理说明、屏幕设计文档、报表设计文档、程序设计文档、文件设计文档、数据库设计文档

27 设计评审

3 数据库应用系统实施

31 整个系统的配置与管理

32 常用数据库管理系统的应用(SQL Server、Oracle、Sybase、DB2、Access或Visual Foxpro)

·创建数据库

·创建表、创建索引、创建视图、创建约束、创建UDDT(用户自定义类型)

·创建和管理触发器

·建立安全体系

33 数据库应用系统安装

·拟定系统安装计划(考虑费用、客户关系、雇员关系、后勤关系和风险等因素)

·拟定人力资源使用计划(组织机构安排的合理性)

·直接安装(安装新系统并使系统快速进入运行状态)

·并行安装(新旧系统并行运行一段时间)

·阶段安装(经过一系列的步骤和阶段使新系统各部分逐步投入运行)

34 数据库应用系统测试

·拟定测试目标、计划、方法与步骤

·数据加载,准备测试数据

·指导应用程序员进行模块测试进行验收

·准备系统集成测试环境测试工具

·写出数据库运行测试报告

35 培训与用户支持

4数据库系统的运行和管理

41 数据库系统的运行计划

·运行策略的确定

·确定数据库系统报警对象和报警方式

·数据库系统的管理计划(执行,故障/恢复,安全性,完整性,用户培训和维护)

42 数据库系统的运行和维护

·新旧系统的转换

·收集和分析报警数据(执行报警、故障报警、安全报警)

·连续稳定的运行

·数据库维护(数据库重构、安全视图的评价和验证、文档维护)

·数据库系统的运行统计(收集、分析、提出改进措施)

·关于运行标准和标准改进一致性的建议

·数据库系统的审计

43 数据库管理

·数据字典和数据仓库的管理

·数据完整性维护和管理(实体完整性、参照完整性)

·数据库物理结构的管理(保证数据不推迟访问)

·数据库空间及碎片管理

·备份和恢复(顺序、日志(审计痕迹)、检查点)

·死锁管理(集中式、分布式)

·并发控制(可串行性、锁机制、时间戳、优化)

·数据安全性管理(加密、安全、访问控制、视图、有效性确认规则)

·数据库管理员(DBA)职责

44 性能调整

·SQL语句的编码检验

·表设计的评价

·索引的改进

·物理分配的改进

·设备增强

·数据库性能优化

45 用户支持

·用户培训

·售后服务

5 SQL

51 数据库语言

·数据库语言的要素

·数据库语言的使用方式(交互式和嵌入式)

52 SQL概述

·SQL语句的特征

·SQL语句的基本成分

53 数据库定义

·创建数据库(Create Datebase)、创建表(Create Table)

·定义数据完整性

·修改表(Alter Table)、删除表(Drop Table)

·定义索引(Create Index)、删除索引(Drop Index)

·定义视图(Create View)、删除视图(Drop View)、更新视图

54 数据 *** 作

·Select语句的基本机构

·简单查询

·SQL中的选择、投影

·字符串比较,涉及空值的比较

·日期时间,布尔值,输出排序

·多表查询

·避免属性歧义

·SQL中的连接、并、交、差

·SQL中的元组变量

·子查询

55 完整性控制与安全机制

·主键(Primary Key)约束

·外键(Foreign Key)约束

·属性值上的约束(Null、Check、Create Domain)

·全局约束(Create Assertions)

·权限、授权(Grant)、销权(Revoke)

56 创建触发器(Create Trigger)

57 SQL使用方式

·交互式SQL

·嵌入式SQL

·SQL与宿主语言接口(Declare、共享变量、游标、卷游标)

·动态SQL

·API

58 SQL 标准化

6 网络环境下的数据库

61 分布式数据库

611 分布式数据库的概念

·分布式数据库的特点与目标

612 分布式数据库的体系结构

·分布式数据库的模式结构

·数据分布的策略(数据分片、分布透明性)

·分布式数据库管理系统

613 分布式查询处理和优化

614 分布式事务管理

·分布式数据库的恢复(故障、恢复、2段提交、3段提交)

·分布式数据库的透明性(局部、分裂、复制、处理、并发、执行)

615 分布式数据库系统的应用

62 网络环境下数据库系统的设计与实施

·数据的分布设计

·负载均衡设计

·数据库互连技术

63 面向Web的DBMS技术

·三层体系结构

·动态Web网页

·ASP、JSP、XML的应用

7数据库的安全性

71 安全性策略的理解

·数据库视图的安全性策略

·数据的安全级别(最重要的、重要的、注意、选择)

72 数据库安全测量

·用户访问控制(采用口令等)

·程序访问控制(包含在程序中的SQL命令限制)

·表的访问控制(视图机制)

·控制访问的函数和 *** 作

·外部存储数据的加密与解密

8 数据库发展趋势与新技术

81 面向对象数据库(OODBMS)

811 OODBMS的特征

812 面向对象数据模型

·对象结构、对象类、继承与多重继承、对象标识、对象包含、对象嵌套

813 面向对象数据库语言

814 对象关系数据库系统(ORDBMS)

·嵌套关系

·复杂类型

·继承、引用类型

·与复杂类型有关的查询

·函数与过程

·面向对象与对象关系

·ORDBMS应用领域

82 企业资源计划(ERP)和数据库

821 ERP概述

·基本MRP(制造资源计划)、闭环MRP、ERP

·基本原理、发展趋势

·ERP设计的总体思路(一个中心、两类业务、三条干线)

822 ERP与数据库

·运行数据库与ERP数据模型之间的关系

·运行数据库与ERP数据库之间的关系

823 案例分析

83 决策支持系统的建立

·决策支持系统的概念

·数据仓库设计

·数据转移技术

·联机分析处理(OLAP)技术

·企业决策支持解决方案

·联机事务处理(OLTP)

设计一个数据库需要我们耐心收集和分析数据,仔细理清数据间的关系,消除对数据库应用不利的隐患等等。在整个设计过程中,我们必须按步骤认真完成。一个数据库的设计好坏将直接影响将来基于该数据库的应用。

另外,数据库也不是独立存在的,它总是与具体的应用相关的,为具体的应用而建立的。因此在设计数据库之前我们必须明确应用的目的,在设计数据库的时候也应时刻考虑用户需求,数据库与具体应用之间是相辅相成的关系。

数据库的设计过程一般包括以下几个步骤:

确定建立数据库的目的和收集数据;

建立概念模型;

建立数据模型;

实施与维护数据库;

1.确定建立数据库的目的和收集数据

数据库设计过程的第一个阶段是确定建立数据库的目的和收集数据。通常,我们也把确定建立数据库的目的称为需求分析。需求分析的任务就是通过详细调查要处理的对象来明确用户的各种需求。并且通过调查、收集和分析信息,以了解在数据库中需要存储哪些数据,要完成什么样的数据处理功能。这一过程是数据库设计的起点,它将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。

确定目的之后就需要根据目的收集有用的数据。在着手收集数据之前最重要的就是要调查用户的实际需求,然后分析与表达这些需求。调查用户需求的方法有很多,如查阅记录、访谈、开调查会、设计调查表请用户填写或回答相关问题等。其中比较有效的方法是访谈,我们可以借助一些设计合理的调查表来与用户直接交流。通过充分交流,可以了解他们平时是如何使用数据库的,以及对当前信息的要求,进而设计满足用户需求的字段,并根据设计的字段收集数据。

2.建立概念模型

确定建立数据库的目的以及完成数据收集后,就进入数据库设计过程的第二阶段——建立概念模型。这一阶段是整个数据库设计的关键。设计时,一般先根据应用的需求,画出能反映每个应用需求的E-R图,其中包括确定实体、属性和联系的类型。然后优化初始的E-R图,消除冗余和可能存在的矛盾。概念模型是对用户需求的客观反映,并不涉及具体的计算机软、硬件环境。因此,在这一阶段中我们必须将注意力集中在怎样表达出用户对信息的需求,而不考虑具体实现问题。

3.建立数据模型

完成上一阶段后,我们得到了一个与具体计算机软、硬件无关的概念模型。接着我们就可以着手建立数据库模型了,这是数据库设计过程的第三个阶段。在这一阶段中我们要将概念模型中得到的E-R图转换成具体的数据模型。通过前面的学习,我们已经了解到数据模型一般分为层次、网状、关系和面向对象模型等。目前比较常用的是关系数据模型,我们通常将E-R图转换成关系数据模型,实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式。

4.实施与维护数据库

最后一个阶段是实施与维护数据库。完成数据模型的建立后,我们就必须对字段进行命名,确定字段的类型和宽度,并利用数据库管理系统或数据库语言创建数据库结构、输入数据和运行等,因此数据库的实施是数据库设计过程的“最终实现”。如果数据库运行很成功,则表明数据库设计任务基本结束,以后的重点就是数据库的维护工作,包括做好备份工作、数据库的安全性和完整性调整、改善数据库性能等。

数据库的设计在数据库应用系统的开发中占有很重要的地位。只有设计出合理的数据库,才能为建立在数据库上的应用提供方便。不过数据库的设计过程从来都不会有真正的结束,因为随着用户需求和具体应用的变化和扩大,数据库的结构也可能会随之变化。

数据库基本的功能:

信息浏览和查询;

信息的修改、添加和删除;

信息的统计、汇总等。

设计数据库时要注意保留以下内容:

设计文档、内容 *** 作说明,实例数据库、帮助及过程性文件(如下载的资源、工作日志)等。

以上就是关于如何设计一个客户信息数据库全部的内容,包括:如何设计一个客户信息数据库、谁能给我一个数据仓库和数据挖掘案例的详细设计文档、谈谈与数据库设计步骤相关的话题( 1 ) 同学们已学习完“项目一-需求分析”模等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9724300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存