当前位置:首页 » 数据仓库 » 开发数据库的思路
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

开发数据库的思路

发布时间: 2022-09-19 11:28:14

❶ 用VB做一个数据库该怎么做给点思路 或者从哪下手

大致有以下几步:读取文件 -- 格式化数据 -- 关闭文件 -- 使用数据如果数据量较大,需要进行筛选,且存放数据的源文件可能不定时变更,那么我们可以用一个临时文件来存放有用的数据,这样可大大提高程序的效率.要 [格式化数据]时,我们首先要进行筛选,然后还得进行分类,这样文件中的字符串才能被转换成有用的信息来供程序使用.这样一来,不用说,处理速度将大大减慢,而且就算你设计的数据格式比较科学,当数据量非常大时,文件的容量也会变的让普通计算机无法承受. 相对文本文件来说数据库的使用也大致分为以下几步:打开数据库 -- 查找数据 -- 使用数据 -- 关闭数据库从中可以看出,里面少了一步格式化数据,因为数据库本身在存储数据时,它就是按照一定的格式来进行存储的. 其次是,数据库与文本文件返回数据的方法不同.如果把文本文件比作一个Textbox 的话,那么数据库更像是一个ListBox.使用文本文件时我们需要从整个Textbox中取出有用的信息,并进行处理,而Listbox则可以根据需要返回特定的某一项.由于VB本身并不带有可以访问数据库的类,所以我们需要引用一个包含能访问数据库的类来使用数据库.这里我们采用ADODB,相比DAO和能访问数据库的API来说,它比DAO更灵活,更强大;而比起API,它更简单易用,更适合初学者.而Access数据库比起sql,也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了Access.就像使用文本文件来存储数据一样,我们需要先设计好数据结构,只不过在设计Access数据库的结构时,我们需要用到其它的程序来进行详细的规划.建议采用的程序是office中的Access或VB自带的VISDATA.当数据库设计好了以后,我们可以开始"数据库编程"了.首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Data Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access的同时,也能识别较新版本的Access.然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Recordset.创建这两个对象的具体方法是:1.在引用后,使用New关键字,如 Private Conn As New ADODB.Connection Private Reco As New ADODB.Recordset2.在没引用时,用CreateObject创建对象: Dim Conn,Reco Set Conn = CreateObject("ADODB.Connection") Set Reco = CreateObject("ADODB.Recordset")创建了对象之后,下一步我们要做的就是打开数据库了.先看下面的代码,可以成功的打开数据库. Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb" 这句代码打开了D盘中的Main.mdb这个数据库. Connection.Open方法的第一个参数是连接代码,它将传递给系统的数据库引擎.前半部分"Provider= Microsoft.Jet.OLEDB.4.0",它表示了数据库的类型.不同的数据库可能会不同.后半句"Source=d:\main.mdb"它表示了数据库所在的绝对路径.打开数据库之后,还要打开表.假如数据库中有一个表,表名为"Users",字段有两个,一个为用户名,一个为密码.那么看以下代码.1.想返回"Users"中,[用户名]为"去年烟花"的[密码] Recordset.open "Select 密码 From Users Where 用户名='去年烟花'",Connection,1,1 之后我们就可以把用户输入的密码进行比较,看是否允许登录. If Recordset.eof and Recordset.bof then Msgbox "用户不存在!",16 Else If PassWord =Recordset("密码").value then msgbox "登录成功!",64 Else msgbox "密码错误!",32 End If End If Recordset.Close2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来 Recordset.open "Select * From Users",Connection,1,1 这时,表已经被打开,我们就用以下代码把它显示出来. Do whlie Not Recordset.eof Print "用户名: " & Recordset("用户名").value & "密码: " & Recordset("密码").value Recordset.MoveNext Loop Recordset.Close由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是SQL语句.Select [字段名] From 表名 [Where 条件]这里的条件可以省略.且字段名也可以用"*"来代替所有字段.需要注意的是,如果你用(1)中的方法打开,那么(2)后面显示的代码就不能再用在(1)中.因为(1)里并没有打开[用户名]字段,所以这一句Recordset("密码")就没有值存在,还有可能出错.后面的条件,可以用"="、">"、"<"等运算符.比如 "Where ID > 32".(这里假设[ID]为数字型.) 这是打开的部分.第二个很重要的部分就是查询记录.数据库它并不是把所有记录全部放到一个变量中备用的.而是以"当前记录"的形式来返回一个值.所以我们想从中找到有用的信息,就必须要对信息进行定位/筛选.定位: 移动到下一条 Recordset.MoveNext 移动到上一条 Recordset.MovePrevious 移动到最后一条 Recordset.MoveLast 移动到第一条 Recordset.MoveFrist 移动到某一条 Recordset.Move Number筛选: Recordset.Find "条件"如:[用方法(2)打开表之后] Private Sub Command1_Click() Recordset.Find "用户名=" & "text1.text" If Recordset.Eof <> True Then Msgbox "该用户的密码是:" & Recordset("密码").value,64 Else Msgbox "未找到该用户的资料!",16 End If End SubMoveNext 只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为True时.... 而只要Eof 和 Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用. Find 方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.找到则当前的值就是符合条件的记录. 第三个部分就是添加/修改记录. 修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了. 比如:[(修改密码)按方法(1)打开表之后] Recordset("密码").value = "123456" Recordset.Updata 需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.而添加记录则可以用以下代码来实现: Recordset.addnew Recordset("用户名").value = "Admin" Recordset("密码").value = "Admin" Recordset.Updata这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.到这里就差不多了,最后说一下上面提到的几个方法.Recordset.Open SQL语句,数据源,游标类型,打开方法SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据 数据源就是一个打开之后的Connection对象. 去他妈的游标类型,填1就可以了 [偷笑ing] 打开方法对应了几个常数,具体哪几个可以从对象浏览器里看. 对应数值的意义: 1 只读 2 独占 3 可写 4 自已可写,别人可读Connection.open 连接代码,服务器用户名,密码 这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到.

