《数据库设计和应用》任务训练合集
数据库设计练习5篇

数据库设计练习5篇第一篇:数据库设计练习数据库设计练习1.根据周围的实际情况,选择一个小型的数据库应用项目,例如仓库管理系统、物流管理系统、图书馆管理系统等。
2.进行系统需求分析,写出系统需求分析报告,应包括采用的设计方法、数据流图和数据字典。
3.进行系统的概念设计,使用E-R图表示对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行详细描述。
4.进行系统的逻辑设计,详细描述系统需要的基本表及属性、视图和索引,对基本表的主、外键等进行说明,对基本表中数据的约束条件进行说明。
5.在SQL Server 2005中,实现系统中所需基本表、视图、存储过程、完整性等要求的定义。
6.在建立的数据库中,插入相应示例数据,并写出实现相应功能的SQL语句。
第二篇:数据库综合练习教学设计数据库综合练习教学设计1、认知要求:熟练掌握数据库建立熟练掌握数据的查询理解数据收集处理的过程2、操作要求:使用ACCESSXX完成一次数据调查处理的全过程3、情感要求:参与调查积极主动培养团队协作精神树立合理使用电脑的观念1、引入:大家有没有遇到过街头调查?今天我们在机房里也作一次调查而且用我们所学的ACCESS数据库管理系统来处理调查数据2、学生分组调查数据的收集由教师规定每组的调查内容每组学生进行分工ACCESS操作员:建立调查表结构,记录的输入调查者:根据调查内容访问班中其他同学被调查者:接受调查者的调查老师:适时引导,及时调控数据的查询学生:根据调查内容,选择恰当的查询要求,进行查询老师:适时讲解、合理引导调查结论由组长汇报调查结论3、简要小结小结数据收集处理的过程对调查活动作评点4、作业根据本次调查内容,对其他班的同学进行调查,得出结论。
第三篇:数据库设计用户信息表allUsersuserInfoId int 用户idusername varcher(15)用户名nicename varchar(15)昵称password varchar(15)密码nationalId int民族age int 年龄sex int 性别degreeId int 学历height int 身高cityId int 籍贯userWork int 工作areaCountyId int 所在区县salary int 工资marriageId int 婚姻houseId int 住房信息headimage 相片hobby varchar(20)爱好(null)introduceYourself char(200)介绍自己 integralint积分默认值0择友要求表 allFriendRequirefriendRequireId int 择友要求id userInfoId int 用户idfriendAge_one int 年龄1friendAge_two int 年龄2friendHeight_one int 身高1friendHeight_two int 身高2friendMarriageId int 婚姻friendDegreeId int 学历friendAreaCountyId int 所在区县 friendhouseId int 住房信息住房信息表 allHousehouseId int 住房idhouse varchar(10)住房情况礼物表allGiftgiftid int 礼物idgiftpicturesId int 礼物图片giftNumber int 礼物数量userInfoId int 用户id礼物图片表allGiftPicturesgiftNumberId int 礼物图片idgiftPictures image 礼物图片oneIntegralint 单个积分价值民族表allNationalnationalId int 民族Id(关联用户信息表)nationals varchar(5)民族学历表allDegreedegreeId int 学历id(关联用户信息表)degree varchar(10)学历籍贯表allNativenativeId int 省native varchar(10)省cityId int 市城市表allCitycityId int 城市Idcity varchar(10)城市天津市区县表allAreaCounty areaCountyId int 区县id areaCounty varchar(10)区县婚姻状态表allMarriagemarriageId int 婚姻状态Idmarriage varchar(10)婚姻状态相册表allHeadsheadsId int 相片Idheads image(null)相片userInfoid 用户Id爱好表allHobbyhobbyId int 爱好idhobby varchar(10)爱好信息表(收发信件)allInformation informationId int 信息id InformationTitle varchar(50)信件标题Information varchar(200)信息内容outId int 是否已读fromInformationUserinfoId int 发信人idtoInformationUserinfoId int 收信人Id文章表allTitlearticleId int 文章iduserInfoId int 用户idtitle varchar(100)标题content text 文章内容最近查看allLookuplookmeUserInfoidone int 我看的用户id(依次来5个)mylookUserInfoidone int 看我的用户id(依次来5个)收藏表allCollectionuserInfoId int 用户idcollectionUserInfoId int 收藏的用户Id第四篇:数据库设计东北大学东软信息学院数据库原理与应用实验报告姓名:班级:学号: [实验名称]:数据库设计 [实验日期]: [实验目的]: [实验要求]:业务需求:银行有多个支行。
(完整版)数据库原理和应用(第2版)习题参考答案解析

