特色数据库的建设方法

特色数据库的建设方法,第1张

特色数据建设已经成为高校图书馆的研究热点。

特色数据库的建设是一个系统工程,包含着规划、论证、收集、整理、加工、分类、网页建设与维护等环节,同时还包含一些技术问题。在这个系统工程建设中,首先应该从源头开始严格把关,即在建库之初的规划、论证阶段要有科学严谨的态度,在全面了解特色数据库建设总体情况的基础上,提出可行性报告。

1、选题论证要严谨

目前特色数据库建设中低水平重复建设、缺乏特色、更新缓慢等现象比较普遍。作为高校图书馆,应该划定范围,有所为,有所不为,才能找准自己的位置,才能建设既符合高校的办学特点。又有可持续发展潜力的特色数据库。因此开发特色数据库首先要选好题,把好立项论证关,在对国内外数据库信息资源分布状况进行认真调查的基础上,针对馆藏特点、重点学科设置、用户需求等因素,确定适当的主题范围或文献类型范围。不要一味地求“大”、求“全”,而应该求“精”、求“特”,也就是说内容不要太杂。面不要太广,要重点关注某一领域,尽可能地将该领域内的有价值的东西收录进来,体现数据库的专题性和独特性。

2、数据源的收集要全面

数据是数据库的核心,数据质量从某种意义上说就是数据库的质量。因此,数据的收集是数据库建设中十分重要的环节。要确保收集信息的完整性和权威性,主要应注意以下几方面:

(1)确定合理的收集范围,包括学科范围、时限范围、地域范围、文种范围等。

(2)确定信息源的种类,包括图书、期刊、会议录、论文集、专利文献、产品说明、科技报告及网上信息等;

(3)确定收录信息的形式,包括文字、表格、、动画、音乐及多媒体信息。

客户关系管理,是建立在以客户为中心元素的信息协同管理

其目的是让公司的管理层能够很好跟踪销售的趋势,并建立些策略来应对销售中的问题

在客户关系管理系统的设计上,国外的专家,力图让客户关系管理系统具备营销的功能,即所谓的营销辅助支持(前面即所谓的销售自动化)

那么这个营销的辅助支持是如何体现在营销和市场中

它的关键就是全面的客户数据库,这个数据库发展起来就将成企业核心竞争力

1)客户数据的收集平台要想建立一个全面,立体客户数据库,必须依托一个平台的强大运作

不管是采用电子表格报告形式,还是利用一个分布式信息系统,都必须跨空间的,并且横渡时间坐标的

我们知道一个信息系统在技术上都能具备分布和实时性,一个好的信息系统就可以做到

2)客户数据的收集过程客户数据的收集过程,是企业管理之功

汉江源于精楚大地的山川,而汉江将汇于长江,追溯长江,还有诸多支流,同样源于中华的山川

长江黄河是中华的生命动脉,对于企业来说把握好自己的动脉,将来才可以形成企业的核心竞争力

3)客户数据的分级策略管理者的运筹帷幄,必须把不可控的因素,都变成准可控因素,方能胜!治军,日日不废,治客户数据,也需策之入日,同样是日日不废

4)客户数据的分析平台有了以上的步骤和海量客户数据,那么你的营销策略,市场策略就可以启航,同时你的企业“核心竞争力”就形成拉

因此客户关系管理是一个长期的效益的工程,并且一定是“人之为”,加上新技术的充分利用

(1)存储记录结构设计综合分析数据存储要求和应用需求,设计存储记录格式

(2)存储空间分配存储空间分配有两个原则:①存取频度高的数据尽量安排在快速、随机设备上,存取频度低的数据则安排在速度较慢的设备上

②相互依赖性强的数据尽量存储在同一台设备上,且尽量安排在邻近的存储空间上

从提高系统性能方面考虑,应将设计好的存储记录作为一个整体合理地分配物理存储区域

尽可能充分利用物理顺序特点,把不同类型的存储记录指派到不同的物理群中

(3)访问方法的设计一个访问方法包括存储结构和检索机构两部分

存储结构限定了访问存储记录时可以使用的访问路径;检索机构定义了每个应用实际使用的访问路径

(4)物理设计的性能评价①查询响应时间从查询开始到有结果显示之间所经历的时间称为查询响应时间

查询响应时间可进一步细分为服务时间、等待时间和延迟时间

在物理设计过程中,要对系统的性能进行评价

性能评价包括时间、空间、效率、开销等各个方面

⊙CPU服务时间和I/O服务时间的长短取决于应用程序设计

⊙CPU队列等待时间和I/O队列等待时间的长短受计算机系统作业的影响

⊙设计者可以有限度地控制分布式数据库系统的通信延迟时间