❷ 开发一个完整的数据库系统具体的流程是什么

一:表中应该避免可为空的列; 二:表不应该有重复的值或者列; 三: 表中记录应该有一个唯一的标识符 在数据库表设计的时候,数据库管理员应该养成一个好习惯,用一个ID号来 唯一的标识行记录,而不要通过名字、编号等字段来对纪录进行区分。每个表都应该有一个ID列,任何两个记录都不可以共享同一个ID值。另外,这个ID值最 好有数据库来进行自动管理,而不要把这个任务给前台应用程序。否则的话,很容易产生ID值不统一的情况。 另外,在数据库设计的时候,最好还能 够加入行号。如在销售订单管理中,ID号是用户不能够维护的。但是,行号用户就可以维护。如在销售订单的行中,用户可以通过调整行号的大小来对订单行进行 排序。通常情况下,ID列是以1为单位递进的。但是,行号就要以10为单位累进。如此,正常情况下,行号就以10、20、30依次扩展下去。若此时用户需 要把行号为30的纪录调到第一行显示。此时,用户在不能够更改ID列的情况下,可以更改行号来实现。如可以把行号改为1,在排序时就可以按行号来进行排 序。如此的话,原来行号为30的纪录现在行号变为了1,就可以在第一行中显示。这是在实际应用程序设计中对ID列的一个有效补充。这个内容在教科书上是没 有的。需要在实际应用程序设计中,才会掌握到这个技巧。 四:数据库对象要有统一的前缀名 一个比较复杂的应用系统,其对应的数据库表往往以千计。若让数据库管理员看到对象名就了解这个数据库对象所起的作用,恐怕会比较困难。而且在数据库对象引用的时候,数据库管理员也会为不能迅速找到所需要的数据库对象而头疼。 为此,笔者建立,在开发数据库之前,最好能够花一定的时间,去制定一个数据库对象的前缀命名规范。如笔者在数据库设计时,喜欢跟前台应用程序协商,确定 合理的命名规范。笔者最常用的是根据前台应用程序的模块来定义后台数据库对象前缀名。如跟物料管理模块相关的表可以用M为前缀;而以订单管理相关的,则可 以利用C作为前缀。具体采用什么前缀可以以用户的爱好而定义。但是,需要注意的是,这个命名规范应该在数据库管理员与前台应用程序开发者之间达成共识,并 且严格按照这个命名规范来定义对象名。 其次,表、视图、函数等最好也有统一的前缀。如视图可以用V为前缀,而函数则可以利用F为前缀。如此数据库管理员无论是在日常管理还是对象引用的时候,都能够在最短的时间内找到自己所需要的对象。 五:尽量只存储单一实体类型的数据 这里将的实体类型跟数据类型不是一回事,要注意区分。这里讲的实体类型 是指所需要描述对象的本身。笔者举一个例子,估计大家就可以明白其中的内容了。如现在有一个图书馆里系统,有图书基本信息、作者信息两个实体对象。若用户 要把这两个实体对象信息放在同一张表中也是可以的。如可以把表设计成图书名字、图书作者等等。可是如此设计的话,会给后续的维护带来不少的麻烦。 如当后续有图书出版时,则需要为每次出版的图书增加作者信息,这无疑会增加额外的存储空间,也会增加记录的长度。而且若作者的情况有所改变,如住址改变 了以后,则还需要去更改每本书的记录。若这个作者的图书从数据库中全部删除之后,这个作者的信息也就荡然无存了。很明显,这不符合数据库设计规范化的需 求。 遇到这种情况时,笔者建议可以把上面这张表分解成三种独立的表,分别为图书基本信息表、作者基本信息表、图书与作者对应表等等。如此设计以后,以上遇到的所有问题就都引刃而解了。