第1章数据概述一.选择题1.下列关于数据库管理系统的说法,错误的是CA.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名2.下列关于用文件管理数据的说法,错误的是DA.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率3.下列说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失5.在数据库系统中,数据库管理系统和操作系统之间的关系是DA.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行6.数据库系统的物理独立性是指DA.不会因为数据的变化而影响应用程序B.不会因为数据存储结构的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储结构D.不会因为数据逻辑结构的变化而影响应用程序7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件8.数据库系统是由若干部分组成的。
下列不属于数据库系统组成部分的是BA.数据库B.操作系统C.应用程序D.数据库管理系统9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是DA.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件C.客户/服务器结构比文件服务器结构的网络开销小D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。
数据库大作业(全·参考答案)

《数据库原理与应用》综合设计任务书前言《数据库原理与应用》课程的重点知识模块包括:1)数据库设计、2)用SQL实现建库、建表、查询、更新、和创建视图、3)存储过程和触发器设计。
针对这三个应用能力,用一个案例作为背景,布置三次大作业。
在校大学生都能理解“图书管理系统”的应用场合和业务流程。
因此,以图书管理系统作为案例来布置作业,可以降低业务分析难度,让学生将主要精力放在知识消化与技术应用上。
本文档包括四个部分。
第一部分描述系统的需求,第二部分提出E-R模型设计和关系模型设计的任务;第三部分提出在SQL Server中,用SQL语句来建库、建表、查询、更新数据、创建视图的任务;第四部分,根据应用需求、安全需求和数据完整性要求,提出设计存储过程和触发器的任务。
每个任务之前,都给出了完成任务所需要掌握的关键知识点,学生可以在对这些知识点进行复习的基础上完成任务,每个任务是一次大作业。
第一部分案例的需求描述本部分描述“图书管理系统”的需求,学生通过阅读本部分内容,了解系统的功能要求、运行环境,对系统所需的数据有总体认识,作为三次作业的基础。
1.2 需求分析1)功能需求图1-1:功能需求示意图教师信息管理:用于教师基本资料的增删改查。
图书信息管理:用于图书基本信息的增删改查,分类统计图书册数和价值。
借书登记:记录借书时间、所借图书、借书人、办理人。
还书登记:记录还书时间、所还图书、还书人、办理人。
催还:查询借阅逾期的借书信息,给借书人发电子邮件,给借书人的部门打电话。
2)运行环境要求图1-2:运行环境拓扑图系统采用C/S模式,有两台PC和一台服务器,联成一个局域网。
PC上安装图书管理软件的客户端,服务器上安装DBMS,服务器也可由两台PC中的一台来代替。
第二部分作业1——E-R模型与关系模型设计(满分8分)本部分的任务是:在需求分析的基础上,进行E-R图设计,然后将E-R模型转换为关系模型。
任务:1)根据需求描述,绘制E-R图。
NoSQL数据库设计与应用测试

