
源程序建立
)首先在数据库中建立如下结构的表blobsave
字段名称数据类型备注
idchar( )primairy key index
s_pathchar( )
pic binary ( )
)在PB建立PBl库blobsave PBl
)在PBl库blobsave PBl中建立应用blobsave
在应用的open事件中设置数据库连接程序(本程序中采用的是odbc方式连接数据库 读者可根据自己所建立的数据库的不同选用不同的连接方式 以下连接数据库的代码也有所改动 至于连接不同的数据库的方法 请参考有关资料 本文不做详细介绍)
SQLCA DBMS = ODBC SQLCA AutoCommit = False SQLCA DBParm = Connectstring= DSN=blob connect open(w_main)
其中命令按钮cb_path的clicked中的代码格式如下 open(w_path)
其中命令按钮cb_dbblob的clicked中的代码格式如下 open(w_dbblob)
其中命令按钮cb_OLEblob的clicked中的代码格式如下 open(w_OLEblob)
) 建立数据窗口dw_blobsave
按照上文中建立数荽翱诘腷lob列的方法建立数据窗口dw_blobsave如图所示
其中 add del save cancel retrieve等分别为数据窗口dw_blobsave的append row delete row update retrieve动作按钮
首先创建实例变量 OLEstorage stor
然后如图建立窗口w_path 其中数据窗口控件dw_ 的rowfocuschanged中的代码如下
long row_num row_num=dw_ getrow() if row_num > then ole_ insertfile(dw_ object s_path[row_num]) end if
其中数据窗口dw_ 的buttonclicked中的代码如下
if dwo name= cbselect then long row_num row_num=dw_ getrow() string filepath filename getfileopenname( 请选择备注文件 filepath filename) dw_ object s_path[row_num]=filepath ole_ insertfile(filepath) end if
保存窗口w_path
)建立窗口w_dbblob
打开w_path 把其另存为w_dbblob 改变数据窗口dw_ 的rowfocuschanged中的代码如下
blob text long row_num row_num=dw_ getrow() if row_num> then string id id = dw_ object id[row_num] sqlca automit=true selectblob pic into :text from blobsave where id = :id ole_ objectdata=text sqlca automit=false end if
改变数据窗口dw_ 的buttonclicked中的代码如下
long row_num if dwo name= cbselect then row_num=dw_ getrow() string filepath filename getfileopenname( 请选择备注文件 filepath filename) dw_ object s_path[row_num]=filepath ole_ insertfile(filepath) end if if dwo name= cbsave then string id sqlca automit = true blob text text = ole_ objectdata dw_ update() mit row_num=dw_ getrow() id=dw_ object id[row_num] updateblob blobsave set pic = :text where id = :id mit sqlca automit = FALSE dw_ retrieve() dw_ scrolltorow(row_num) end if 保存窗口w_dbblob
)建立窗口w_OLEblob
打开w_path 把其另存为w_OLEblob 在窗口w_OLEblob的open事件中写入以下代码
stor = create olestorage stor open( c:\p ole ) //打开或创建ole文件 在窗口w_OLEblob的close事件中写入以下代码 destroy stor
改变数据窗口dw_ 的rowfocuschanged中的代码如下
blob text long row_num row_num=dw_ getrow() if row_num> then string id id = dw_ object id[row_num] ole_ open(stor w +id) end if
改变数据窗口dw_ 的buttonclicked中的代码如下
long row_num if dwo name= cbselect then row_num=dw_ getrow() string filepath filename getfileopenname( 请选择备注文件 filepath filename) dw_ object s_path[row_num]=filepath ole_ insertfile(filepath) end if if dwo name= cbsave then string id row_num=dw_ getrow() id=dw_ object id[row_num] ole_ saveas(stor w +id) stor save() end if
保存窗口w_OLEblob 运行应用程序即可
三种方法的优缺点
方法一 文件保存在固定的路径下 数据库中存取文件路径和名称可以节省数据空间 避免了数据库过分膨胀 但备注文件必须在一定的目录下 不能丢失 且同一目录下文件不能重名 对文件的管理造成一定的困难 另外 在OLE控件中浏览显示备注文件时 由于每次都要调用服务器程序 所以速度较慢
方法二 在数据库中用blob类型或者varbinary类型字段存储备注文件 当文件存储在数据库中以后 就可以删除硬盘上原来的临时文件 不需要复杂的二进制文件管理 且数据库可以存储在网络服务器上 对数据的共享非常方便
lishixinzhi/Article/program/SQL/201311/16227
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
数据库的一些概念我希望得到明确一些的定义,最好举个例子因为脑子反应比较慢
基本表,代码表,中间表,报表,临时表
这几个表都是什么东西,能否给解释一下,都用来做什么的,什么情况下要用到
解析:
数据库系统的基本概念
数据:实际上就是描述事物的符号记录。
数据的特点:有一定的结构,有型与值之分,如整型、实型、字符型等。而数据的值给出了符合定型的值,如整型值15。
数据库:是数据的 ,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序共享。
数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点。
数据库管理系统:一种系统软件,负责数据库中的数据组织、数据 *** 纵、数据维护、控制及保护和数据服务等,是数据库的核心。
数据库管理系统功能:
(1)数据模式定义:即为数据库构建其数据框架;
(2)数据存取的物理构建:为数据模式的物理存取与构建提供有效的存取方法与手段;
(3)数据 *** 纵:为用户使用数据库的数据提供方便,如查询、插入、修改、删除等以及简单的算术运算及统计;
(4)数据的完整性、安生性定义与检查;
(5)数据库的并发控制与故障恢复;
(6)数据的服务:如拷贝、转存、重组、性能监测、分析等。
为完成以上六个功能,数据库管理系统提供以下的数据语言:
(1)数据定义语言:负责数据的模式定义与数据的物理存取构建;
(2)数据 *** 纵语言:负责数据的 *** 纵,如查询与增、删、改等;
(3)数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等。
数据语言按其使用方式具有两种结构形式:交互式命令(又称自含型或自主型语言)宿主型语言(一般可嵌入某些宿主语言中)。
数据库管理员:对数据库进行规划、设计、维护、监视等的专业管理人员。
数据库系统:由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。
数据库应用系统:由数据库系统、应用软件及应用界面三者组成。
文件系统阶段:提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的、管理和数据共享的能力。
层次数据库与网状数据库系统阶段 :为统一与共享数据提供了有力支撑。
关系数据库系统阶段
数据库系统的基本特点:数据的集成性 、数据的高共享性与低冗余性 、数据独立性(物理独立性与逻辑独立性)、数据统一管理与控制。
数据库系统的三级模式:
(1)概念模式:数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图;
(2)外模式:也称子模式与用户模式。是用户的数据视图,也就是用户所见到的数据模式;
(3)内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。
数据库系统的两级映射:
(1)概念模式到内模式的映射;
(2)外模式到概念模式的映射。
42 数据模型
数据模型的概念:是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与 *** 作提供一个抽象的框架。描述了数据结构、数据 *** 作及数据约束。
E-R模型的基本概念
(1)实体:现实世界中的事物;
(2)属性:事物的特性;
(3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。
E-R模型三个基本概念之间的联接关系:实体是概念世界中的基本单位,属性有属性域,每个实体可取属性域内的值。一个实体的所有属性值叫元组。
E-R模型的图示法:(1)实体集表示法; (2)属性表法; (3)联系表示法。
层次模型的基本结构是树形结构,具有以下特点:
(1)每棵树有且仅有一个无双亲结点,称为根;
(2)树中除根外所有结点有且仅有一个双亲。
从图论上看,网状模型是一个不加任何条件限制的无向图。
关系模型采用二维表来表示,简称表,由表框架及表的元组组成。一个二维表就是一个关系。
在二维表中凡能唯一标识元组的最小属性称为键或码。从所有侯选健中选取一个作为用户使用的键称主键。表A中的某属性是某表B的键,则称该属性集为A的外键或外码。
关系中的数据约束:
(1)实体完整性约束:约束关系的主键中属性值不能为空值;
(2)参照完全性约束:是关系之间的基本约束;
(3)用户定义的完整性约束:它反映了具体应用中数据的语义要求。
43关系代数
关系数据库系统的特点之一是它建立在数据理论的基础之上,有很多数据理论可以表示关系模型的数据 *** 作,其中最为著名的是关系代数与关系演算。
关系模型的基本运算:
(1)插入 (2)删除 (3)修改 (4)查询(包括投影、选择、笛卡尔积运算)
44 数据库设计与管理
数据库设计是数据应用的核心。
数据库设计的两种方法:
(1)面向数据:以信息需求为主,兼顾处理需求;
(2)面向过程:以处理需求为主,兼顾信息需求。
数据库的生命周期:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。
需求分析常用结构析方法和面向对象的方法。结构化分析(简称SA)方法用自顶向下、逐层分解的方式分析系统。用数据流图表达数据和处理过程的关系。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。
数据字典是各类数据描述的 ,包括5个部分:数据项、数据结构、数据流(可以是数据项,也可以是数据结构)、数据存储、处理过程。
数据库概念设计的目的是分析数据内在语义关系。设计的方法有两种
(1)集中式模式设计法(适用于小型或并不复杂的单位或部门);
(2)视图集成设计法。
设计方法:E-R模型与视图集成。
视图设计一般有三种设计次序:自顶向下、由底向上、由内向外。
视图集成的几种冲突:命名冲突、概念冲突、域冲突、约束冲突。
关系视图设计:关系视图的设计又称外模式设计。
关系视图的主要作用:
(1)提供数据逻辑独立性;
(2)能适应用户对数据的不同需求;
(3)有一定数据保密功能。
数据库的物理设计主要目标是对数据内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度有效利用存储空间。一般RDBMS中留给用户参与物理设计的内容大致有索引设计、集成簇设计和分区设计。
数据库管理的内容:
(1)数据库的建立;
(2)数据库的调整;
(3)数据库的重组;
(4)数据库安全性与完整性控制;
(5)数据库的故障恢复;
(6)数据库监控。
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等 *** 作。
数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。
扩展资料:
数据库发展现状
在数据库的发展历史上,数据库先后经历了层次数据库、网状数据库和关系数据库等各个阶段的发展,数据库技术在各个方面的快速的发展。特别是关系型数据库已经成为目前数据库产品中最重要的一员,80年代以来, 几乎所有的数据库厂商新出的数据库产品都支持关系型数据库,即使一些非关系数据库产品也几乎都有支持关系数据库的接口。
参考资料来源:百度百科-数据
参考资料来源:百度百科-数据库
数据库设计的基本步骤
1、需求分析阶段
进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难和最耗费时间的一步。作为“地基”的需求分析是否做得充分与准确,决定了在其上构建数据库“大厦”的速度与质量。需求分析做的不好,可能会导致整个数据库设计返工重做。
2、概念结构设计阶段
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。
3、逻辑结构设计阶段
逻辑结构设计是将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。
4、物理设计阶段
物理结构设计师为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方式)。
5、数据库实施阶段
在数据库实施阶段,设计人员运用数据库管理系统提供数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,组织数据入库,并进行测试运行。
6、数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行,在数据库系统运行过程中必须不断对其进行评估、调整与修改。
数据库设计的基本原则
1、一致性原则:对数据来源进行统一、系统的分析与设计,协调好各种数据源,保证数据的一致性和有效性。
2、完整性原则:数据库的完整性是指数据的正确性和相容性。要防止合法用户使用数据库时向数据库加入不合语义的数据。对输入到数据库中的数据要有审核和约束机制。
3、安全性原则:数据库的安全性是指保护数据,防止非法用户使用数据库或合法用户非法使用数据库造成数据泄露、更改或破坏。要有认证和授权机制。
4、可伸缩性与可扩展性原则:数据库结构的设计应充分考虑发展的需要、移植的需要,具有良好的扩展性、伸缩性和适度冗余。
5、规范化原则:数据库的设计应遵循规范化理论。规范化的数据库设计,可以减少数据库插入、删除、修改等 *** 作时的异常和错误,降低数据冗余度等。
以上就是关于在PB中用OLE存取blob类型数据(三)全部的内容,包括:在PB中用OLE存取blob类型数据(三)、数据库的一些概念、数据库是干什么用的呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)