❸ 数据库的开发流程是什么

这是一个非常复杂的问题。建议这位网友去看看有关软件工程的书籍。当然,看书是一件非常烦闷的事情,在这,尽管试试将我的经验写一点吧。
首先,要明确你要做一个什么系统。想达到什么目的。想怎样去使用。有了明确的目标后,便要开始计划整个数据库系统该怎样去做。
第二,是选择数据库后台。数据库是保存数据的工具,可以理解为保存数据的一个大仓库,它把你所需要的数据全部保存起来。但要怎样使用这些数据,使之可以根据你的需要显示出来,那就不是数据库的责任了,这就需要程序来实现了。不同的数据库后台各有优点缺点,不可一概而论哪个好哪个差,要看系统实际来斟酌。即是说,确定目标后就需要选择数据库。
第三,确定后台数据库的内容,即确定数据结构。既然整个数据库等于一个大仓库,此时就要把仓库划分成一个个区域,用于保存不同类别的东西。这就是确定数据表及每个表的字段及各字段的数据类型。这是非常巨大的工作,你需要把有可能使用到的内容都设计到你的数据表中,以便以后可以保存及调用数据。还要想到表与表的关系,字段与字段的关系。好的数据结构会使到整个程序设计方便、科学、全面。这些内容,必须去查看相关书籍,同时不断积累经验,并非三言两语可以说得清楚了。
第四,选择合适的前台开发工具。对于后台数据库的操作,目前常用的前台开发工具基本都可以与之相连并对之操作,但是不同的开发语言有各自的长处。选择哪一种语言并不太重要,最重要是看你是否愿意一心一意钻研下去。对于初学者,什么语言都是一样的,就如小孩子学语言,学中英意日其实都一样容易,也一样难。
第五,当清楚数据库后台和开发前台的特性与功能后,就可以开始规划系统的流程了。一般可以根据系统功能先将其划分为几大功能模块,然后再细分为各个细功能模块,然后对于各个功能模块进行设计。一般流程可以是这样的:
1、设计流程图。把整个功能用流程的方式显示出来,让自己的思路清楚地记录在流程图上,这样可以轻易地模拟模块的运算过程,查找出不合理的地方进行修改。
2、编写程序。确定流程合理无误后,便可以开发进行程序的编写。由于现时硬件的强大,对语句的要求已经不再强调。只要可以达到目的,就可以了。
第六,试运行程序。完成一个功能后,可以试运行,输入数据进行测试,不断修改,最后达到完全无误。
第七,测试。完成程序后,就要进行全面的测试。一般来说,自己是找不到自己的错误的。明知是错就不会写进去,所以我喜欢找别人来为我测试。让别人去用,而且是让别人随便地用,不一定按自己所说的操作方法去用。这样最容易找到程序中的错误。
第八,不断地修改。不断修改程序,使其所有的漏洞都改正过来。
第九,编译。程序确认无误后,就可以进行编译。
第十,投入使用。