NoSQL数据库设计与应用测试(答案见尾页)一、选择题1. NoSQL数据库的主要特点是什么?A. 高性能B. 高可扩展性C. 高可用性D. 以上都是2. 在NoSQL数据库中,哪种数据模型最适合处理大规模数据集?A. 关系模型B. 键值对模型C. 文档模型D. 列族模型3. NoSQL数据库通常用于哪些场景?A. 交易密集型应用B. 内存密集型应用C. 大规模数据分析D. 以上都是4. 在设计NoSQL数据库时,如何确保数据的最终一致性?A. 使用最终一致性模型B. 同步复制C. 异步复制D. 以上都是5. 如何在NoSQL数据库中进行水平扩展?A. 添加更多的服务器B. 使用分布式缓存C. 优化数据模型D. 以上都是6. 在进行NoSQL数据库的应用测试时,如何模拟高并发场景?A. 使用负载均衡器B. 扩展数据模型C. 使用消息队列D. 以上都是7. NoSQL数据库通常不具备哪种特性?A. 分片B. 复制C. 事务D. 索引8. 在NoSQL数据库中,哪种查询方式通常具有较高的性能?A. 哈希查询B. 范围查询C. 索引查询D. 文本搜索9. 如何在NoSQL数据库中实现数据备份和恢复?A. 使用内置的备份工具B. 定期手动备份数据C. 使用云服务进行备份D. 以上都是10. 在进行NoSQL数据库的性能调优时,以下哪个因素最不重要?A. 硬件资源B. 数据模型C. 查询语句D. 网络带宽11. NoSQL数据库的特点是什么?A. 高可扩展性B. 高可用性C. 低数据一致性D. 以上都是12. 在NoSQL数据库中,哪种数据结构最适合处理大量数据?A. 关系模型B. 键值对模型C. 文档模型D. 列族模型13. NoSQL数据库与传统关系数据库的主要区别是什么?A. 数据存储方式B. 数据访问速度C. 数据一致性模型D. 数据模型14. 在设计NoSQL数据库时,如何确保数据的可用性和持久性?A. 使用高可用性的硬件和网络架构B. 采用分布式架构和数据复制技术C. 设置适当的数据备份策略D. 以上都是15. 如何在NoSQL数据库中进行数据一致性保证?A. 通过事务管理实现B. 依赖最终一致性模型C. 使用分布式锁机制D. 以上都是16. 在NoSQL数据库中,哪个术语描述了数据被分组存储在一组节点上的事实?A. 分片B. 复制C. 分区D. 负载均衡17. 在NoSQL数据库中,如何处理大量数据的高并发读写操作?A. 使用缓存技术B. 优化数据模型C. 采用分布式架构D. 以上都是18. 在选择合适的NoSQL数据库时,需要考虑哪些因素?A. 数据类型B. 业务需求C. 成本预算D. 以上都是19. NoSQL数据库在哪些场景下表现最好?A. 事务处理B. 流式处理C. 内存中的数据处理D. 以上都是20. NoSQL数据库主要包括哪些类型?A. 关系型数据库B. 键值存储数据库C. 列族存储数据库D. 文档存储数据库E. 图数据库21. 在NoSQL数据库中,哪种类型的数据库适用于处理大规模数据集?A. 关系型数据库B. 键值存储数据库C. 列族存储数据库D. 文档存储数据库E. 图数据库22. NoSQL数据库与传统关系型数据库的主要区别是什么?A. 数据模型B. 查询语言C. 数据一致性D. 数据备份和恢复E. 性能优化23. 在设计NoSQL数据库时,如何确保数据的可扩展性和高性能?A. 选择合适的数据模型B. 使用分布式架构C. 优化索引策略D. 实现数据分片E. 采用缓存技术24. 在NoSQL数据库中,如何处理高并发访问?A. 使用锁机制B. 优化查询语句C. 引入分布式缓存D. 采用负载均衡技术E. 使用消息队列25. 如何在NoSQL数据库中进行数据备份和恢复?A. 使用内置的备份工具B. 定期手动备份数据C. 使用快照功能D. 配置数据恢复计划E. 将数据存储在多个地理位置26. 在NoSQL数据库中,如何保证数据的安全性?A. 使用强密码策略B. 启用数据加密C. 实施访问控制列表(ACL)D. 定期进行安全审计E. 使用防火墙和入侵检测系统27. 在NoSQL数据库中,如何实现数据的容错和高可用性?A. 使用数据复制技术B. 实施数据备份和恢复策略C. 使用分布式架构D. 采用负载均衡技术E. 使用故障转移机制28. 在NoSQL数据库中,如何进行性能调优?A. 选择合适的数据结构和算法B. 调整数据库配置参数C. 使用索引来加速查询D. 优化查询语句E. 引入分布式缓存29. 在NoSQL数据库中,如何解决数据一致性问题?A. 使用最终一致性模型B. 实施事务支持C. 使用冲突解决机制D. 采用读写分离策略E. 使用分布式锁30. 在NoSQL数据库中,哪种数据模型最适合处理大量非结构化数据?A. 文档模型B. 键值对模型C. 列族模型D. 图模型31. 如何对NoSQL数据库进行性能调优?A. 调整缓存大小B. 改变数据模型C. 增加索引D. 扩展硬件资源32. 在NoSQL数据库中,哪种一致性模型提供了最强的数据完整性保证?A. 最终一致性B. 读写一致性C. 强一致性D. 弱一致性33. 如何在NoSQL数据库中进行故障恢复?A. 使用备份和恢复功能B. 使用日志截断C. 使用数据校验和D. 使用多副本策略34. 在设计NoSQL数据库时,以下哪项不是常用的数据分区策略?A. 基于范围的分区B. 基于哈希的分区C. 基于目录的分区D. 基于地理位置的分区35. 在进行NoSQL数据库的应用测试时,以下哪项不是常见的测试用例类型?A. 功能测试B. 性能测试C. 安全测试D. 兼容性测试36. 在NoSQL数据库中,如何确保数据的持久性和可靠性?A. 使用事务B. 数据备份和恢复机制C. 限制并发访问D. 以上都是37. 在NoSQL数据库中,哪种查询方式通常具有较高的查询效率?A. 关系型查询B. 文档查询C. 列族查询D. 图查询38. 在设计NoSQL数据库的模式时,以下哪项不是常用的数据约束?A. 主键约束B. 外键约束C. 唯一约束D. 非空约束39. 在NoSQL数据库中,如何处理数据的一致性和可用性之间的权衡?A. 通过数据分片技术B. 通过读写分离技术C. 通过复制集技术D. 以上都是二、问答题1. 什么是NoSQL数据库?请简要描述其与传统关系型数据库的区别。
《SQL Server 2014数据库及应用》100007《数据库管理与应用》实训任务单

