SQLSERVER 即将存储大量的数据,怎么设计表好点

SQLSERVER 即将存储大量的数据,怎么设计表好点,第1张

1、升级硬件,使用高性能的存储设备

2、这数据量级,SQL的数据库使用分区表是个非常好的选择。若是分区表+多台存储服务设备,效果肯定杠杠的

3、主要矛盾是集中在IO吞吐上,所以解决了IO吞吐速度,就相当于解决了一半问题

4、在设计表的时候,每一列都要谨慎设置列长度和列类型,既要满足存储内容的需要,又要尽可能的短一些。

只能帮到这个地步了

一个好的数据库产品不等于就有一个好的应用系统 如果不能设计一个合理的数据库模型 不仅会增加客户端和服务器段程序的编程和维护的难度 而且将会影响系统实际运行的性能 一般来讲 在一个MIS系统分析 设计 测试和试运行阶段 因为数据量较小 设计人员和测试人员往往只注意到功能的实现 而很难注意到性能的薄弱之处 等到系统投入实际运行一段时间后 才发现系统的性能在降低 这时再来考虑提高系统性能则要花费更多的人力物力 而整个系统也不可避免的形成了一个打补丁工程 笔者依据多年来设计和使用数据库的经验 提出以下一些设计准则 供同仁们参考

命名的规范

不同的数据库产品对对象的命名有不同的要求 因此 数据库中的各种对象的命名 后台程序的代码编写应采用大小写敏感的形式 各种对象命名长度不要超过 个字符 这样便于应用系统适应不同的数据库

游标(Cursor)的慎用

游标提供了对特定集合中逐行扫描的手段 一般使用游标逐行遍历数据 根据取出的数据不同条件进行不同的 *** 作 尤其对多表和大表定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等特甚至死机 笔者在某市《住房公积金管理系统》进行日终帐户滚积数计息处理时 对一个 万个帐户的游标处理导致程序进入了一个无限期的等特(后经测算需 个小时才能完成)(硬件环境 Alpha/ Mram Sco Unix Sybase ) 后根据不同的条件改成用不同的UPDATE语句得以在二十分钟之内完成 示例如下

Declare Mycursor cursor for select  count_no from COUNT

Open Mycursor

Fetch Mycursor into @vcount_no

While (@@sqlstatus= )

Begin

If  @vcount_no=   条件

*** 作

If  @vcount_no=   条件

*** 作

Fetch Mycursor into @vcount_no

End

改为

Update COUNT set  *** 作 for 条件

Update COUNT set  *** 作 for 条件

在有些场合 有时也非得使用游标 此时也可考虑将符合条件的数据行转入临时表中 再对临时表定义游标进行 *** 作 可时性能得到明显提高 笔者在某地市〈电信收费系统〉数据库后台程序设计中 对一个表( 万行中符合条件的 多行数据)进行游标 *** 作(硬件环境 PC服务器 PII Mram NT Ms Sqlserver ) 示例如下

Create #tmp   / 定义临时表 /

(字段

字段

)

Insert into #tmp select from TOTAL where

条件  / TOTAL中 万行 符合条件只有几十行 /

Declare Mycursor cursor for select from #tmp

/对临时表定义游标/

索引(Index)的使用原则

创建索引一般有以下两个目的 维护被索引列的唯一性和提供快速访问表中数据的策略 大型数据库有两种索引即簇索引和非簇索引 一个没有簇索引的表是按堆结构存储数据 所有的数据均添加在表的尾部 而建立了簇索引的表 其数据在物理上会按照簇索引键的顺序存储 一个表只允许有一个簇索引 因此 根据B树结构 可以理解添加任何一种索引均能提高按索引列查询的速度 但会降低插入 更新 删除 *** 作的性能 尤其是当填充因子(Fill Factor)较大时 所以对索引较多的表进行频繁的插入 更新 删除 *** 作 建表和索引时因设置较小的填充因子 以便在各数据页中留下较多的自由空间 减少页分割及重新组织的工作

数据的一致性和完整性