其实我所写的并不能回答这个问题,完全解答这个问题,最后还是去学习一下软件工程。不看书总是不行的。希望可以为你带来一点点帮助吧。

❹ 在系统设计中,对数据库的设计应考虑哪些设计原则

数据库是整个软件应用的根基,是软件设计的起点,它起着决定性的质变作用,因此我们必须对数据库设计高度重视起来,培养设计良好数据库的习惯,是一个优秀的软件设计师所必须具备的基本素质条件!
那么我们要做到什么程度才是对的呢?下面就说说数据库设计的原则:
1、数据库设计最起码要占用整个项目开发的40%以上的时间
数据库是需求的直观反应和表现,因此设计时必须要切实符合用户的需求,要多次与用户沟通交流来细化需求,将需求中的要求和每一次的变化都要一一体现在数据库的设计当中。如果需求不明确,就要分析不确定的因素,设计表时就要事先预留出可变通的字段,正所谓“有备无患”。
2、数据库设计不仅仅停留于页面demo的表面
页面内容所需要的字段,在数据库设计中只是一部分,还有系统运转、模块交互、中转数据、表之间的联系等等所需要的字段,因此数据库设计绝对不是简单的基本数据存储,还有逻辑数据存储。
3、数据库设计完成后,项目80%的设计开发在你脑海中就已经完成了
每个字段的设计都是有他必要的意义的,你在设计每一个字段的同时,就应该已经想清楚程序中如何去运用这些字段,多张表的联系在程序中是如何体现的。换句话说,你完成数据库设计后,程序中所有的实现思路和实现方式在你的脑海中就已经考虑过了。如果达不到这种程度,那当进入编码阶段后,才发现要运用的技术或实现的方式数据库无法支持,这时再改动数据库就会很麻烦,会造成一系列不可预测的问题。
4、数据库设计时就要考虑到效率和优化问题
一开始就要分析哪些表会存储较多的数据量,对于数据量较大的表的设计往往是粗粒度的,也会冗余一些必要的字段,已达到尽量用最少的表、最弱的表关系去存储海量的数据。并且在设计表时,一般都会对主键建立聚集索引,含有大数据量的表更是要建立索引以提供查询性能。对于含有计算、数据交互、统计这类需求时,还要考虑是否有必要采用存储过程。
5、添加必要的(冗余)字段
像“创建时间”、“修改时间”、“备注”、“操作用户IP”和一些用于其他需求(如统计)的字段等,在每张表中必须都要有,不是说只有系统中用到的数据才会存到数据库中,一些冗余字段是为了便于日后维护、分析、拓展而添加的,这点是非常重要的,比如黑客攻击,篡改了数据,我们便就可以根据修改时间和操作用户IP来查找定位。
6、设计合理的表关联
若多张表之间的关系复杂,建议采用第三张映射表来关联维护两张表之间的关系,以降低表之间的直接耦合度。若多张表涉及到大数据量的问题,表结构尽量简单,关联也要尽可能避免。
7、设计表时不加主外键等约束性关联,系统编码阶段完成后再添加约束性关联
这样做的目的是有利于团队并行开发,减少编码时所遇到的问题,表之间的关系靠程序来控制。编码完成后再加关联并进行测试。不过也有一些公司的做法是干脆就不加表关联。
8、选择合适的主键生成策略