《数据库应用与管理(SQL Server)》课程
实训(验)项目单
编制部门:编制人:审核人: 编制日期:年月日
项目编号7-1 项目名称Windows应用程序开发训练对象学时 2 课程名称数据库应用与管理(SQL Server)教材SQL Server数据库及应用
要求递交递交时间
目的了解使用Visual Studio开发访问SQL Server数据库的Windows应用程序
内容(方法、步骤、要求或考核标准)
一、实训设备与工具
1.安装SQL Server数据库系统
2.安装Visual Studio开发环境
二、实训步骤、方法与要求
1.新建Windows项目
2.放置DataGridView控件以准备显示数据
3.在窗体的Load事件中编写代码访问Course表
4.编写代码将查询结果数据赋给DataGridView控件
5. 运行测试,结果类似下图
6. 写出实训时碰到的问题以及解决问题的办法,完成本次实训的体会。
三、评分标准
步骤,1-4步骤每步20分。
2.在实训报告中,知识点描述(10分),难点及解决办法或体会(10分)
《数据库应用与管理(SQL Server)》课程
实训(验)项目单
编制部门:编制人:审核人: 编制日期:年月日
6. 写出实训时碰到的问题以及解决问题的办法,完成本次实训的体会。
三、评分标准
1.是否能正确实现各步骤,1-4步骤每步20分。
2.在实训报告中,知识点描述(10分),难点及解决办法或体会(10分)。
数据库原理及应用SQL习题集含答案教案