为了保证数据库的一致性和完整性 设计人员往往会设计过多的表间关联(Relation) 尽可能的降低数据的冗余 表间关联是一种强制性措施 建立后 对父表(Parent Table)和子表(Child Table)的插入 更新 删除 *** 作均要占用系统的开销 另外 最好不要用Identify 属性字段作为主键与子表关联 如果数据冗余低 数据的完整性容易得到保证 但增加了表间连接查询的 *** 作 为了提高系统的响应时间 合理的数据冗余也是必要的 使用规则(Rule)和约束(Check)来防止系统 *** 作人员误输入造成数据的错误是设计人员的另一种常用手段 但是 不必要的规则和约束也会占用系统的不必要开销 需要注意的是 约束对数据的有效性验证要比规则快 所有这些 设计人员在设计阶段应根据系统 *** 作的类型 频度加以均衡考虑

事务的陷阱

事务是在一次性完成的一组 *** 作 虽然这些 *** 作是单个的 *** 作 SQL Server能够保证这组 *** 作要么全部都完成 要么一点都不做 正是大型数据库的这一特性 使得数据的完整性得到了极大的保证

众所周知 SQL Server为每个独立的SQL语句都提供了隐含的事务控制 使得每个DML的数据 *** 作得以完整提交或回滚 但是SQL Server还提供了显式事务控制语句

BEGIN TRANSACTION 开始一个事务

MIT TRANSACTION 提交一个事务

ROLLBACK TRANSACTION 回滚一个事务

事务可以嵌套 可以通过全局变量@@trancount检索到连接的事务处理嵌套层次 需要加以特别注意并且极容易使编程人员犯错误的是 每个显示或隐含的事物开始都使得该变量加 每个事务的提交使该变量减 每个事务的回滚都会使得该变量置 而只有当该变量为 时的事务提交(最后一个提交语句时) 这时才把物理数据写入磁盘

数据库性能调整

在计算机硬件配置和网络设计确定的情况下 影响到应用系统性能的因素不外乎为数据库性能和客户端程序设计 而大多数数据库设计员采用两步法进行数据库设计 首先进行逻辑设计 而后进行物理设计 数据库逻辑设计去除了所有冗余数据 提高了数据吞吐速度 保证了数据的完整性 清楚地表达数据元素之间的关系 而对于多表之间的关联查询(尤其是大数据表)时 其性能将会降低 同时也提高了客 户端程序的编程难度 因此 物理设计需折衷考虑 根据业务规则 确定对关联表的数据量大小 数据项的访问频度 对此类数据表频繁的关联查询应适当提高数据冗余设计

数据类型的选择

数据类型的合理选择对于数据库的性能和 *** 作具有很大的影响 有关这方面的书籍也有不少的阐述 这里主要介绍几点经验

Identify字段不要作为表的主键与其它表关联 这将会影响到该表的数据迁移

Text 和Image字段属指针型数据 主要用来存放二进制大型对象(BLOB) 这类数据的 *** 作相比其它数据类型较慢 因此要避开使用

日期型字段的优点是有众多的日期函数支持 因此 在日期的大小比较 加减 *** 作上非常简单 但是 在按照日期作为条件的查询 *** 作也要用函数 相比其它数据类型速度上就慢许多 因为用函数作为查询的条件时 服务器无法用先进的性能策略来优化查询而只能进行表扫描遍历每行

例如 要从DATA_TAB 中(其中有一个名为DATE的日期字段)查询 年的所有记录

lishixinzhi/Article/program/Oracle/201311/17929

多个可以同样放在你的image下,与之间用一个符号隔开,比如1jpg|2jpg|33jpg

读取记录之后可以用比如

12string str="1jpg|2jpg|33jpg";string[] arr=strSplit('|');

这样arr中就是单个路径了,当然这仅仅只是一种方法。

$("select option:selected")next() 完整代码 $(function() {$("select")change(function(event) {var obj = $(this)find("option:selected")next();alert("选中项的下一个: 内容"+objhtml()+",值"+objval());});})

网站数据库,是选SQLServer还是Aess好,可能您会说:选MySQL好,不过现在只是讨论IISASP这种架构下的选择,不讨论ApachePHP的情况

如果您现在是在局域网中使用,而且软件的价格成本不是考虑的因素,那当然是用SQLServer好了,似乎这个问题没什么好讨论的

不过在互联网上就不太一样了,因为大部分做网站的人都是租用别人的虚拟主机,比较常见的组合是PHPMySQL或ASPACCESS或ASPSQLServer,下面就使用ACCESS及SQLServer做一个比较:成本使用SQLServer的虚拟主机报价一般是使用ACCESS的15至25倍