②存储空间存储空间存放程序和数据

程序包括运行的应用程序、DBMS子程序、OS子程序等

数据包括用户工作区、DBMS工作区、OS工作区、索引缓冲区、数据缓冲区等

存储空间分为主存空间和辅存空间

设计者只能有限度地控制主存空间,例如可指定缓冲区的分配等

但设计者能够有效地控制辅存空间

③开销与效率设计中还要考虑以下各种开销,开销增大,系统效率将下降

⊙事务开销指从事务开始到事务结束所耗用的时间

更新事务要修改索引、重写物理块、进行写校验等 *** 作,增加了额外的开销

更新频度应列为设计的考虑因素

⊙报告生成开销指从数据输入到有结果输出这段时间

报告生成占用CPU及I/O的服务时间较长

设计中要进行筛选,除去不必要的报告生成

⊙对数据库的重组也是一项大的开销

设计中应考虑数据量和处理频度这两个因数,做到避免或尽量减少重组数据库

在物理设计阶段,设计、评价、修改这个过程可能要反复多次,最终得到较为完善的物理数据库结构说明书

建立数据库时,DBA依据物理数据库结构说明书,使用DBMS提供的工具可以进行数据库配置

在数据库运行时,DBA监察数据库的各项性能,根据依据物理数据库结构说明书的准则,及时进行修正和优化 *** 作,保证数据库系统能够保持高效率地运行

6

程序编制及调试在逻辑数据库结构确定以后,应用程序设计的编制就可以和物理设计并行地展开程序模块代码通常先在模拟的环境下通过初步调试,然后再进行联合调试

联合调试的工作主要有以下几点:(1)建立数据库结构根据逻辑设计和物理设计的结果,用DBMS提供的数据语言(DDL)编写出数据库的源模式,经编译得到目标模式,执行目标模式即可建立实际的数据库结构

(2)调试运行数据库结构建立后,装入试验数据,使数据库进入调试运行阶段

运行应用程序,测试(3)装入实际的初始数据在数据库正式投入运行之前,还要做好以下几项工作:(1)制定数据库重新组织的可行方案

(2)制定故障恢复规范(3)制定系统的安全规范7

运行和维护数据库正式投入运行后,运行维护阶段的主要工作是:(1)维护数据库的安全性与完整性

按照制定的安全规范和故障恢复规范,在系统的安全出现问题时,及时调整授权和更改密码

及时发现系统运行时出现的错误,迅速修改,确保系统正常运行

把数据库的备份和转储作为日常的工作,一旦发生故障,立即使用数据库的最新备份予以恢复

(2)监察系统的性能

运用DBMS提供的性能监察与分析工具,不断地监控着系统的运行情况

当数据库的存储空间或响应时间等性能下降时,立即进行分析研究找出原因,并及时采取措施改进

例如,可通修改某些参数、整理碎片、调整存储结构或重新组织数据库等方法,使数据库系统保持高效率地正常运作

(3)扩充系统的功能在维持原有系统功能和性能的基础上,适应环境和需求的变化,采纳用户的合理意见,对原有系统进行扩充,增加新的功能

其他信息:

数据库顾名思义就是存储数据的仓库,数据库原理就是教你如何去有效管理那些大量的数据信息的学科,教会你创建数据库来存储数据,优化数据库字段等等,设计出一个良好的数据库对一个系统或者是一个网站这些应用来说都是极其重要的。 数据库原理及应用前景 数据库管理系统经历了30多年的发展演变,已经取得了辉煌的成就,发展成了一门内容丰富的学科,形成了总量达数百亿美元的一个软件产业。根据Gartner Dataquest公司的调查,2000年国际数据库市场销售总额达88亿美元,比1999年增长10%。根据CCID的报告,2000年的中国数据库管理系统市场销售总额达248亿元,比1999年增长了417%,占软件市场总销售额的108%。可见,数据库已经发展成为一个规模巨大、增长迅速的市场,前景很好。 数据库原理及应用简介 《数据库原理及应用》是计算机类相关专业的一门专业核心课程,主要系统讲授数据库系统的基础理论、基本技术和基本方法。内容包括:数据库的体系结构、数据模型和关系运算等基本概念,并结合当前流行的大型关系数据库管理系统SQL SERVER平台,通过实例讲解和演示数据库的标准语言SQL、数据库的安全性和完整性控制、事务管理与恢复技术,以及关系规范化理论和数据库的设计,为进一步从事数据库的应用开发和研究奠定坚实的基础。

#include<iostream>

#include<fstream>

#include<windowsh>

#include<stdlibh>

using namespace std;

void mainmenu();

void Manage_Book();

void input_Book();

void input_Reader();

void New_Book();

void Seek_Book();