contents
目录
• 数据库基础知识 • SQL语言基础 • 数据库查询优化与索引设计 • 存储过程、触发器和函数应用 • 数据库安全性与完整性保障措施 • 数据库恢复、并发控制及事务管理 • SQL习题集精选与答案解析
01
数据库基础知识
数据库概念及特点
位图索引
适用于低基数列(即列中不同 值的数量较少)的场景,如性 别、婚姻状况等。
全文索引
适用于文本数据的全文搜索场 景,如博客、新闻等。
索引创建、维护和删除操作
创建索引
使用CREATE INDEX语句创建索引,可以指定索 引类型、列名等参数。
删除索引
使用DROP INDEX语句删除不再需要的索引, 以释放存储空间和减少维护开销。
事务处理方式
包括事务的开始与结束、事务的 提交与回滚、事务的并发控制等。 同时,还需要考虑事务的隔离级 别和传播行为等因素。
07
SQL习题集精选与答案解析
选择题部分精选
• 题目1:SQL语言中,用于实现数据检索的 语句是____。
选择题部分精选
A. SELECT B. INSERT C. UPDATE
通过冗余数据来重建数据库, 包括日志文件和数据备份等。
数据库恢复技术
包括基于日志的恢复、基于备 份的恢复和基于镜像的恢复等。
并发操作带来问题及其解决方法
并发操作带来的问题
01
包括丢失更新、脏读和不可重复读等。
并发控制方法
02
包括封锁、时间戳和乐观并发控制等。
封锁协议
03
包括一级封锁协议、二级封锁协议和三级封锁协议,用于保证
A
B
(完整版)数据库原理及应用习题(有答案)