性能就数据库的处理能力和稳定性ACCESS和SQLServer当然是没得比的,但是有一点必须注意的是,在互联网上使用SQLServer和在局域中使用是大不一样的,如果你现在已经在用,请打开“SQL查询分析器”,连接上SQLServer服务器,执行“EXECsp_who”,你可能看到返回的行数有几百行,也就是说你所在SQLServer服务器正在处理几百个连接,然后再执行“selectcount()frommaster”,你可以看这个数字也是在几百以上,也就是说你所在SQLServer服务器上有好几百个数据库

相比之下,你使用的ACCESS文件只有你一个站点在使用,通过这些参数对比,就不能简单地认为使用SQLServer会比使用ACCESS获得更好的性能了

开发在开发能力方面ACCESS和SQLServer当然不在一个档次上,ACCESS没有表的外键和存储过程,可使用的SQL函数也远不如SQLServer,而且ACCESS的界面设计能力在做网站数据库时是用不上的,而且ACCESS没有提供象“SQL查询分析器”这样的自由SQL语句编写调试工具

维护在互联网上对数据库进行维护,SQLServer可以通过“企业管理器”(效果不好,经常连不上去)或“查询分析器”进行管理及维护,前提是SQLServer服务器开放了TCP/IP连接及你能直接连接到互联网或你的代理服务器开通了1433端口

而ACCESS一但把文件上传到网站之后,如果没有辅助工具或自已编写ASP脚本,是无法进行在线维护 *** 作的,唯一的方法是通过FTP把文件拿到本地进行离线 *** 作

从以上的比较可以看出,使69用ACCESS数据库在成本上是有优势,性能上也未必见差,但开发及上线后的维护能力不足,不过使用“网际数据库浏览器”可以弥补这方面的不足,这个软件可以在把ACCESS文件上传到网站后仍能在线地对ACCESS数据库进行查询、插入、更新及删除等 *** 作,这一点是其他基于ODBC连接的数据库开发辅助工具所没有的

摘要

本文主要阐述了外科医疗信息管理系统的设计思路、实现过程和实现方法。最初,我们从系统面向的用户着手,了解不同用户的各种需求,从而分析得出系统应具备的功能,并依次设计系统的模块结构和功能联系。在分析用户需求时,我们同时分析了系统管理的对象——即系统要管理的数据,把这些数据按照功能分类形成表,完成了数据库的设计。后台程序中数据库的接口也是按数据表的结构来实现的。

根据教学信息管理的特点,系统采用浏览器/服务器(B/S)模式[1],运用了基于C#语言的ASPNET技术,以SQLSERVER 2005数据库作为后台数据库,使用Visual Studio 2005开发前台页面,实现了对外科医疗信息方便、快捷的管理,不仅提高了外科医疗信息管理的效率,而且为医院工作人员之间信息的交流提供了一个便捷的平台。

系统实现的功能模块主要有:系统管理员模块,医生管理模块,护士管理模块,科室秘书管理模块,手术中管理模块。系统把这些功能模块有机的组织起来,已经具备了较高的实用价值。

关键字:信息管理系统, ASPNET, C#

ABSTRACT

Something about how to design a Surgical Medical Management Information System that will be used in a hospital is mainly discussed in this paper Also, the process and technique for carrying out this system are described detailed At first, we make a survey about the requirements of the client who is the user of this system and analyze the system to see what function should be included Lastly we devise relations between different functions and work out modules of this project Based on analysis of the object to the system, we classify these data according to their function and complete designing of the database Interface of database in background program is done based on the structure of datasheet

According to Surgical Medical Management Information System, we decide that mold of this project should be B/S mold and use ASPNET that based on C# language The database we selected is SQL Server 2005 and the web is developed by Visual Studio 2005 in foreground So it is convenient and fast to run basis instruction information and the monitor can be implemented with great efficiency A convenient flat for communication between Staffs in the hospital also be provided

Primary functional molds in this project are for Administrators module, Doctor Management module, Nurses management module, Secretary of office management module and Operation management module Because these modules are organized as an organic whole this system has high utility

KEY WORDS: Information Management System, ASPNET, C#

目录

第一章 引言 1

第二章 系统需求分析 2

21 业务系统描述 2

211 业务流程分析 2

212 业务流程图 3

22 可行性分析 4

23MIS系统的目标 4

24 项目开发计划 5

第三章 概要设计 5