❺ 经济管理数据库建设和信息系统开发的总体构想

一、经济管理数据库建设的总体目标

1.数据库基本原理

(1)数据库概念。数据库是用来存储信息或数据的机制。在数据库中,用户可以按照特定的方式存储数据,一旦数据被存储在数据库中,用户可以方便查询这些信息,同时,用户也可以设定一定条件来查询所需要的信息。

在数据库中,表是数据物理存储的最主要、最基本的单位。用户访问数据库时,通常是从表中查询所需要的数据,数据库可以由多张表组成,但这些表之间存在着一定关系。

(2)数据库设计。在数据库设计工作全面开展之前,设计人员必须花一些时间来理解数据所涉及到的工作过程和工作内容,主要包括工作的实体、数据以及规则,并且把这些业务属性转换为业务模型,这些工作就是数据库设计过程,其包括3个基本阶段:第一,需求信息的惧阶段;第二,数据建模阶段;第三,数据库设计和规范化阶段。

2.经济管理数据库建设的总体目标

中央公益性地质调查队伍经济管理数据库建设的总体目标是:建立中央公益性地质调查队伍预算(含绩效)管理数据库、财务信息数据库、综合统计数据库,并进行数据跟踪更新,见图11-1。以这3个数据为基础,根据工作需要建立综合分析数据库,为用户提供基础资料和数据。

图11-1 中央公益性地质调查队伍经济管理数据库建设的总体目标

二、经济管理信息系统开发的总体思路

1.管理信息系统

(1)概念。经济管理信息系统是以数据为为中心,在实施方案阶段,完成经济管理数据处理、常规化的管理工作。它完成经济管理大多数数据的收集、加工和存储,是经济管理的信息源,是经济管理信息系统的基础。这与经济管理工作中紧密相关,因此该类系统的开发受实际工作的管理模式、运作模式、管理过程和职能的影响。

(2)特征。管理信息系统主要特征是人机系统特征,主要反映在系统的人机分工及系统如何构建、运行和评价等方面。人机系统主要是要求系统在人与计算机之间应该有个合理的分工,能让计算机完成的工作应尽量由计算机来完成,但某些不可预见因素的制约,可以让有些信息处理由人工来完成。

管理系统的人机特点,影响着系统开发者和系统用户的知识结构,“以计算中为基础”要求系统的开发者必须具备计算机及其在信息处理中应用的知识,要求开发者应了解人作为系统组成部分的能力以及人作为信息使用者的各种行为。

(3)经济管理信息系统开发的总体思路。中央公益性地质调查队伍经济管理信息系统是由若干个子系统组成,各子系统具有自己本身的经济管理功能,具体涉及经济管理某方面,但它们之间又相互联系,通过共同的数据结构模式,实现数据信息的共享。

经济管理信息系统开发的总体思路是确定中央公益性地质调查队伍经济管理的需求,把这些需求分解成若干个下一级需求,按照需求分别开发子系统,以预算管理信息系统、财务信息系统和综合统计管理信息系统为基础,逐渐开发各种综合分析系统群,见图11-2。

图11-2 中央公益性地质调查队伍经济管理信息系统

三、经济管理信息系统的功能

经济管理信息系统的功能是使用户通过可以完成各种工作,例如数据的处理、管理过程的实现等。

按经济管理的内容不同,可以分为多个管理子系统,且各种子系统所组成的要素不同,管理的重点也不同,因此系统的功能也不同。但每个子系统都专门为管理某方面而开发,其功能具有专属性。

❻ 我要开发一个小型的数据库应该怎样做