假设教学管理规定:
①一个学生可选修多门课,一门课有若干学生选修;
②一个教师可讲授多门课,一门课只有一个教师讲授;
③一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
要求:根据上述语义画出 ER 图,要求在图中画出实体的属性并注明联系的类型;
(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。 (2)检索年龄大于 21 的男学生学号(S#)和姓名(SNAME)。 (3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 (4)检索”李强”同学不学课程的课程号(C#)。 (5)检索至少选修两门课程的学生学号(S#)。 (6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 (7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。
4、SQL 语言具有两种使用方式,分别称为交互式 SQL 和 嵌入式 SQL 。
5、假定学生关系是 S(S#,SNAME,SEX,AGE),课程关系是 C(C#,CNAME,TEACHER),学生选课关系是
SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 S,C,SC 。
三:简答题:
1. 什么是数据库?
答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行
组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据
独立性和易扩展性。
2. 什么是数据库的数据独立性?
答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理
《数据库技术与应用》第14章数据库设计 习题答案

第14章数据库设计1. 简述数据库设计的步骤。
解:数据库设计的步骤可以分为以下六个阶段:系统需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。
(1)需求分析阶段进行数据库设计首先必须准确了解与分析用户对系统的信息需求和处理需求,并建立系统说明文档。
需求分析是整个设计过程的基础,是最困难、最耗费时间的一步,但也是最重要的一步。
需求分析做得是否充分与准确,决定了数据库设计的速度与质量。
需求分析做得不好,甚至会导致整个数据库设计返工重做。
需求说明书是需求分析阶段的成果,也是后续阶段设计的依据。
(2)概念结构设计阶段概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
一般使用E-R图来表示数据与数据之间的联系。
(3)逻辑结构设计阶段逻辑结构设计是将概念模型转换为某个DBMS所支持的数据模型,并对其进行优化。
(4)物理结构设计阶段数据库物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构,主要包括数据的存储结构和存取方法。
(5)数据库实施阶段在数据库实施阶段,设计人员运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序。
组织数据入库,并进行试运行。
(6)数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
投入运行后由DBA来承担数据库系统的日常维护。
2. 需求分析阶段的设计目标是什么?调查的内容是什么?解:需求分析阶段的设计目标是对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能接受的文档。
调查的内容是:(1) 调查组织机构情况。
(2) 调查各部门的业务活动情况。
(3) 在熟悉业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库设计与应用》任务训练合集综合评定_____________目录任务一全面准确地提取软件系统的数据需求 (3)1.1 概述 (3)1.2 项目视图与范围约束 (3)1.3功能需求分析 (4)1.4 数据需求分析 (4)1.5 小结 (4)任务二依据数据需求设计E-R模型 (5)2.1 E-R模型设计工具 (5)2.2 本项目E-R模型 (5)2.3 小结 (5)任务三依据E-R模型设计关系模型 (6)3.1 逻辑模型设计方法 (6)3.2 本项目关系模型 (6)3.3 小结 (6)任务四安装并配置SQL Server 2005 (7)4.1 安装并配置SQL_Server2005 (7)4.2 安装其他DBMS (7)4.3 小结 (8)任务五在SQL_Server2005中建立符合需求的数据库 (9)5.1 数据库选型 (9)5.2 物理设计 (9)5.3 表结构设计 (9)5.4 涉及到的SQL语句 (10)5.5 小结 (11)任务六利用SSMS管理SQL_Server2005服务器 (12)6.1 创建表结构 (12)6.2 涉及到的SQL语句 (13)6.3 小结 (13)任务七利用SQL管理SQL_Server2005服务器 (14)7.1 涉及到的SQL语句 (14)7.2 小结 (15)任务八运用C#.NET开发基于SQL_SERVER2005的软件系统 (16)8.1 存储过程 (16)8.2 本项目的简单界面 (16)8.3 本项目数据库访问的部分代码 (16)8.4 小结 (17)任务九运行并维护SQL_SERVER2005服务器 (18)9.1 本项目安全性设计 (18)9.2 SQL2005的常规维护 (18)9.3 小结 (18)任务一全面准确地提取软件系统的数据需求1.1 概述本系统的目的是建立一个简明的门诊管理系统,该系统由两部分组成:工作员挂号模块和医生诊疗模块,该系统可以为门诊病人提供挂号、就诊的服务。
涉及到的人员有:病人、医院挂号员和医生。
病人看病流程:挂号处排队→挂号、交费、拿挂号单→带着挂号单去门诊科室排队→医生看病→缴费、拿药→结束挂号员工作流程:凭用户名、密码登陆挂号系统→……→询问病人信息、挂号科室、收费→录入系统、打印挂号单→下一位病人挂号→……医生诊疗流程:凭用户名、密码登陆门诊系统→……→呼叫下一位病人→询问病情、给出诊断、开药→录入系统→呼叫下一位病人→……1.2 项目视图与范围约束为了让案例清晰易懂,在不影响整体门诊流程的情况下,我们刻意忽略了以下一些会急剧增加软件复杂度的元素:(1)专家门诊。
一般三级医院都开设有专家门诊,与普通门诊并行,医生来自同一个科室却采用不同的挂号计费方式,若增加专家门诊,挂号、就诊等将会非常复杂,所以暂不考虑专家门诊。
(2)挂号员、医生、后台管理员的排班制。
实际医院各部门都会有排班制度,员工不当班时是无法登陆HIS的,若增加则权限管理复杂度上升,本系统暂时忽略。
(3)医保。
实际医院会根据病人医保性质的不同而采用各异的计费方式,如城市医保、农保、老干部等,本系统暂时忽略。
(4)化验检测及药房。
病人就诊时有时需要做化验或仪器检查,这就涉及到与化验检验工作站的对接,本系统暂不考虑化验与仪器检验,假设所有病人只需要医生问诊即可诊断;医生开药会涉及药房管理模块的对接,本系统假设医生开药以文本的形式保存在诊疗记录中。
(5)系统管理员。
医院基础数据,如医生信息、科室信息等都需要管理员事先录入,这一部分与当前系统关联不大,故忽略。
(6)各类日志。
从安全角度考虑,一般HIS都会设置日志功能,记录用户的各种操作,本简明系统暂忽略。
(7)一些涉及医院管理规章的数据暂不专门设置数据库来管理,如每天挂号人数上限,医生看病人数上限,工作时间等。
(8)不考虑特殊情况:病人挂号后去看病(在本系统中将出现医生死等情况)。
1.3功能需求分析1.3.1挂号员(1)挂号员可以根据用户名和密码登陆挂号系统,也可以退出系统;(2)挂号员可以添加新挂号的病人信息(姓名、性别、年龄、家庭住址),也可以查阅以前挂过号的病人基本信息;(3)挂号员根据病人的要求,为其选择相应的科室,由系统自动排就诊顺序,并打印挂号单;(4)挂号员可以看到今天所有挂号情况(病人姓名、科室、挂号费、时间);(5)挂号员可以为病人退号。
1.3.2门诊医生(1)医生可以根据用户名和密码登陆门诊系统,也可以退出系统;(2)医生可以查看当前病人的基本信息(病历本号、姓名、性别、年龄、家庭住址),并可修改;(3)医生可以查看当前病人的既往病史:以往在本院的看病信息(时间、医生、科室、诊断),也可以查看每次看病的具体情况(症状、诊断、配药、备注);(4)医生根据当前病人的实际情况录入:症状、诊断、配药、备注;(5)医生在当前病人看病结束后召唤本科室下一位病人。
1.4 数据需求分析(1)医院有多个科室,每个科室有多位医生;一位医生只能属于一个科室;(2)系统需要记录科室的名称、科室地址等信息;(3)系统需要记录医生的工号、姓名、性别、职称、登陆名、密码、所属科室等信息;(4)系统需要记录挂号员的工号、姓名、登陆名、密码等信息;(5)系统需要记录病人的病例号、姓名、性别、出生年月、家庭地址、就诊状态等信息;(6)挂号员在给病人挂号时需要记录:挂号时间、挂号科室、挂号费等;(7)医生看病时需记录该病人的症状、诊断、配药,并做适当备注;(8)一个病人只能有一个就诊状态;就诊状态需要记录编号、名称、备注信息;1.5 小结任务一花了很多时间进行了修改,特别是软件功能需求和数据需求,主要问题是我们第一次做软件,没有计算机思想,用文档描述现实需求的能力较弱,这需要老师进行多次指导。
当然,通过进行数据需求分析,我们切实感受到软件开发的一般过程,领会到将客观世界转化为文字描述的复杂性与难度。
本数据需求我们先后改了5遍,剔除了很多容易引起误解或增加复杂度的部分,现在应该能基本满足课程要求。
任务二依据数据需求设计E-R模型2.1 E-R模型设计工具Microsoft Visio 20032.2 本项目E-R模型2.3 小结任务二…………………………………………任务三依据E-R模型设计关系模型3.1 逻辑模型设计方法(1)每个实体集转化为一个关系模式,其中:实体集的名称转化为关系模式的名称,实体集的属性转化为关系模式的属性,实体集的码转化为关系模式的码。
(2)将联系集转化为关系模式,分三种情况两种处理:一对多的联系集向多的一方合并;多对多的联系集生成新的关系模式;一对一的联系集往多的一方合并或生成新的关系模式。
(3)确定参照完整性。
(4)综合评价。
3.2 本项目关系模型病人(病人ID,姓名,性别,出生年月,家庭地址,就诊状态)就诊状态是外码;医生(医生ID,登录名,密码,姓名,性别,所属科室,职称)所属科室是外码;科室(编号,科室名,科室地址);挂号员(挂号员ID,姓名,登录名,密码);就诊状态(ID,就诊状态名,备注);挂号(ID,病人ID,科室ID,挂号员ID,挂号时间,挂号费用,就诊次序)病人ID、科室ID、挂号员ID是外码;诊疗(ID,医生ID,病人ID,诊疗时间,症状,诊断,配药,备注)病人ID、医生ID是外码。
3.3 小结任务三…………………………………………任务四安装并配置SQL Server 20054.1 安装并配置SQL_Server2005(1)问题:windowsXP上不能安装EnterPrise版本。
解决:安装developer版。
(2)问题:安装过程中出错,提示“性能计数器要求……”,无法继续安装。
解决:修改注册表“[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib”相关数值,重新启动安装。
具体参见网址/submaie/archive/2006/02/07/326538.html4.2 安装其他DBMS4.3 小结任务四…………………………………………任务五在SQL_Server2005中建立符合需求的数据库5.1 数据库选型考虑到本系统中数据库与应用软件可能不在同一台电脑上,所以采用网络数据库,这里选择microsoft SQL_Server2005。
5.2 物理设计(1)硬件环境:x86 系列CPU主频1GHz以上,内存1GB以上,网卡100/1000Mbps自适应(2)软件环境:windowsXP操作系统,SQL_Server2005 Developer Edition (3)存储结构等:按SQL_Server安装路径,按照数据库默认参数。
5.3 表结构设计数据库名为HIS5.4 涉及到的SQL语句Create database HIS5.5 小结任务五…………………………………………任务六利用SSMS管理SQL_Server2005服务器6.1 创建表结构6.2 涉及到的SQL语句(1)创建表结构--创建病人表create table patient(p_ID int primary key,p_name nvarchar(50),p_sex nvarchar(1),p_birth smalldatetime,p_address nvarchar(200),p_status int,foreign key(p_status)references patientstatus(ps_id),)(2)修改表结构--修改病人表,增加一列身份证号码ccidAlter table patient add ccid nvarchar(18)(3)删除表结构--删除病人表Drop table patient(4)插入数据--插入一行新病人信息Insert into patient (p_name,p_sex,p_address,p_status)values('王小丫','女',NULL,4)(5)修改数据--修改病人信息Update patient set p_address='常州市新北区黄河中路号'where p_id = 12 (6)删除数据--删除某个病人Delete from patient where p_id=12(7)创建索引--为挂号表在病人ID列上增加非聚集索引create index i_reg_pid on register(reg_patientid)6.3 小结任务六…………………………………………任务七利用SQL管理SQL_Server2005服务器7.1 涉及到的SQL语句(1)简单查询--查询所有病人姓名、年龄select p_name as姓名,year(getdate())-year(p_birth)+1 as年龄from patient(2)连接查询--查询与吕正太医生同科室的医生信息select doctor.*from doctor,doctor as D2where doctor.d_depid=D2.d_depid and D2.d_name='吕正太'(3)子查询--查询与吕正太医生同科室的医生信息select*from doctorwhere d_depid=(select d_depid from doctor where d_name='吕正太')(4)复杂的单表查询--查询男医生人数大于2的科室编号及男医生人数,结果按男医生人数降序排列select d_depid as科室编号,count(d_id)as男医生人数from doctorwhere d_sex='男'group by d_depidhaving count(d_id)>2order by男医生人数(5)复杂的多表查询--统计年月份看病人次不少于的医生姓名、次数,结果按照次数降序排列select doctor.d_name,count(diagnosis.dia_id)as人次from doctor ,diagnosiswhere(doctor.d_id=diagnosis.dia_doctorid)and(diagnosis.dia_time between'2011-9-1'and'2011-9-30')group by doctor.d_namehaving count(diagnosis.dia_id)>=1order by人次desc(6)创建视图--创建视图V_呼吸科医生,反应的是呼吸科的医生信息create view v_呼吸科医生asselect*from doctorwhere d_depid=(select dep_id from department where dep_name='呼吸科')7.2 小结任务七…………………………………………任务八运用C#.NET开发基于SQL2005的软件系统8.1 存储过程--老病人挂号UP_InsertRegisterOld--输入参数有个,输出参数个,若<0则表示挂号失败,若>0则表示挂号编号,即reg_id值create procedure UP_InsertRegisterOld@reg_patientid int,@reg_depid int,@reg_fee int,@reg_workerid int,@r_flag int outputasbegindeclare @reg_order intselect @reg_order =max(reg_order)from register where(reg_depid=@reg_depid)and((datediff(day,reg_time,getdate())=0))if @reg_order is null set @reg_order =1else set @reg_order=@reg_order+1--从挂号信息中取得该科室挂号序号,若本科室未有挂号病人,则该病人序号设置为insert into register(reg_patientid,reg_depid,reg_time,reg_fee,reg_order,reg_workerid) values(@reg_patientid,@reg_depid,getdate(),@reg_fee,@reg_order,@reg_workeri d)--插入当前病人挂号信息if@@error<>0 set @r_flag=-1 else set @r_flag=@@identityend8.2 本项目的简单界面8.3 本项目数据库访问的部分代码8.4 小结任务八…………………………………………任务九运行并维护SQL_SERVER2005服务器9.1 本项目安全性设计--为服务器增加一个新登录名usr_his_soft,为his数据库增加一用户his_admin,权限为db_owner,并将这两个用户相关联;后软件通过该登录名访问HIS数据库。