31 系统目的 5

32 系统构成图 6

33 子系统清单 8

34 系统ER图 8

35 人员职责 9

351系统管理员职责 9

352 医生职责 10

353 护士职责 10

354 科室秘书职责 10

36数据库设计 11

361 实体描述 11

362 联系描述 12

363 数据库实现 13

364 计算机系统配置方案的选择和设计 17

365 系统总体安全性、可靠性方案与措施 18

366 系统安全性方案和措施 18

367 可靠性方案与措施 19

第四章 详细设计 20

41代码设计 20

42 人机界面设计 20

43 输入设计 20

44 输出设计 22

45 模块处理过程 24

第五章 实施概况 25

51 实施环境和工具 25

511 计算机系统实施 25

52 实施环境与工具的比较选择 25

521 实施环境 25

522 几种工具的特点及比较 25

523 编程环境与工具 26

524 数据准备概况 27

53 系统测试概况 27

531 系统测试的基本原则 27

532 系统测试的方法 28

54 历史数据备份、数据恢复 28

541历史数据备份 29

542 数据恢复 29

55系统运行及维护概况 30

551 系统运行概况 30

552 系统维护概况 30

第六章 小结 32

61 系统功能和特点 32

62 软件开发过程的特点和体会 32

63系统评价及改进 33

参考文献 34

致 谢 35

英文资料原文 36

英文翻译中文 43

第一章 引言 随着社会的发展,人们对健康越来越关注,医院的业务不断增长,处理越来越复杂,简单的人工经营管理,已无法满足医院的需要, 成为医院发展的瓶颈, 人们对医疗服务的要求也越来越高。传统的手工记录管理模式,病人信息繁杂,服务效率严重下降, 人工 *** 作信息,流程容易漏、错信息,走错工作流程,人工记录效率低的问题无法避免,因此,如何提高服务水平、提高工作效率,成为迫待解决的问题。医院管理信息化不仅能提高医务人员的工作效率和医疗水平,而且能提高医院的服务质量和管理水平,因此,医院对管理信息系统有着强烈的需求。美国著名教授MorrisCollen于1988年曾著文为医院信息系统(HIS)下了如下定义:利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据交换的能力,并满足所有授权用户的功能需求。开发医院外科管理信息系统(MIS)的目标就是立足医院应用实际,着眼院未来发展,以强化医院外科部门管理,提高医疗质量,方便医院员工管理病人手术信息,提高医院的服务效率和服务质量,设计一套符合功能规范要求,安全稳定, *** 作简便的医院外科管理信息系统,为医院外科部门的管理提供一套全方位的解决方案。

第二章 系统需求分析 管理信息系统是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是信息管理活动的全过程,以便有效的管理信息,提供各类管理决策信息,辅助企业进行现代化管理。管理信息系统它具备数据处理、计划、控制、预测和辅助决策功能,具体作用如下5点内容:

(1)用统一标准处理和提供信息,排除使用前后矛盾的不完整的数据。

(2)完整、及时提供在管理及决策中需要的数据。

(3)利用指定的数据关系分析数据,客观预测未来。

(4)向各级管理机构提供不同详细程度的报告,缩短分析和解释的时间。

(5)用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。

21 业务系统描述 医院的外科医疗水平和服务质量是衡量一个医院标准,仅靠增加基础设施投入和脱离信息化的管理方法的改进,是不能从根本上提高医院部门的工作效率、服务质量和管理水平的。MIS的目的就是减轻业务劳动强度,工作职责合理配置,减少了差错,科学管理外科流程,节省人力,提高医院的财、物管理水平,工作效率,增加经济效益,方便医院职工对病人信息的控制,提高医院外科部门的服务效率和服务质量,提高医院的外科部门医疗质量和管理水平。所以,一个现代化的适应社会发展需要的医院外科部门,除了具备一流的医疗队伍、一流的服务设施之外,还应具备一流的管理信息系统。

文章出处:

很不错的网站,里面有很多免费的资料

开题报告:

题目列表:

不行就定做一个吧

定做的质量要好得多

以上就是关于SQLSERVER 即将存储大量的数据,怎么设计表好点全部的内容,包括:SQLSERVER 即将存储大量的数据,怎么设计表好点、大型数据库设计原则、Sqlserver c#下 存一个菜单下的多张图片 数据库怎么设计想用一张表来解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存