void Borrow_Manage();

void Borrow_Book();

void Return_Book();

void Output_Message();

void Exit_System();

int u,v=3,k=0;

struct Book

{

char name[20];

int booknumber;

int num_present;

int num_all;

}book[1000];

struct Reader

{

char name[20];

int readernumber;

int card;

}reader[3];

void mainmenu()

{

int Num_Choice1,flag=1;

system("color E");

for(;k<=0;k++)

{

input_Book();

input_Reader();

}

while(flag==1)

{

system("cls");

cout<<"\t\t\t◆◆◆◆◆主菜单◆◆◆◆◆"<<endl

<<"\t\t\t☆ 1图书管理 ☆"<<endl

<<"\t\t\t☆ 2借阅管理 ☆"<<endl

<<"\t\t\t☆ 3输出信息 ☆"<<endl

<<"\t\t\t☆ 4退出系统 ☆"<<endl

<<"\t\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆"<<endl;

cout<<"请输入所需要的服务编码"<<endl;

cin>>Num_Choice1;

switch(Num_Choice1)

{

case 1:

Manage_Book();

break;

case 2:

Borrow_Manage();

break;

case 3:

Output_Message();

break;

case 4:

Exit_System();

flag=0;

break;

default:

flag=0;

cout<<"输入有误!!"<<endl;

}

}

}

void Manage_Book()

{

int flag1=1,Num_Choice2;

system("cls"); while(flag1==1)

{

cout<<"\t\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆"<<endl

<<"\t\t\t☆ 1新书入库 ☆"<<endl

<<"\t\t\t☆ 2图书查询 ☆"<<endl

<<"\t\t\t☆ 3返回主菜单 ☆"<<endl

<<"\t\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆"<<endl;

cin>>Num_Choice2;

switch(Num_Choice2)

{

case 1:

flag1=2;

New_Book();

break;

case 2:

flag1=2;

Seek_Book();

break;

case 3:

mainmenu();

default:

flag1=1;

cout<<"输入有误!"<<endl;

system("pause");

system("cls");

}

}}

void input_Book()

{

cout<<"请依照提示输入现有的三本图书的信息:"<<endl;

for(int i=0;i<3;i++)

{

cout<<"书名:"<<endl;

cin>>book[i]name;

cout<<"书号:"<<endl;

cin>>book[i]booknumber;

cout<<"库存量:"<<endl;

cin>>book[i]num_all;

cout<<"现存量:"<<endl;

cin>>book[i]num_present;

}

}

void New_Book()

{

system("cls");

int j;

char newbook_name[20];

cout<<"请输入新书书名:"<<endl;

cin>>newbook_name;

for(j=0;j<1000;j++)

{

if(strcmp(newbook_name,book[j]name)==0)

{

book[j]num_all++;

book[j]num_present++;

break;

}

}

if(j==1000)

{

cout<<"请为此新书编号:"<<endl;

v++;

cin>>book[v]booknumber;

strcpy(book[v]name,newbook_name);

book[v]num_all=1;

book[v]num_present=1;

}

else cout<<"已有此书,库存量加一"<<endl;

system("pause");

}

void Seek_Book()

{

system("cls");

int k,booknumber;

cout<<"请输入所要查询的书号:"<<endl;

cin>>booknumber;

for(k=0;k<1000;k++)

{

if(book[k]booknumber==booknumber)

{

cout<<"书号:"<<booknumber<<endl;

cout<<"书名:"<<book[k]name<<endl;

cout<<"库存量:"<<book[k]num_all<<endl;

cout<<"现存量:"<<book[k]num_present<<endl;

system("pause");

break;

}

}

if(k==1000)

{

cout<<"未找到此书!!"<<endl;

system("pause");

}

}

void Borrow_Manage()

{

int flag=1;

system("cls");

int Num_Choice3;

while(flag==1)

{

cout<<"\t\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆"<<endl

<<"\t\t\t☆ 1借书登记 ☆"<<endl

<<"\t\t\t☆ 2还书管理 ☆"<<endl

<<"\t\t\t☆ 3返回主菜单 ☆"<<endl

<<"\t\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆"<<endl;

cin>>Num_Choice3;

switch(Num_Choice3)

{

case 1:

flag=2;

Borrow_Book();

break;

case 2:

flag=2;

Return_Book();

break;

case 3:

mainmenu();

default:

flag=1;

cout<<"输入有误!!"<<endl;

system("pause");

}

system("cls");

}

}

void input_Reader()

{

system("cls");

cout<<"请依照提示输入现有的三位读者的信息:"<<endl;

for(int m=0;m<3;m++)

{

cout<<"姓名:"<<endl;

cin>>reader[m]name;

cout<<"编号:"<<endl;

cin>>reader[m]readernumber;

reader[m]card=0;

}

}