简单的小型的就用access 做就足够了,按照你上面的内容,先做好数据库的表,字段就用英文的,然后还可以标注中文的,这样你就不会混淆了。
如果再大一点的话,就用sql server 来做,刚开始是有点难度,不过时间长了,就不难了,希望你成功。

❼ 谁能提供一下财务软件数据库设计的思路

是用什么数据库开发呢?SQL或者ACCESS呢!其实原理也是一样的,只不过在设计时会不同。
再设计数据库之前先做好系统功能模块的分析,具体结构分析,然后开始画ER图,确定需要用到实体与属性。最后建表,搞触发器、存储过程等等。

财务数据最重要我觉得是报表的统计!建设你上网下载一个财务软件,分析它的功能,从中吸取经验再分析你的软件要达到什么功能,最后就可以设计数据库了。

❽ 说明在设计数据库表时你是如何考虑的

数据库是整个软件应用的根基,是软件设计的起点,它起着决定性的质变作用,因此我们必须对数据库设计高度重视起来,培养设计良好数据库的习惯,是一个优秀的软件设计师所必须具备的基本素质条件! 那么我们要做到什么程度才是对的呢?下面就说说数据库设计的原则: (1)、数据库设计最起码要占用整个项目开发的40%以上的时间

数据库是需求的直观反应和表现,因此设计时必须要切实符合用户的需求,要多次与用户沟通交流来细化需求,将需求中的要求和每一次的变化都要一一体现在数据库的设计当中。如果需求不明确,就要分析不确定的因素,设计表时就要事先预留出可变通的字段,正所谓“有备无患”。 (2)、数据库设计不仅仅停留于页面demo的表面 页面内容所需要的字段,在数据库设计中只是一部分,还有系统运转、模块交互、中转数据、表之间的联系等等所需要的字段,因此数据库设计绝对不是简单的基本数据存储,还有逻辑数据存储。 (3)、数据库设计完成后,项目80%的设计开发在你脑海中就已经完成了 每个字段的设计都是有他必要的意义的,你在设计每一个字段的同时,就应该已经想清楚程序中如何去运用这些字段,多张表的联系在程序中是如何体现的。换句话说,你完成数据库设计后,程序中所有的实现思路和实现方式在你的脑海中就已经考虑过了。如果达不到这种程度,那当进入编码阶段后,才发现要运用的技术或实现的方式数据库无法支持,这时再改动数据库就会很麻烦,会造成一系列不可预测的问题。 (4)、数据库设计时就要考虑到效率和优化问题 一开始就要分析哪些表会存储较多的数据量,对于数据量较大的表的设计往往是粗粒度的,也会冗余一些必要的字段,已达到尽量用最少的表、最弱的表关系去存储海量的数据。并且在设计表时,一般都会对主键建立聚集索引,含有大数据量的表更是要建立索引以提供查询性能。对于含有计算、数据交互、统计这类需求时,还要考虑是否有必要采用存储过程。 (5)、添加必要的(冗余)字段 像“创建时间”、“修改时间”、“备注”、“操作用户IP”和一些用于其他需求(如统计)的字段等,在每张表中必须都要有,不是说只有系统中用到的数据才会存到数据库中,一些冗余字段是为了便于日后维护、分析、拓展而添加的,这点是非常重要的,比如黑客攻击,篡改了数据,我们便就可以根据修改时间和操作用户IP来查找定位。 (6)、设计合理的表关联 若多张表之间的关系复杂,建议采用第三张映射表来关联维护两张表之间的关系,以降低表之间的直接耦合度。若多张表涉及到大数据量的问题,表结构尽量简单,关联也要尽可能避免。 (7)、设计表时不加主外键等约束性关联,系统编码阶段完成后再添加约束性关联 这样做的目的是有利于团队并行开发,减少编码时所遇到的问题,表之间的关系靠程序来控制。编码完成后再加关联并进行测试。不过也有一些公司的做法是干脆就不加表关联。 (8)、选择合适的主键生成策略