void Borrow_Book()

{

system("cls");

char reader_name[20];

int n,book_number;

cout<<"请输入读者姓名:"<<endl;

cin>>reader_name;

for(n=0;n<3;n++)

{

if(strcmp(reader_name,reader[n]name)==0)

{

if(reader[n]card!=0)

{

cout<<"已借书,不能再借,请按任意键返回"<<endl;

system("pause");

mainmenu();

}

else

break;

}

}

if(n==3)

{

cout<<"无此读者!输入有误!!按任意键返回主菜单"<<endl;

system("pause");

mainmenu();

}

cout<<"请输入所借图书书号:"<<endl;

cin>>book_number;

for(n=0;n<v;n++)

{

if(strcmp(reader_name,reader[n]name)==0)

reader[n]card=book_number;

}

for(n=0;n<v;n++)

{

if(book[n]booknumber==book_number)

{

if(book[n]num_present==0)

{

cout<<"该书已经被借完,请按任意键返回"<<endl;

system("pause");

for(n=0;n<v;n++)

{

if(strcmp(reader_name,reader[n]name)==0)

reader[n]card=0;

}

mainmenu();

}

else

{

book[n]num_present--;

cout<<"借书成功,请按任意键返回"<<endl;

system("pause");

break;

}

}

}

if(n==v)

{

for(n=0;n<v;n++)

{

if(strcmp(reader_name,reader[n]name)==0)

reader[n]card=0;

}

cout<<"所输入的书号不存在,请按任意键返回主菜单"<<endl;

system("pause");

mainmenu();

}

}void Return_Book()

{

system("cls");

int j;

char reader_name[20];

int book_number;

cout<<"请输入读者姓名:"<<endl;

cin>>reader_name;

for(j=0;j<3;j++)

{

if(strcmp(reader_name,reader[j]name)==0)

break;

}

if(j==3)

{

cout<<"无此读者!输入有误!!按任意键返回主菜单"<<endl;

system("pause");

mainmenu();

}

cout<<"请输入所还图书书号:"<<endl;

cin>>book_number;

for(j=0;j<3;j++)

{

if(strcmp(reader_name,reader[j]name)==0)

{

if(book_number==reader[j]card)

{

reader[j]card=0;

for(j=0;j<v;j++)

{

if(book[j]booknumber==book_number)

{

book[j]num_present++;

cout<<"还书成功,请按任意键返回"<<endl;

system("pause");

break;

}

}

}

else

{

cout<<"该读者未借此书"<<endl;

system("pause");

}

}

if(j==v)

cout<<"所输入的书号不存在:"<<endl;

}

}

void Output_Message()

{

system("cls");

int q;

cout<<"以下是图书信息"<<endl<<endl;

for(q=0;q<v;q++)

{

cout<<"书号:"<<book[q]booknumber<<'\t';

cout<<"书名:"<<book[q]name<<'\t';

cout<<"库存量:"<<book[q]num_all<<'\t';

cout<<"现存量:"<<book[q]num_present<<endl;

}

cout<<"以下是读者信息"<<endl<<endl;

for(q=0;q<3;q++)

{

cout<<"姓名:"<<reader[q]name<<'\t'

<<"编号:"<<reader[q]readernumber<<'\t'

<<"所借书号:"<<reader[q]card<<endl;

}

system("pause");

}

void Exit_System()

{

system("cls");

cout<<"欢迎下次使用,谢谢"<<endl;

system("pause");

}

void main()

{

mainmenu();

}

综合地质数据库原始数据是建立专题数据库的直接原始数据,是纸介质资料和电子资料目录、数字化、编码数字化等全部数据的归档汇总,原始数据按照地质矿产资料分类组织,可直接通过数据库系统工具导入综合地质数据库。

综合地质数据库原始数据的构建方法:

(1)建立原始数据分类目录;

(2)扫描影像文件、PDF文件、编码数字化电子表格、电子文档(Word文档等)、矢量化图件、电子文件包(压缩包)归档存入相应的原始数据目录;

(3)以资料单位(报告等)为基本单位,从地质矿产资料分类电子文档提取该资料单位的资料列表,建立基本单位对应的Aess单一数据库(MDB库文件),存储属于该资料单位的文档、表格、图件列表及其数据;

(4)设计电子表格对应关系表格的数据字典,用工具或编写程序将电子表格转换为关系表格,存入相应的Aess单一数据库。

图25综合地质数据的E-R图

以上就是关于特色数据库的建设方法全部的内容,包括:特色数据库的建设方法、企业如何建立客户数据库(建立客户数据库的作用)、数据库设计分为哪几个步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9427028.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存